Class ShapefileWriter

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class ShapefileWriter
    extends Object
    implements Closeable
    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:
    ShapefileDataStore
    • Method Detail

      • 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

        public void skipHeaders()
                         throws IOException
        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

        public void writeGeometry​(Geometry g)
                           throws IOException
        Write a single Geometry to this shapefile. The Geometry must be compatable with the ShapeType assigned during the writing of the headers.
        Throws:
        IOException