public class GeometryConverter extends Object
If needed I can make a LRSGeometryConverter that allows JTS Geometries with additional ordinates beyond xyz.
Modifier and Type | Field and Description |
---|---|
protected OracleConnection |
connection |
static String |
DATATYPE |
Constructor and Description |
---|
GeometryConverter(OracleConnection connection) |
GeometryConverter(OracleConnection connection,
GeometryFactory geometryFactory) |
Modifier and Type | Method and Description |
---|---|
protected double |
asDouble(Datum datum,
double DEFAULT)
Presents datum as a double
|
protected double[] |
asDoubleArray(ARRAY array,
double DEFAULT)
Presents array as a double[]
|
protected double[] |
asDoubleArray(Datum[] data,
double DEFAULT)
Presents Datum[] as a double[]
|
protected double[] |
asDoubleArray(STRUCT struct,
double DEFAULT)
Presents struct as a double[]
|
protected STRUCT |
asEmptyDataType()
Representation of
null as an Empty SDO_GEOMETRY . |
Geometry |
asGeometry(STRUCT sdoGeometry)
Convert provided SDO_GEOMETRY to JTS Geometry.
|
protected int[] |
asIntArray(ARRAY array,
int DEFAULT) |
protected int[] |
asIntArray(Datum[] data,
int DEFAULT)
Presents Datum[] as a int[]
|
protected int |
asInteger(Datum datum,
int DEFAULT)
Presents datum as an int
|
String |
getDataTypeName()
Used to handle MDSYS.SDO_GEOMETRY.
|
boolean |
isCapable(Geometry geom)
Ensure that obj is a JTS Geometry (2D or 3D) with no LRS measures.
|
protected ARRAY |
toARRAY(double[] doubles,
String dataType)
Convience method for ARRAY construction.
|
protected ARRAY |
toARRAY(int[] ints,
String dataType)
Convience method for ARRAY construction.
|
protected ARRAY |
toATTRIBUTE(double[] ords,
String desc) |
protected CHAR |
toCHAR(String s)
Convience method for CHAR construction
|
protected NUMBER |
toNUMBER(double number)
Convience method for NUMBER construction.
|
protected NUMBER |
toNUMBER(int number)
Convience method for NUMBER construction
|
protected ARRAY |
toORDINATE(CoordinateList list,
double[][] measures,
int D)
Convience method for ARRAY construction.
|
protected ARRAY |
toORDINATE(double[] ords) |
STRUCT |
toSDO(Geometry geom)
Used to convert double[] to SDO_ODINATE_ARRAY.
|
STRUCT |
toSDO(Geometry geom,
int srid)
Used to convert double[] to SDO_ODINATE_ARRAY.
|
protected STRUCT |
toSTRUCT(Datum[] attributes,
String dataType)
Convience method for STRUCT construction.
|
protected OracleConnection connection
public static final String DATATYPE
public GeometryConverter(OracleConnection connection)
public GeometryConverter(OracleConnection connection, GeometryFactory geometryFactory)
public String getDataTypeName()
MDSYS.SDO_GEOMETRY
net.refractions.jspatial.Converter#getDataType()
public boolean isCapable(Geometry geom)
This Converter does not support SpatialCoordinates
geom
- the Geometry to be convertedtrue
if obj
is a JTS Geometrynet.refractions.jspatial.Converter#isCapable(java.lang.Object)
public Geometry asGeometry(STRUCT sdoGeometry) throws SQLException
Will return null
as null
.
sdoGeometry
- datum STRUCT to be converted to a double[]Geometry
representing the provided datum
SQLException
net.refractions.jspatial.Converter#toObject(oracle.sql.STRUCT)
public STRUCT toSDO(Geometry geom) throws SQLException
Will return null
as an empty SDO_GEOMETRY
geom
- Map to be represented as a STRUCTSQLException
net.refractions.jspatial.Converter#toDataType(java.lang.Object)
public STRUCT toSDO(Geometry geom, int srid) throws SQLException
Will return null
as an empty SDO_GEOMETRY
geom
- Map to be represented as a STRUCTSQLException
net.refractions.jspatial.Converter#toDataType(java.lang.Object)
protected STRUCT asEmptyDataType() throws SQLException
null
as an Empty SDO_GEOMETRY
.null
as a SDO_GEOMETRYSQLException
protected final STRUCT toSTRUCT(Datum[] attributes, String dataType) throws SQLException
SQLException
protected final ARRAY toARRAY(double[] doubles, String dataType) throws SQLException
Compare and contrast with toORDINATE - which treats Double.NaN
asNULL
SQLException
protected final ARRAY toORDINATE(CoordinateList list, double[][] measures, int D) throws SQLException
Forced to burn memory here - only way to actually place NULL
numbers in the
ordinate stream.
Double.NaN
NULL
The alternative is to construct the array from a array of doubles, which does not record
NULL
NUMBERs.
The results is an "MDSYS.SDO_ORDINATE_ARRAY"
list = c1(1,2,0), c2(3,4,Double.NaN)
measures = {{5,6},{7,8}
toORDINATE( list, measures, 2 )
= (1,2,5,7, 3,4,6,8)
toORDINATE( list, measures, 3 )
= (1,2,0,5,7, 3,4,NULL,6,8)
toORDINATE( list, null, 2 )
= (1,2, 3,4)
list
- CoordinateList to be representedmeasures
- Per Coordinate Measures, null
if not requiredD
- Dimension of Coordinates (limited to 2d, 3d)SQLException
protected final ARRAY toORDINATE(double[] ords) throws SQLException
SQLException
protected final ARRAY toATTRIBUTE(double[] ords, String desc) throws SQLException
SQLException
protected final NUMBER toNUMBER(double number) throws SQLException
Double.NaN is represented as NULL
to agree with JTS use.
SQLException
protected final ARRAY toARRAY(int[] ints, String dataType) throws SQLException
SQLException
protected final NUMBER toNUMBER(int number)
protected final CHAR toCHAR(String s)
protected int asInteger(Datum datum, int DEFAULT) throws SQLException
SQLException
protected double asDouble(Datum datum, double DEFAULT) throws SQLException
SQLException
protected double[] asDoubleArray(STRUCT struct, double DEFAULT) throws SQLException
SQLException
protected double[] asDoubleArray(ARRAY array, double DEFAULT) throws SQLException
SQLException
protected double[] asDoubleArray(Datum[] data, double DEFAULT) throws SQLException
SQLException
protected int[] asIntArray(ARRAY array, int DEFAULT) throws SQLException
SQLException
protected int[] asIntArray(Datum[] data, int DEFAULT) throws SQLException
SQLException
Copyright © 1996–2019 Geotools. All rights reserved.