public boolean isValid() { return polygon.isValid(); }
private Polygon getOriginalGeometry(JSONObject obj) { JSONObject meta = obj.getJSONObject(GeoJsonWriter.META); JSONObject fullGeometry = meta.optJSONObject(GeoJsonWriter.FULL_GEOMETRY); if(fullGeometry != null && "Polygon".equals(fullGeometry.optString("type"))) { Polygon polygon = GeoJsonWriter.getPolygonGeometry(fullGeometry.getJSONArray("coordinates")); if(polygon.isValid()) { return polygon; } } return null; }
public boolean isValid() { com.vividsolutions.jts.geom.Polygon poly = (com.vividsolutions.jts.geom.Polygon) this.getJTSGeometry(); return poly.isValid(); } }
public boolean isValid() { com.vividsolutions.jts.geom.Polygon poly = (com.vividsolutions.jts.geom.Polygon) this.getJTSGeometry(); return poly.isValid(); } }
/** * Create and collect shadow polygons. * * @param shadows * @param coordinates * @param shadow * @param factory */ private static void createShadowPolygons(Collection<Polygon> shadows, Coordinate[] coordinates, double[] shadow, GeometryFactory factory) { for (int i = 1; i < coordinates.length; i++) { Coordinate startCoord = coordinates[i - 1]; Coordinate endCoord = coordinates[i]; Coordinate nextEnd = moveCoordinate(endCoord, shadow); Coordinate nextStart = moveCoordinate(startCoord, shadow); Polygon polygon = factory.createPolygon(new Coordinate[]{startCoord, endCoord, nextEnd, nextStart, startCoord}); if (polygon.isValid()) { shadows.add(polygon); } } } }
centroid = geom.getCentroid(); Polygon p = factory.createPolygon(geom); if(p.isValid()) { meta.put("fullGeometry", GeoJsonWriter.geometryToJSON(p));
/** * Create and collect shadow polygons. * * @param shadows * @param coordinates * @param shadow * @param factory */ private static void createShadowPolygons(Collection<Polygon> shadows, Coordinate[] coordinates, double[] shadow, GeometryFactory factory) { for (int i = 1; i < coordinates.length; i++) { Coordinate startCoord = coordinates[i - 1]; Coordinate endCoord = coordinates[i]; Coordinate nextEnd = moveCoordinate(endCoord, shadow); Coordinate nextStart = moveCoordinate(startCoord, shadow); Polygon polygon = factory.createPolygon(new Coordinate[]{startCoord, endCoord, nextEnd, nextStart, startCoord}); if (polygon.isValid()) { shadows.add(polygon); } } } }
private void joinStreets2Addresses() { for (JSONObject strtJSON : street2bndries.keySet()) { LineString ls = GeoJsonWriter.getLineStringGeometry( strtJSON.getJSONObject("geometry").getJSONArray("coordinates")); @SuppressWarnings("deprecation") Geometry buffer = ls.buffer(STREET_BUFFER_DISTANCE, 2, BufferOp.CAP_ROUND); if(buffer instanceof Polygon) { many2ManyJoin(strtJSON, (Polygon) buffer, addr2streets, addrPointsIndex); } else if(buffer instanceof MultiPolygon) { for(int i = 0; i < buffer.getNumGeometries(); i++) { Polygon p = (Polygon) buffer.getGeometryN(i); if(p.isValid()) { many2ManyJoin(strtJSON, p, addr2streets, addrPointsIndex); } } } } }
@Override public void transitionTo_Done(MapContext vc, ToolManager tm) throws FinishedAutomatonException, TransitionException { points = ToolUtilities.removeDuplicated(points); if (points.size() < 3) { throw new TransitionException( i18n.tr("Polygons must have more than two points")); } List<Coordinate> tempPoints = new ArrayList<Coordinate>(points); double firstX = points.get(0).x; double firstY = points.get(0).y; tempPoints.add(newCoordinate(firstX, firstY, vc)); Coordinate[] polygonCoordinates = tempPoints.toArray(new Coordinate[tempPoints.size()]); com.vividsolutions.jts.geom.Polygon pol = gf.createPolygon(gf.createLinearRing(polygonCoordinates), new LinearRing[0]); if (!pol.isValid()) { throw new TransitionException( i18n.tr("Invalid polygon")); } polygonDone(pol, vc, tm); transition(Code.INIT); }
centroid = geom.getCentroid(); Polygon p = factory.createPolygon(geom); if(p.isValid()) { meta.put(GeoJsonWriter.FULL_GEOMETRY, GeoJsonWriter.geometryToJSON(p));
if(!polygon.isEmpty() && polygon.isValid()) { for(String ppId : (List<String>)cityesIndex.query(polygon.getEnvelopeInternal())) { JSONObject pp = getCityById(ppId);
if (!polygon.isValid())
if (difference.isValid()) { r = difference;
if (!geom.isValid()) { throw new SQLException("Geometry not valid");
if (!geom.isValid()) { throw new SQLException("Geometry not valid");