Package oracle.spatial.util
Class ShapefileReaderJGeom
- java.lang.Object
-
- oracle.spatial.util.ShapefileReaderJGeom
-
- All Implemented Interfaces:
java.lang.AutoCloseable
public class ShapefileReaderJGeom extends java.lang.Object implements java.lang.AutoCloseable
-
-
Field Summary
Fields Modifier and Type Field Description static int
AV_MULTIPOINT
static int
AV_MULTIPOINTM
static int
AV_MULTIPOINTZ
static int
AV_NULL
static int
AV_POINT
static int
AV_POINTM
static int
AV_POINTZ
static int
AV_POLYGON
static int
AV_POLYGONM
static int
AV_POLYGONZ
static int
AV_POLYLINE
static int
AV_POLYLINEM
static int
AV_POLYLINEZ
protected int
bufferLen
protected int
cnt
protected ShapefileHdr
idxFileHdr
protected BufferedRandomAccessFile
idxFIS
protected ShapefileHdr
mainFileHdr
protected BufferedRandomAccessFile
mainFIS
protected double
measureMax
protected double
measureMin
protected java.lang.String
namePrefix
protected int
nRecords
protected double[]
partBuffer
protected int
partBufferLen
protected byte[]
recBuffer
static boolean
shpMval
protected int
type
protected double
xMax
protected double
xMin
protected double
yMax
protected double
yMin
protected double
zMax
protected double
zMin
-
Constructor Summary
Constructors Constructor Description ShapefileReaderJGeom(java.lang.String name)
construct an object out of the specified shapefile name.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
closeShapefile()
close this shapefile.static JGeometry
getGeometry(byte[] recBuffer, int srid)
protected static JGeometry
getGeometry(byte[] recBuffer, int type, int off, int srid)
byte[]
getGeometryBytes(int nth)
retrieve nth shape record and return it as a byte array.double
getMaxMeasure()
return the maximum Measure value in file.double
getMaxX()
return the maximum X value in file.double
getMaxY()
return the maximum Y value in file.double
getMaxZ()
return the maximum Z value in file.double
getMinMeasure()
return the minimum Measure value in file.double
getMinX()
return the minimum X value in file.double
getMinY()
return the minimum Y value in file.double
getMinZ()
return the minimum Z value in file.static int
getShpDims(int type, double maxM)
int
getShpFileType()
return the Shape Type in the file.protected long
idxRecordOffset(int nth)
make an double out of the byte array starting at offset 'off'.protected boolean
mainRecordOffset(int nth, oracle.spatial.util.IndexRecord idxRec)
protected static double
makeDoubleBigEndian(byte[] b, int off)
protected static double
makeDoubleLittleEndian(byte[] b, int off)
protected static int
makeIntBigEndian(byte[] b, int off)
protected static int
makeIntLittleEndian(byte[] b, int off)
protected static JGeometry
makeMPoint(byte[] b, int off, int srid)
protected static JGeometry
makeMPointZ(byte[] b, int off, int srid)
protected static JGeometry
makePoint(byte[] b, int off, int srid)
protected static JGeometry
makePointM(byte[] b, int off, int srid)
protected static JGeometry
makePointZ(byte[] b, int off, int srid)
protected static JGeometry
makePoly(byte[] b, int type, int off, int srid)
protected static JGeometry
makePolyM(byte[] b, int type, int off, int srid)
protected static JGeometry
makePolyZ(byte[] b, int type, int off, int srid)
protected static JGeometry
makePolyZM(byte[] b, int type, int off, int srid, int[] parts, int numParts, int numPoints, int zArrayOff, int mMaxOff)
int
numRecords()
return the number of shape records in the file.protected void
openShapefile(java.lang.String name)
open a shapefile with the given name.static void
swapBytes(byte[] buf, int offset, int len)
-
-
-
Field Detail
-
AV_NULL
public static final int AV_NULL
- See Also:
- Constant Field Values
-
AV_POINT
public static final int AV_POINT
- See Also:
- Constant Field Values
-
AV_POLYLINE
public static final int AV_POLYLINE
- See Also:
- Constant Field Values
-
AV_POLYGON
public static final int AV_POLYGON
- See Also:
- Constant Field Values
-
AV_MULTIPOINT
public static final int AV_MULTIPOINT
- See Also:
- Constant Field Values
-
AV_POINTZ
public static final int AV_POINTZ
- See Also:
- Constant Field Values
-
AV_POLYLINEZ
public static final int AV_POLYLINEZ
- See Also:
- Constant Field Values
-
AV_POLYGONZ
public static final int AV_POLYGONZ
- See Also:
- Constant Field Values
-
AV_MULTIPOINTZ
public static final int AV_MULTIPOINTZ
- See Also:
- Constant Field Values
-
AV_POINTM
public static final int AV_POINTM
- See Also:
- Constant Field Values
-
AV_POLYLINEM
public static final int AV_POLYLINEM
- See Also:
- Constant Field Values
-
AV_POLYGONM
public static final int AV_POLYGONM
- See Also:
- Constant Field Values
-
AV_MULTIPOINTM
public static final int AV_MULTIPOINTM
- See Also:
- Constant Field Values
-
shpMval
public static boolean shpMval
-
nRecords
protected int nRecords
-
type
protected int type
-
xMax
protected double xMax
-
xMin
protected double xMin
-
yMax
protected double yMax
-
yMin
protected double yMin
-
zMax
protected double zMax
-
zMin
protected double zMin
-
measureMax
protected double measureMax
-
measureMin
protected double measureMin
-
recBuffer
protected byte[] recBuffer
-
partBuffer
protected double[] partBuffer
-
bufferLen
protected int bufferLen
-
partBufferLen
protected int partBufferLen
-
cnt
protected int cnt
-
namePrefix
protected java.lang.String namePrefix
-
mainFileHdr
protected ShapefileHdr mainFileHdr
-
idxFileHdr
protected ShapefileHdr idxFileHdr
-
mainFIS
protected BufferedRandomAccessFile mainFIS
-
idxFIS
protected BufferedRandomAccessFile idxFIS
-
-
Method Detail
-
getShpDims
public static int getShpDims(int type, double maxM) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getGeometry
public static JGeometry getGeometry(byte[] recBuffer, int srid) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getGeometry
protected static JGeometry getGeometry(byte[] recBuffer, int type, int off, int srid) throws java.lang.Exception
- Throws:
java.lang.Exception
-
makePoint
protected static JGeometry makePoint(byte[] b, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makePointZ
protected static JGeometry makePointZ(byte[] b, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makePointM
protected static JGeometry makePointM(byte[] b, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makeMPoint
protected static JGeometry makeMPoint(byte[] b, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makeMPointZ
protected static JGeometry makeMPointZ(byte[] b, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makePoly
protected static JGeometry makePoly(byte[] b, int type, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makePolyZ
protected static JGeometry makePolyZ(byte[] b, int type, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
makePolyZM
protected static JGeometry makePolyZM(byte[] b, int type, int off, int srid, int[] parts, int numParts, int numPoints, int zArrayOff, int mMaxOff) throws java.io.IOException
- Throws:
java.io.IOException
-
makePolyM
protected static JGeometry makePolyM(byte[] b, int type, int off, int srid) throws java.io.IOException
- Throws:
java.io.IOException
-
swapBytes
public static void swapBytes(byte[] buf, int offset, int len)
-
makeIntBigEndian
protected static int makeIntBigEndian(byte[] b, int off)
-
makeIntLittleEndian
protected static int makeIntLittleEndian(byte[] b, int off)
-
makeDoubleBigEndian
protected static double makeDoubleBigEndian(byte[] b, int off)
-
makeDoubleLittleEndian
protected static double makeDoubleLittleEndian(byte[] b, int off)
-
openShapefile
protected void openShapefile(java.lang.String name) throws java.io.IOException
open a shapefile with the given name. ready to fetch individual shape records upon success return. return true if success; otherwise false- Throws:
java.io.IOException
-
closeShapefile
public void closeShapefile() throws java.io.IOException
close this shapefile.- Throws:
java.io.IOException
-
close
public void close() throws java.lang.Exception
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.lang.Exception
-
getGeometryBytes
public byte[] getGeometryBytes(int nth) throws java.io.IOException
retrieve nth shape record and return it as a byte array.- Throws:
java.io.IOException
-
idxRecordOffset
protected long idxRecordOffset(int nth)
make an double out of the byte array starting at offset 'off'. Assumming the bytes are laid out in big-endian order.
-
mainRecordOffset
protected boolean mainRecordOffset(int nth, oracle.spatial.util.IndexRecord idxRec)
-
numRecords
public int numRecords()
return the number of shape records in the file.
-
getShpFileType
public int getShpFileType()
return the Shape Type in the file.
-
getMaxMeasure
public double getMaxMeasure()
return the maximum Measure value in file.
-
getMinMeasure
public double getMinMeasure()
return the minimum Measure value in file.
-
getMaxZ
public double getMaxZ()
return the maximum Z value in file.
-
getMinZ
public double getMinZ()
return the minimum Z value in file.
-
getMaxX
public double getMaxX()
return the maximum X value in file.
-
getMinX
public double getMinX()
return the minimum X value in file.
-
getMaxY
public double getMaxY()
return the maximum Y value in file.
-
getMinY
public double getMinY()
return the minimum Y value in file.
-
-