Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * h2spatial is a library that brings spatial support to the H2 Java database.
   *
   * h2spatial is distributed under GPL 3 license. It is produced by the "Atelier SIG"
   * team of the IRSTV Institute <http://www.irstv.fr/> CNRS FR 2488.
   *
   * Copyright (C) 2007-2014 IRSTV (FR CNRS 2488)
   *
   * h2patial is free software: you can redistribute it and/or modify it under the
  * terms of the GNU General Public License as published by the Free Software
  * Foundation, either version 3 of the License, or (at your option) any later
  * version.
  *
  * h2spatial is distributed in the hope that it will be useful, but WITHOUT ANY
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along with
  * h2spatial. If not, see <http://www.gnu.org/licenses/>.
  *
  * For more information, please consult: <http://www.orbisgis.org/>
  * or contact directly:
  * info_at_ orbisgis.org
  */
 /*
  *    GeoTools - OpenSource mapping toolkit
  *    http://geotools.org
  *    (C) 2002-2006, Geotools Project Managment Committee (PMC)
  *    (C) 2002, Centre for Computational Geography
  *
  *    This library is free software; you can redistribute it and/or
  *    modify it under the terms of the GNU Lesser General Public
  *    License as published by the Free Software Foundation; either
  *    version 2.1 of the License, or (at your option) any later version.
  *
  *    This library is distributed in the hope that it will be useful,
  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  *    Lesser General Public License for more details.
  */
 package org.h2gis.drivers.shp.internal;
 
 

Author(s):
jamesm
Ian Schneider
Source:
$URL: http://svn.geotools.org/geotools/tags/2.3.1/plugin/shapefile/src/org/geotools/data/shapefile/shp/ShapefileHeader.java $
 
 public class ShapefileHeader {
         
 	public static final int MAGIC = 9994;
 
 	public static final int VERSION = 1000;
 
 	private int fileCode = -1;
 
 	private int fileLength = -1;
 
 	private int version = -1;
 
 
 	private double minX;
 
 	private double maxX;
 
 	private double minY;
 
 	private double maxY;
 
 	private void checkMagic() throws IOException {
 		if ( != ) {
 			throw new IOException("Wrong magic number, expected "
 					+  + ", got " + );
 		}
 	}
 
 	private void checkVersion() throws IOException {
 		if ( != ) {
             throw new IOException("Wrong version, expected " + 
 					+ ", got " + );
 		}
 	}
 
 	public void read(ByteBuffer file)
 			throws IOException {
 		 = file.getInt();
 
 
 		// skip 5 ints...
		file.position(file.position() + 20);
		 = file.getInt();
		 = file.getInt();
		 = ShapeType.forID(file.getInt());
		 = file.getDouble();
		 = file.getDouble();
		 = file.getDouble();
		 = file.getDouble();
		// skip remaining unused bytes
		file.order(.);// well they may not be unused
		// forever...
		file.position(file.position() + 32);
	}
	public void write(WriteBufferManager shapeBufferShapeType type,
			int numGeomsint lengthdouble minXdouble minYdouble maxX,
			double maxYthrows IOException {
		shapeBuffer.putInt();
		for (int i = 0; i < 5; i++) {
			shapeBuffer.putInt(0); // Skip unused part of header
		}
		shapeBuffer.putInt(length);
		shapeBuffer.putInt();
		shapeBuffer.putInt(type.id);
		// write the bounding box
		shapeBuffer.putDouble(minX);
		shapeBuffer.putDouble(minY);
		shapeBuffer.putDouble(maxX);
		shapeBuffer.putDouble(maxY);
		// skip remaining unused bytes
		for (int i = 0; i < 8; i++) {
			shapeBuffer.putInt(0); // Skip unused part of header
		}
	}
	public ShapeType getShapeType() {
		return ;
	}
	public int getVersion() {
		return ;
	}
	public int getFileLength() {
		return ;
	}
	public double minX() {
		return ;
	}
	public double minY() {
		return ;
	}
	public double maxX() {
		return ;
	}
	public double maxY() {
		return ;
	}
        @Override
	public String toString() {
                res.append("ShapeFileHeader[ size ").append().append(" version ");
                res.append().append(" shapeType ").append();
                res.append(" bounds ").append().append(",").append();
                res.append(",").append().append(",").append().append(" ]");
		return res.toString();
	}
New to GrepCode? Check out our FAQ X