当前位置: 首页>>代码示例>>Java>>正文


Java JGeometry.GTYPE_POLYGON属性代码示例

本文整理汇总了Java中oracle.spatial.geometry.JGeometry.GTYPE_POLYGON属性的典型用法代码示例。如果您正苦于以下问题:Java JGeometry.GTYPE_POLYGON属性的具体用法?Java JGeometry.GTYPE_POLYGON怎么用?Java JGeometry.GTYPE_POLYGON使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在oracle.spatial.geometry.JGeometry的用法示例。


在下文中一共展示了JGeometry.GTYPE_POLYGON属性的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getGeometry

@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;
}
 
开发者ID:3dcitydb,项目名称:importer-exporter,代码行数:24,代码来源:GeometryConverterAdapter.java

示例2: internalRender

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");
  }

}
 
开发者ID:Fivium,项目名称:FOXopen,代码行数:71,代码来源:FoxInternalSpatialRenderer.java

示例3: getPolygon

private GeometryObject getPolygon(JGeometry geometry) {
	if (geometry.getType() == JGeometry.GTYPE_POLYGON)
		return GeometryObject.createPolygon(getPolygonCoordinates(geometry), geometry.getDimensions(), geometry.getSRID());

	return null;
}
 
开发者ID:3dcitydb,项目名称:importer-exporter,代码行数:6,代码来源:GeometryConverterAdapter.java


注:本文中的oracle.spatial.geometry.JGeometry.GTYPE_POLYGON属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。