public static Curve createCurve(final DirectPosition[] points) { final CoordinateReferenceSystem crs = points[0].getCoordinateReferenceSystem(); final BasicFactories commonFactory = BasicFactories.getDefault(); final PrimitiveFactory primitiveFactory = commonFactory.getPrimitiveFactory(crs); return createCurve(primitiveFactory, points); }
public static SurfaceBoundary createSurfaceBoundary( final DirectPosition[] exteriorRingPoints, final DirectPosition[][] interiorRingsPoints) { final CoordinateReferenceSystem crs = exteriorRingPoints[0].getCoordinateReferenceSystem(); final BasicFactories commonFactory = BasicFactories.getDefault(); final PrimitiveFactory primitiveFactory = commonFactory.getPrimitiveFactory(crs); return createSurfaceBoundary(primitiveFactory, exteriorRingPoints, interiorRingsPoints); }
public static Ring createRing(final DirectPosition[] points) { final CoordinateReferenceSystem crs = points[0].getCoordinateReferenceSystem(); final BasicFactories commonFactory = BasicFactories.getDefault(); final PrimitiveFactory primitiveFactory = commonFactory.getPrimitiveFactory(crs); return createRing(primitiveFactory, points); }
public static Polygon createPolygon( final DirectPosition[] exteriorRingPoints, final DirectPosition[][] interiorRingsPoints) { final CoordinateReferenceSystem crs = exteriorRingPoints[0].getCoordinateReferenceSystem(); final BasicFactories commonFactory = BasicFactories.getDefault(); final GeometryFactory geometryFactory = commonFactory.getGeometryFactory(crs); final PrimitiveFactory primitiveFactory = commonFactory.getPrimitiveFactory(crs); final Ring exteriorRing = createRing(primitiveFactory, exteriorRingPoints); List interiorRingList = interiorRingsPoints.length == 0 ? Collections.EMPTY_LIST : new ArrayList(interiorRingsPoints.length); for (int i = 0; i < interiorRingsPoints.length; i++) { final DirectPosition[] interiorRingPoints = interiorRingsPoints[i]; interiorRingList.add(createRing(primitiveFactory,interiorRingPoints)); } final SurfaceBoundary surfaceBoundary = primitiveFactory.createSurfaceBoundary(exteriorRing, interiorRingList); return geometryFactory.createPolygon(surfaceBoundary); }