Class SHPDriver
java.lang.Object
org.h2gis.functions.io.shp.internal.SHPDriver
- All Implemented Interfaces:
org.h2gis.api.FileDriver
Merge ShapeFileReader and DBFReader.
TODO Handle SHP without SHX and/or DBF
How to use:
In Write mode,
Declare fields by calling
initDriver(File, ShapeType, DbaseFileHeader) Driver(java.io.File, ShapeType, org.h2gis.drivers.dbf.internal.DbaseFileHeader)}
then write row using- Author:
- Nicolas Fortin
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()intgetEstimatedRowSize(long rowId) org.h2.value.ValuegetField(long rowId, int column) intintlongintgetSrid()Get the SRID codevoidinitDriver(File shpFile, ShapeType shapeType, DbaseFileHeader dbaseHeader) Init Driver for Write modevoidinitDriverFromFile(File shpFile) Init this driver from existing files, then open theses files.voidinitDriverFromFile(File shpFile, String forceEncoding) Init this driver from existing files, then open theses files.voidInsert values in the rowvoidsetGeometryFieldIndex(int geometryFieldIndex) voidsetSRID(int srid) Set a SRID code that will be used for geometries.
-
Field Details
-
shpFile
-
shxFile
-
dbfFile
-
prjFile
-
-
Constructor Details
-
SHPDriver
public SHPDriver()
-
-
Method Details
-
setGeometryFieldIndex
public void setGeometryFieldIndex(int geometryFieldIndex) - Parameters:
geometryFieldIndex- The geometry field index in getRow() array.
-
insertRow
Insert values in the row- Specified by:
insertRowin interfaceorg.h2gis.api.FileDriver- Parameters:
values-- Throws:
IOException
-
getGeometryFieldIndex
public int getGeometryFieldIndex()- Returns:
- The geometry field index in getRow() array.
-
initDriver
public void initDriver(File shpFile, ShapeType shapeType, DbaseFileHeader dbaseHeader) throws IOException Init Driver for Write mode- Parameters:
shpFile-shapeType-dbaseHeader-- Throws:
IOException
-
initDriverFromFile
Init this driver from existing files, then open theses files.- Parameters:
shpFile- Shape file path.- Throws:
IOException
-
initDriverFromFile
Init this driver from existing files, then open theses files.- Parameters:
shpFile- Shape file path.forceEncoding- If defined use this encoding instead of the one defined in dbf header.- Throws:
IOException
-
getDbaseFileHeader
- Returns:
- Dbase file header
-
getRowCount
public long getRowCount()- Specified by:
getRowCountin interfaceorg.h2gis.api.FileDriver
-
getShapeFileHeader
- Returns:
- ShapeFile header
-
close
- Specified by:
closein interfaceorg.h2gis.api.FileDriver- Throws:
IOException
-
getFieldCount
public int getFieldCount()- Specified by:
getFieldCountin interfaceorg.h2gis.api.FileDriver
-
getEstimatedRowSize
public int getEstimatedRowSize(long rowId) - Specified by:
getEstimatedRowSizein interfaceorg.h2gis.api.FileDriver
-
getField
- Specified by:
getFieldin interfaceorg.h2gis.api.FileDriver- Throws:
IOException
-
setSRID
public void setSRID(int srid) Set a SRID code that will be used for geometries.- Parameters:
srid-
-
getSrid
public int getSrid()Get the SRID code- Returns:
-