public class GeometryUtils
extends java.lang.Object
Constructor and Description |
---|
GeometryUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.List |
calculateGeometryGeoHashCover(byte[] geometryBytes) |
static java.lang.Long |
calculateMBRGeoHash(byte[] geometryBytes) |
static java.lang.Long |
calculatePointGeoHash(java.lang.Double y,
java.lang.Double x) |
static java.lang.String |
convertFromBinaryToGeoJSON(byte[] bytes)
Convert from Binary to GeoJSON String format
|
static java.lang.String |
convertFromBinaryToWKT(byte[] bytes)
Convert from Binary format to String WKT
|
static byte[] |
convertFromGeoJSONToBinary(java.lang.String geoJSOString)
Convert from GeoJSON string to Binary format
|
static java.lang.String |
convertFromGeoJSONToWKT(java.lang.String geoJSONString)
Convert from GeoJSON String format to WKT String
|
static byte[] |
convertFromWKTToBinary(java.lang.String wkt)
Convert from WKT String to Binary format
|
static java.lang.String |
convertFromWKTToGeoJSON(java.lang.String wkt)
Convert from WKT String to GeoJSON String
|
static com.ibm.research.st.datamodel.geometry.ellipsoidal.IGeometryEG |
convertGeometryToLatLong() |
static java.lang.String |
convertToExternalFormat(byte[] data,
java.lang.String mboName)
Convert the binary data to the External format geometry for the Mbo
|
static byte[] |
convertToInternalFormat(java.lang.String geometryString,
java.lang.String mboName)
Convert the External geometry to the binary format that is used in the DB
|
static java.lang.String |
createAutolocateClause(java.lang.String mboName,
UserInfo userInfo,
java.lang.String bboxWhere,
java.lang.String latLongWhere) |
static java.lang.String |
createBoundingBoxGeohashClause(java.lang.Double[] bboxValues) |
static java.lang.String |
createBoundingBoxWhereClause(java.lang.String objectName,
java.lang.Double bboxMinLong,
java.lang.Double bboxMinLat,
java.lang.Double bboxMaxLong,
java.lang.Double bboxMaxLat) |
static java.lang.String |
createXYWhere(java.lang.Double[] bbox,
java.lang.String siteID,
UserInfo userInfo) |
static java.lang.String |
findGeometryHashTablename(java.lang.String mboName) |
static java.lang.String |
getGeoHashCenter(java.lang.Long hash,
int bitDepth,
java.lang.String externalFormat) |
static java.lang.String |
getGeoHashCenter(java.lang.Long hash,
java.lang.String externalFormat)
Get center latitude/longitude from the hash
|
static java.lang.Double[] |
getLongLatFromBinaryPoint(byte[] bytes) |
static int |
getProperHashDepthLevel(double minLong,
double maxLong)
Get the proper hash depth level based on longitude.
|
static boolean |
isGeometryField(java.lang.String mboName,
java.lang.String fieldName) |
static boolean |
isGeometryPoint(byte[] binaryGeometry) |
static java.lang.Double[] |
parseBBoxParam(java.lang.String bboxParam)
Parse bboxQuery parameter
|
static byte[] |
reGenerateBinary(byte[] geometry)
Method to generate again the binary value
Useful when lib changes the metadata that is stored in the bynary
|
static java.lang.String |
retrieveAutolocateRelationships(java.lang.String parentName,
java.lang.String childName) |
static java.lang.String |
retrieveExternalFormatType(java.lang.String mboName) |
static java.lang.String |
retrieveGeometryFieldName(java.lang.String mboName) |
static java.lang.String |
retrieveGeometryTypeFromBinary(byte[] binaryGeometry) |
static java.lang.String[] |
retrieveMboAutolocateOrder(java.lang.String mboName) |
static java.lang.StringBuilder |
retrieveMboBboxWhereClause(java.lang.String mboName,
java.lang.String bboxWhere,
java.lang.String latLongClause,
UserInfo userInfo) |
static MboSet |
updateGeoHashMboSet(byte[] geometry,
MboRemote mbo) |
static java.lang.String |
writeLongLatInExternalFormat(java.lang.String mboName,
java.lang.Double longitude,
java.lang.Double latitude) |
public static byte[] reGenerateBinary(byte[] geometry) throws MXApplicationException
MXApplicationException
public static byte[] convertFromWKTToBinary(java.lang.String wkt) throws MXApplicationException, com.ibm.research.st.STException
MXApplicationException
com.ibm.research.st.STException
public static byte[] convertFromGeoJSONToBinary(java.lang.String geoJSOString) throws MXApplicationException, com.ibm.research.st.STException
geoJSOString
- MXApplicationException
com.ibm.research.st.STException
public static java.lang.String convertFromBinaryToWKT(byte[] bytes) throws MXApplicationException
bytes
- MXApplicationException
public static java.lang.String convertFromGeoJSONToWKT(java.lang.String geoJSONString) throws MXApplicationException
geoJSONString
- MXApplicationException
public static java.lang.String convertFromBinaryToGeoJSON(byte[] bytes) throws MXApplicationException
bytes
- MXApplicationException
public static java.lang.String convertFromWKTToGeoJSON(java.lang.String wkt) throws MXApplicationException
wkt
- MXApplicationException
public static boolean isGeometryField(java.lang.String mboName, java.lang.String fieldName) throws MXApplicationException
mboName
- fieldName
- MXApplicationException
java.rmi.RemoteException
public static java.lang.String convertToExternalFormat(byte[] data, java.lang.String mboName) throws MXApplicationException
data
- mboName
- MXApplicationException
public static byte[] convertToInternalFormat(java.lang.String geometryString, java.lang.String mboName) throws MXApplicationException
geometryString
- mboName
- MXApplicationException
java.rmi.RemoteException
public static java.lang.String createBoundingBoxWhereClause(java.lang.String objectName, java.lang.Double bboxMinLong, java.lang.Double bboxMinLat, java.lang.Double bboxMaxLong, java.lang.Double bboxMaxLat)
objectName
- bboxMinLong
- bboxMinLat
- bboxMaxLong
- bboxMaxLat
- public static java.lang.Long calculateMBRGeoHash(byte[] geometryBytes) throws MXApplicationException
geometryBytes
- MXApplicationException
public static java.lang.Long calculatePointGeoHash(java.lang.Double y, java.lang.Double x) throws MXApplicationException
y
- x
- MXApplicationException
public static java.util.List calculateGeometryGeoHashCover(byte[] geometryBytes) throws MXApplicationException
geometryBytes
- MXApplicationException
public static java.lang.String createBoundingBoxGeohashClause(java.lang.Double[] bboxValues) throws MXApplicationException
bboxValues
- MXApplicationException
public static java.lang.String findGeometryHashTablename(java.lang.String mboName)
mboName
- public static java.lang.String getGeoHashCenter(java.lang.Long hash, java.lang.String externalFormat) throws MXApplicationException
hash
- truncated hashexternalFormat
- MXApplicationException
public static java.lang.String getGeoHashCenter(java.lang.Long hash, int bitDepth, java.lang.String externalFormat) throws MXApplicationException
hash
- truncated hashbitDepth
- bit depthexternalFormat
- MXApplicationException
public static java.lang.Double[] parseBBoxParam(java.lang.String bboxParam) throws MXApplicationException
bboxParam
- MXApplicationException
public static int getProperHashDepthLevel(double minLong, double maxLong)
minLong
- maxLong
- public static boolean isGeometryPoint(byte[] binaryGeometry)
binaryGeometry
- public static java.lang.String retrieveGeometryTypeFromBinary(byte[] binaryGeometry)
binaryGeometry
- public static com.ibm.research.st.datamodel.geometry.ellipsoidal.IGeometryEG convertGeometryToLatLong()
public static java.lang.String retrieveGeometryFieldName(java.lang.String mboName) throws java.rmi.RemoteException
mboName
- java.rmi.RemoteException
public static java.lang.String retrieveExternalFormatType(java.lang.String mboName) throws MXApplicationException
mboName
- MXApplicationException
public static java.lang.String writeLongLatInExternalFormat(java.lang.String mboName, java.lang.Double longitude, java.lang.Double latitude) throws MXApplicationException
mboName
- longitude
- latitude
- MXApplicationException
public static java.lang.Double[] getLongLatFromBinaryPoint(byte[] bytes) throws MXApplicationException
bytes
- MXApplicationException
public static MboSet updateGeoHashMboSet(byte[] geometry, MboRemote mbo) throws java.rmi.RemoteException, MXException
geometry
- mbo
- java.rmi.RemoteException
MXException
public static java.lang.String createXYWhere(java.lang.Double[] bbox, java.lang.String siteID, UserInfo userInfo) throws java.rmi.RemoteException, MXException
bbox
- siteID
- userInfo
- orgId
- MXException
java.rmi.RemoteException
public static java.lang.String createAutolocateClause(java.lang.String mboName, UserInfo userInfo, java.lang.String bboxWhere, java.lang.String latLongWhere) throws java.rmi.RemoteException, MXException
mboName
- userInfo
- bboxWhere
- latLongWhere
- java.rmi.RemoteException
MXException
public static java.lang.StringBuilder retrieveMboBboxWhereClause(java.lang.String mboName, java.lang.String bboxWhere, java.lang.String latLongClause, UserInfo userInfo) throws java.rmi.RemoteException, MXException
mboName
- bboxWhere
- latLongClause
- MXException
java.rmi.RemoteException
public static java.lang.String[] retrieveMboAutolocateOrder(java.lang.String mboName) throws java.rmi.RemoteException
mboName
- java.rmi.RemoteException
public static java.lang.String retrieveAutolocateRelationships(java.lang.String parentName, java.lang.String childName) throws MXApplicationException
parentName
- childName
- MXApplicationException