org.geotools.geometry.jts.JTS.toGeometry()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(675)

本文整理了Java中org.geotools.geometry.jts.JTS.toGeometry()方法的一些代码示例,展示了JTS.toGeometry()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JTS.toGeometry()方法的具体详情如下:
包路径:org.geotools.geometry.jts.JTS
类名称:JTS
方法名:toGeometry

JTS.toGeometry介绍

[英]Converts an envelope to a polygon.

The resulting polygon contains an outer ring with verticies: (x1,y1),(x2,y1),(x2,y2),(x1,y2),(x1,y1)
[中]将封套转换为多边形。
生成的多边形包含一个具有垂直方向的外圈:(x1,y1)、(x2,y1)、(x2,y2)、(x1,y2)、(x1,y1)

代码示例

代码示例来源:origin: geoserver/geoserver

  1. JTS.toGeometry((Envelope) new ReferencedEnvelope(grid.getEnvelope2D()));
  2. if (coverageBounds.intersects(rasterFilter)) {
  3. final ParameterValueGroup param = cropParams.clone();

代码示例来源:origin: geoserver/geoserver

  1. /**
  2. * Crops the coverage to the specified bounds
  3. *
  4. * @param coverage
  5. * @param bounds
  6. */
  7. public static GridCoverage2D crop(final GridCoverage2D coverage, final Envelope bounds) {
  8. // checks
  9. final ReferencedEnvelope cropBounds = new ReferencedEnvelope(bounds);
  10. final ReferencedEnvelope coverageBounds = new ReferencedEnvelope(coverage.getEnvelope());
  11. if (cropBounds.contains((org.locationtech.jts.geom.Envelope) coverageBounds)) {
  12. return coverage;
  13. }
  14. Polygon polygon = JTS.toGeometry(cropBounds);
  15. Geometry roi = polygon.getFactory().createMultiPolygon(new Polygon[] {polygon});
  16. // perform the crops
  17. final ParameterValueGroup param = PROCESSOR.getOperation("CoverageCrop").getParameters();
  18. param.parameter("Source").setValue(coverage);
  19. param.parameter("Envelope").setValue(bounds);
  20. param.parameter("ROI").setValue(roi);
  21. return (GridCoverage2D) PROCESSOR.doOperation(param);
  22. }

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Create a Point from a ISO Geometry DirectPosition.
  3. *
  4. * @param position
  5. * @return Point
  6. */
  7. public static Point toGeometry(DirectPosition position) {
  8. return toGeometry(position, null);
  9. }

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Converts an arbitrary Java2D shape into a JTS geometry. The created JTS geometry may be any
  3. * of {@link LineString}, {@link LinearRing} or {@link MultiLineString}.
  4. *
  5. * @param shape The Java2D shape to create.
  6. * @param factory The JTS factory to use for creating geometry.
  7. * @return The JTS geometry.
  8. * @deprecated Please use {@link #toGeometry(Shape)} or {@link #toGeometry(Shape,
  9. * GeometryFactory)}
  10. */
  11. public static Geometry shapeToGeometry(final Shape shape, final GeometryFactory factory) {
  12. return toGeometry(shape, factory);
  13. }

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Converts an arbitrary Java2D shape into a JTS geometry. The created JTS geometry may be any
  3. * of {@link LineString}, {@link LinearRing} or {@link MultiLineString}.
  4. *
  5. * @param shape the input shape
  6. * @return A new JTS geometry instance
  7. * @throws IllegalArgumentException if {@code shape} is {@code null}
  8. */
  9. public static Geometry toGeometry(final Shape shape) {
  10. return toGeometry(shape, new GeometryFactory());
  11. }

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Converts a {@link ReferencedEnvelope} to a JTS polygon.
  3. *
  4. * <p>The resulting polygon contains an outer ring with vertices:
  5. * (x1,y1),(x2,y1),(x2,y2),(x1,y2),(x1,y1)
  6. *
  7. * @param envelope The original envelope.
  8. * @return The envelope as a polygon.
  9. * @throws IllegalArgumentException if {@code bbox} is {@code null}
  10. * @since 2.4
  11. */
  12. public static Polygon toGeometry(ReferencedEnvelope bbox) {
  13. return toGeometry((BoundingBox) bbox, new GeometryFactory());
  14. }

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Converts a {@link BoundingBox} to a JTS polygon.
  3. *
  4. * <p>The resulting polygon contains an outer ring with vertices:
  5. * (x1,y1),(x2,y1),(x2,y2),(x1,y2),(x1,y1)
  6. *
  7. * @param envelope The original envelope.
  8. * @return The envelope as a polygon.
  9. * @throws IllegalArgumentException if {@code bbox} is {@code null}
  10. * @since 2.4
  11. */
  12. public static Polygon toGeometry(BoundingBox bbox) {
  13. return toGeometry(bbox, new GeometryFactory());
  14. }

代码示例来源:origin: geotools/geotools

  1. private void setRoiProvider() throws IOException {
  2. Geometry granuleGeometry = JTS.toGeometry(new ReferencedEnvelope(originalEnvelope));
  3. roiProvider =
  4. MultiLevelROIProviderFactory.createFootprintProvider(inputFile, granuleGeometry);
  5. if (roiProvider != null) {
  6. multiLevelRoi = roiProvider.getMultiScaleROI(null);
  7. }
  8. }

代码示例来源:origin: geotools/geotools

  1. @Override
  2. public Object evaluate(Object object) {
  3. if (!(object instanceof Feature)) {
  4. return null;
  5. }
  6. Feature feature = (Feature) object;
  7. ReferencedEnvelope env = ReferencedEnvelope.reference(feature.getBounds());
  8. if (env != null) {
  9. return JTS.toGeometry(env);
  10. } else {
  11. return null;
  12. }
  13. }
  14. }

代码示例来源:origin: geotools/geotools

  1. public MultiLevelROIRaster(DatasetLayout layout, File file, SimpleFeature sf)
  2. throws IOException {
  3. // Initialization
  4. this.file = file;
  5. // Getting Feature Geometry
  6. Geometry geo = (Geometry) sf.getDefaultGeometry();
  7. // Getting as envelope
  8. env = JTS.toEnvelope(geo);
  9. // Save envelope as Geometry
  10. footprint = JTS.toGeometry(env);
  11. // Getting the Mask provider
  12. maskOvrProvider = new MaskOverviewProvider(layout, file);
  13. }

代码示例来源:origin: geotools/geotools

  1. private Geometry clipToWorldFeatureTypeGeometry(Geometry geom) {
  2. // Oracle cannot deal with filters using geometries that span beyond the whole world
  3. if (isFeatureTypeGeometryGeodetic() && !WORLD.contains(geom.getEnvelopeInternal())) {
  4. Geometry result = geom.intersection(JTS.toGeometry(WORLD));
  5. if (result != null && !result.isEmpty()) {
  6. if (result instanceof GeometryCollection) {
  7. result = distillSameTypeGeometries((GeometryCollection) result, geom);
  8. }
  9. return result;
  10. }
  11. }
  12. return geom;
  13. }

代码示例来源:origin: geotools/geotools

  1. /** Try and Filter by the provided bbox, will default to Filter.EXCLUDE if null */
  2. public static Filter filterBBox(Envelope bBox, SimpleFeatureType ft)
  3. throws FactoryRegistryException, IllegalFilterException {
  4. if (bBox == null) {
  5. return Filter.INCLUDE;
  6. }
  7. FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
  8. PropertyName geomExpr = ff.property(ft.getGeometryDescriptor().getLocalName());
  9. Literal bboxExpr = ff.literal(JTS.toGeometry(bBox));
  10. Disjoint disjointFilter = ff.disjoint(geomExpr, bboxExpr);
  11. return ff.not(disjointFilter);
  12. }
  13. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void testCutGeometryLambertConformal() throws Exception {
  3. // get a lambert conformal conic with
  4. ReferencedEnvelope wgs84South = new ReferencedEnvelope(-180, -90, -40, 0, WGS84);
  5. ReferencedEnvelope laeSouth = wgs84South.transform(CRS.decode("EPSG:2194"), true);
  6. ProjectionHandler handler = ProjectionHandlerFinder.getHandler(laeSouth, WGS84, true);
  7. // a Geometry that crosses the opposite of the central meridian
  8. Polygon geometry = JTS.toGeometry(new Envelope(5, 15, 0, 10));
  9. Geometry preProcessed = handler.preProcess(geometry);
  10. assertTrue(
  11. "Should have sliced the geometry in two parts",
  12. preProcessed instanceof MultiPolygon);
  13. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void testToGeoemtry() {
  3. DefaultGeographicCRS crs = DefaultGeographicCRS.WGS84;
  4. // straight up
  5. Polygon polygon = JTS.toGeometry(new Envelope(-10, 10, -10, 10));
  6. assertEquals(5, polygon.getExteriorRing().getCoordinateSequence().size());
  7. // bounding box
  8. polygon = JTS.toGeometry((BoundingBox) new ReferencedEnvelope(-10, 10, -10, 10, crs));
  9. assertEquals(5, polygon.getExteriorRing().getCoordinateSequence().size());
  10. }

代码示例来源:origin: geotools/geotools

  1. private LineString circleArcInBounds(
  2. double x, double y, double radius, ReferencedEnvelope bounds) {
  3. Point center = gf.createPoint(new Coordinate(x, y));
  4. Polygon buffered = (Polygon) center.buffer(radius, 64);
  5. Polygon mask = JTS.toGeometry(bounds);
  6. Geometry intersection = buffered.getExteriorRing().intersection(mask);
  7. return (LineString) intersection;
  8. }

代码示例来源:origin: geotools/geotools

  1. public void testBoundedBy() {
  2. Geometry box = JTS.toGeometry(new Envelope(0, 10, 0, 10));
  3. Intersects intersects = fac.intersects(fac.function("boundedBy"), fac.literal(box));
  4. assertTrue(intersects.evaluate(testFeature));
  5. }
  6. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void toGeometry_Shape_Poly() {
  3. Shape shape = new java.awt.Polygon(XPOINTS, YPOINTS, NPOINTS);
  4. Geometry geom = JTS.toGeometry(shape);
  5. assertTrue(geom instanceof LinearRing);
  6. Coordinate[] coords = geom.getCoordinates();
  7. assertEquals(NPOINTS + 1, coords.length);
  8. CoordList list = new CoordList(coords);
  9. Coordinate c = new Coordinate();
  10. for (int i = 0; i < NPOINTS; i++) {
  11. c.x = XPOINTS[i];
  12. c.y = YPOINTS[i];
  13. assertTrue(list.contains(c));
  14. }
  15. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void toGeometry_BoundingBox() {
  3. BoundingBox bbox = new ReferencedEnvelope(-10, 10, -5, 5, null);
  4. Geometry geom = JTS.toGeometry(bbox);
  5. assertTrue(geom instanceof org.locationtech.jts.geom.Polygon);
  6. Envelope geomEnv = geom.getEnvelopeInternal();
  7. assertEquals(-10.0, geomEnv.getMinX(), TOL);
  8. assertEquals(10.0, geomEnv.getMaxX(), TOL);
  9. assertEquals(-5.0, geomEnv.getMinY(), TOL);
  10. assertEquals(5.0, geomEnv.getMaxY(), TOL);
  11. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void toGeometry_ReferencedEnvelope() {
  3. ReferencedEnvelope refEnv =
  4. new ReferencedEnvelope(-10, 10, -5, 5, DefaultGeographicCRS.WGS84);
  5. Geometry geom = JTS.toGeometry(refEnv);
  6. assertTrue(geom instanceof org.locationtech.jts.geom.Polygon);
  7. Envelope geomEnv = geom.getEnvelopeInternal();
  8. assertEquals(-10.0, geomEnv.getMinX(), TOL);
  9. assertEquals(10.0, geomEnv.getMaxX(), TOL);
  10. assertEquals(-5.0, geomEnv.getMinY(), TOL);
  11. assertEquals(5.0, geomEnv.getMaxY(), TOL);
  12. }

代码示例来源:origin: geotools/geotools

  1. @Test
  2. public void toGeometry_Envelope() {
  3. Envelope refEnv = new Envelope(-10, 10, -5, 5);
  4. Geometry geom = JTS.toGeometry(refEnv);
  5. assertTrue(geom instanceof org.locationtech.jts.geom.Polygon);
  6. Envelope geomEnv = geom.getEnvelopeInternal();
  7. assertEquals(-10.0, geomEnv.getMinX(), TOL);
  8. assertEquals(10.0, geomEnv.getMaxX(), TOL);
  9. assertEquals(-5.0, geomEnv.getMinY(), TOL);
  10. assertEquals(5.0, geomEnv.getMaxY(), TOL);
  11. }

相关文章