Package org.geotools.data.shapefile.shp
Class ShapefileWriter
Object
ShapefileWriter
- All Implemented Interfaces:
Closeable
,AutoCloseable
ShapefileWriter allows for the storage of geometries in esris shp format. During writing, an index will also be
created. To create a ShapefileWriter, do something like
GeometryCollection geoms;
File shp = new File("myshape.shp");
File shx = new File("myshape.shx");
ShapefileWriter writer = new ShapefileWriter(
shp.getChannel(),shx.getChannel()
);
writer.write(geoms,ShapeType.ARC);
This example assumes that each shape in the collection is a LineString.- Author:
- jamesm, aaime, Ian Schneider
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionShapefileWriter
(FileChannel shpChannel, FileChannel shxChannel) Creates a new instance of ShapeFileWriter -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the underlying Channels.void
Allocate internal buffers and position the channels to the beginning or the record section of the shapefile.void
write
(GeometryCollection geometries, ShapeType type) Bulk write method for writing a collection of (hopefully) like geometries of the given ShapeType.void
Write a single Geometry to this shapefile.void
writeHeaders
(Envelope bounds, ShapeType type, int numberOfGeometries, int fileLength) Write the headers for this shapefile including the bounds, shape type, the number of geometries and the total fileLength (in actual bytes, NOT 16 bit words).protected int
-
Constructor Details
-
ShapefileWriter
Creates a new instance of ShapeFileWriter- Throws:
IOException
-
-
Method Details
-
writeHeaders
public void writeHeaders(Envelope bounds, ShapeType type, int numberOfGeometries, int fileLength) throws IOException Write the headers for this shapefile including the bounds, shape type, the number of geometries and the total fileLength (in actual bytes, NOT 16 bit words).- Throws:
IOException
-
skipHeaders
Allocate internal buffers and position the channels to the beginning or the record section of the shapefile. The headers MUST be rewritten after this operation, or the file may be corrupt...- Throws:
IOException
-
writeGeometry
Write a single Geometry to this shapefile. The Geometry must be compatable with the ShapeType assigned during the writing of the headers.- Throws:
IOException
-
writeNullGeometry
- Throws:
IOException
-
close
Close the underlying Channels.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
write
public void write(GeometryCollection geometries, ShapeType type) throws IOException, ShapefileException Bulk write method for writing a collection of (hopefully) like geometries of the given ShapeType.- Throws:
IOException
ShapefileException
-