Class SHPDriver
- java.lang.Object
-
- org.h2gis.functions.io.shp.internal.SHPDriver
-
- All Implemented Interfaces:
org.h2gis.api.FileDriver
public class SHPDriver extends Object implements 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 callinginitDriver(File, ShapeType, DbaseFileHeader)Driver(java.io.File, ShapeType, org.h2gis.drivers.dbf.internal.DbaseFileHeader)} then write row using- Author:
- Nicolas Fortin
-
-
Constructor Summary
Constructors Constructor Description SHPDriver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()DbaseFileHeadergetDbaseFileHeader()intgetEstimatedRowSize(long rowId)org.h2.value.ValuegetField(long rowId, int column)intgetFieldCount()intgetGeometryFieldIndex()longgetRowCount()ShapefileHeadergetShapeFileHeader()intgetSrid()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.voidinsertRow(Object[] values)Insert values in the rowvoidsetGeometryFieldIndex(int geometryFieldIndex)voidsetSRID(int srid)Set a SRID code that will be used for geometries.
-
-
-
Method Detail
-
setGeometryFieldIndex
public void setGeometryFieldIndex(int geometryFieldIndex)
- Parameters:
geometryFieldIndex- The geometry field index in getRow() array.
-
insertRow
public void insertRow(Object[] values) throws IOException
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
public void initDriverFromFile(File shpFile) throws IOException
Init this driver from existing files, then open theses files.- Parameters:
shpFile- Shape file path.- Throws:
IOException
-
initDriverFromFile
public void initDriverFromFile(File shpFile, String forceEncoding) throws IOException
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
public DbaseFileHeader getDbaseFileHeader()
- Returns:
- Dbase file header
-
getRowCount
public long getRowCount()
- Specified by:
getRowCountin interfaceorg.h2gis.api.FileDriver
-
getShapeFileHeader
public ShapefileHeader getShapeFileHeader()
- Returns:
- ShapeFile header
-
close
public void close() throws IOException- 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
public org.h2.value.Value getField(long rowId, int column) throws IOException- 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:
-
-