本文整理汇总了Java中oracle.spatial.geometry.JGeometry.getType方法的典型用法代码示例。如果您正苦于以下问题:Java JGeometry.getType方法的具体用法?Java JGeometry.getType怎么用?Java JGeometry.getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oracle.spatial.geometry.JGeometry
的用法示例。
在下文中一共展示了JGeometry.getType方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getGeometry
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
@Override
public GeometryObject getGeometry(Object geomObj) throws SQLException {
if (geomObj instanceof Struct) {
JGeometry geometry = JGeometry.loadJS((Struct)geomObj);
switch (geometry.getType()) {
case JGeometry.GTYPE_POINT:
return getPoint(geometry);
case JGeometry.GTYPE_MULTIPOINT:
return getMultiPoint(geometry);
case JGeometry.GTYPE_CURVE:
return getCurve(geometry);
case JGeometry.GTYPE_MULTICURVE:
return getMultiCurve(geometry);
case JGeometry.GTYPE_POLYGON:
return getPolygon(geometry);
case JGeometry.GTYPE_MULTIPOLYGON:
return getMultiPolygon(geometry);
default:
throw new SQLException("Cannot convert Oracle geometry type '" + geometry.getType() + "' to internal representation: Unsupported type.");
}
}
return null;
}
示例2: getPoint
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
public Point getPoint(JGeometry geom, boolean setSrsName) {
Point point = null;
if (geom != null && geom.getType() == JGeometry.GTYPE_POINT) {
int dimensions = geom.getDimensions();
double[] pointCoord = geom.getPoint();
if (pointCoord != null && pointCoord.length >= dimensions) {
point = new PointImpl();
List<Double> value = new ArrayList<Double>();
for (int i = 0; i < dimensions; i++)
value.add(pointCoord[i]);
DirectPosition pos = new DirectPositionImpl();
pos.setValue(value);
pos.setSrsDimension(dimensions);
if (setSrsName)
pos.setSrsName(gmlSrsName);
point.setPos(pos);
}
}
return point;
}
示例3: getLineString
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
public LineString getLineString(JGeometry geom, boolean setSrsName) {
LineString lineString = null;
if (geom != null && geom.getType() == JGeometry.GTYPE_CURVE) {
int dimensions = geom.getDimensions();
double[] ordinatesArray = geom.getOrdinatesArray();
List<Double> value = new ArrayList<Double>();
for (int i = 0; i < ordinatesArray.length; i++)
value.add(ordinatesArray[i]);
lineString = new LineStringImpl();
DirectPositionList directPositionList = new DirectPositionListImpl();
directPositionList.setValue(value);
directPositionList.setSrsDimension(dimensions);
if (setSrsName)
directPositionList.setSrsName(gmlSrsName);
lineString.setPosList(directPositionList);
}
return lineString;
}
示例4: getPointOrCurveGeometry
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
public AbstractGeometry getPointOrCurveGeometry(JGeometry geom, boolean setSrsName) {
if (geom != null) {
switch (geom.getType()) {
case JGeometry.GTYPE_MULTICURVE:
return getMultiCurve(geom, setSrsName);
case JGeometry.GTYPE_CURVE:
return getLineString(geom, setSrsName);
case JGeometry.GTYPE_MULTIPOINT:
return getMultiPoint(geom, setSrsName);
case JGeometry.GTYPE_POINT:
return getPoint(geom, setSrsName);
}
}
return null;
}
示例5: parseSdoGeometry
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
public static String parseSdoGeometry(Connection oraConn, JGeometry jGeometry) {
if(jGeometry == null) return "";
OracleGeometry oGeometry = new OracleGeometry();
oGeometry.gtype = jGeometry.getType();
oGeometry.dim = jGeometry.getDimensions();
oGeometry.lrs = jGeometry.getLRMDimension();
if(oGeometry.dim<2) {
logger.error("ERROR: Dimension "+oGeometry.dim+" is not valid. Either specify a dimension or use Oracle Locator Version 9i or later.");
return "";
}
if(oGeometry.dim ==3) {
oGeometry.suffix="Z";
} else if(oGeometry.dim ==4) {
oGeometry.suffix="ZM";
} else {
oGeometry.suffix="";
}
// try {
oGeometry.srid = 4326;
// oGeometry.srid = pridOraToPg(oraConn,jGeometry.getSRID());
// } catch(SQLException sqle) {
// logger.error("ERROR: Fail get srid");
// return "";
// }
oGeometry.point = jGeometry.getPoint();
oGeometry.sdoElemInfoList = parseSdoElemInfo(jGeometry.getElemInfo());
oGeometry.ordinates = jGeometry.getOrdinatesArray();
String value = extractGeometry(oraConn,oGeometry);
if(value != null) return String.format("SRID=%d;%s",oGeometry.srid,value);
return "";
}
示例6: internalRender
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
private void internalRender(DOM pRequestDOM, UCon pUCon, Renderer pRenderer) {
int lHeight, lWidth;
lHeight = Integer.parseInt(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/HEIGHT"));
lWidth = Integer.parseInt(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/WIDTH"));
//Transform for pixel output
double lCentreX = Double.parseDouble(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/CENTRE/X"));
double lCentreY = Double.parseDouble(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/CENTRE/Y"));
double lScaledWidth = Double.parseDouble(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/SCALED_WIDTH"));
double lScaledHeight = Double.parseDouble(pRequestDOM.get1SNoEx("/INTERNAL_MAP_REQUEST/SCALED_HEIGHT"));
double lScaleFactorX = (lWidth/lScaledWidth);
double lScaleFactorY = (lHeight/lScaledHeight);
AffineTransform lOrdinateTransform = new AffineTransform();
lOrdinateTransform.scale(1, -1); // Flip the Y about X=0
lOrdinateTransform.translate(0, -lHeight); // Move back onto the visible area
lOrdinateTransform.translate(((lWidth/2)-lCentreX), (((lHeight/2))-lCentreY)); // Initial centering
lOrdinateTransform.scale(lScaleFactorX, lScaleFactorY); // Scale
lOrdinateTransform.translate(-(lCentreX*(lScaleFactorX-1))/lScaleFactorX, -(lCentreY*(lScaleFactorY-1))/lScaleFactorY); // Second pass centering
Track.pushInfo("AddingRenderableObjects", "Internal rendering: Adding renderable objects to renderer");
try {
DOMList lRenderNodes = pRequestDOM.getUL("/INTERNAL_MAP_REQUEST/RENDER_LIST/RENDER");
ParsedStatement lDataQuery;
for (int lNodeID = 0; lNodeID < lRenderNodes.getLength(); ++lNodeID) {
DOM lRenderNode = lRenderNodes.item(lNodeID);
try {
lDataQuery = StatementParser.parse(lRenderNode.get1SNoEx("DATA_QUERY"), "Data Query");
java.util.List<UConStatementResult> lDataRows = pUCon.queryMultipleRows(lDataQuery);
for (UConStatementResult lRow : lDataRows) {
int lGeoID = lRow.getInteger("ID");
int lParentGeoID = lRow.getInteger("PARENT_SID_ID");
STRUCT st = (oracle.sql.STRUCT)lRow.getObject("GEO_DATA");
JGeometry lGeometry = JGeometry.load(st);
//Parse geometry
if (lGeometry.getType() == JGeometry.GTYPE_POINT) {
drawSpatialMarker(pRenderer, lRenderNode, lGeoID, lParentGeoID, lGeometry, lOrdinateTransform, lRow, lScaleFactorX, lScaleFactorY);
}
else if (lGeometry.getType() == JGeometry.GTYPE_MULTIPOINT) {
drawSpatialNodes(pRenderer, lRenderNode, lGeoID, lParentGeoID, lGeometry, lOrdinateTransform);
}
else if (lGeometry.getType() == JGeometry.GTYPE_CURVE) {
drawSpatialLine(pRenderer, lRenderNode, lGeoID, lParentGeoID, lGeometry, lOrdinateTransform, lRow);
}
else if (lGeometry.getType() == JGeometry.GTYPE_POLYGON) {
drawSpatialArea(pRenderer, lRenderNode, lGeoID, lParentGeoID, lGeometry, lOrdinateTransform, lRow);
}
}
}
catch (ExParser | ExDB | SQLException e) {
throw new ExInternal("Fox Internal Spatial Renderer failed when attempting to query the spatial data for rendering", e);
}
}
}
finally {
Track.pop("AddingRenderableObjects");
}
// Get the renderer to generate the image (goes to the output stream given to the pRenderer constructor)
Track.pushInfo("GeneratingImage", "Getting the renderer to generate the image");
try {
pRenderer.generate();
}
finally {
Track.pop("GeneratingImage");
}
}
示例7: getPoint
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
private GeometryObject getPoint(JGeometry geometry) {
if (geometry.getType() == JGeometry.GTYPE_POINT)
return GeometryObject.createPoint(geometry.getPoint(), geometry.getDimensions(), geometry.getSRID());
return null;
}
示例8: getCurve
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
private GeometryObject getCurve(JGeometry geometry) {
if (geometry.getType() == JGeometry.GTYPE_CURVE)
return GeometryObject.createCurve(geometry.getOrdinatesArray(), geometry.getDimensions(), geometry.getSRID());
return null;
}
示例9: getPolygon
import oracle.spatial.geometry.JGeometry; //导入方法依赖的package包/类
private GeometryObject getPolygon(JGeometry geometry) {
if (geometry.getType() == JGeometry.GTYPE_POLYGON)
return GeometryObject.createPolygon(getPolygonCoordinates(geometry), geometry.getDimensions(), geometry.getSRID());
return null;
}