public ZoneFinderImpl(Map<Id<Zone>, Zone> zones, double expansionDistance) { this.expansionDistance = expansionDistance; for (Zone z : zones.values()) { quadTree.insert(z.getMultiPolygon().getEnvelopeInternal(), z); } }
/** * Create a secondary spatial index with data intersecting the given * {@link com.vividsolutions.jts.geom.MultiPolygon}. This will accelerate performance of * geometry check by reducing unnecessary operations. * * @param area * Area for grid index initialization */ @SuppressWarnings("unchecked") public synchronized void initializeGridIndex( final com.vividsolutions.jts.geom.MultiPolygon area) { if (Objects.isNull(area)) { logger.error("Given area is null. Skipping grid index initialization."); return; } this.gridIndexEnvelope = area.getEnvelopeInternal(); final List<Polygon> boundaries = this.rawIndex.query(this.gridIndexEnvelope); final DynamicGridIndexBuilder builder = new DynamicGridIndexBuilder(boundaries, this.gridIndexEnvelope, this.rawIndex); this.gridIndex = builder.getIndex(); logger.info("Grid index of size {} created.", this.gridIndex.size()); }
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());
final Envelope box = multi.getEnvelopeInternal(); _buffer.putDouble(box.getMinX()); _buffer.putDouble(box.getMinY());
Envelope envelope = multiPolygon.getEnvelopeInternal(); JSONArray bbox = new JSONArray(); bbox.put(envelope.getMinX());
void addCountry(final String country, final com.vividsolutions.jts.geom.MultiPolygon multiPolygon) if (!this.envelope.intersects(multiPolygon.getEnvelopeInternal()))
out.writeLEInt(getShapeType()); ShapefileGeometryUtil.writeEnvelope(out, multiPolygon.getEnvelopeInternal()); out.writeLEInt(numParts); out.writeLEInt(numPoints);
private void assertBBox(Feature f, ReferencedEnvelope... envelopes) throws Exception { Property p = f.getProperty(CSWRecordDescriptor.RECORD_BBOX_NAME); MultiPolygon geometry = (MultiPolygon) p.getValue(); List<ReferencedEnvelope> featureEnvelopes = (List<ReferencedEnvelope>) p.getUserData().get(GenericRecordBuilder.ORIGINAL_BBOXES); ReferencedEnvelope total = null; for (int i = 0; i < envelopes.length; i++) { assertEquals(envelopes[i], featureEnvelopes.get(i)); ReferencedEnvelope re = envelopes[i].transform(CSWRecordDescriptor.DEFAULT_CRS, true); if(total == null) { total = re; } else { total.expandToInclude(re); } } assertTrue(total.contains(geometry.getEnvelopeInternal())); }
private void assertBBox(Feature f, ReferencedEnvelope... envelopes) throws Exception { PropertyName bbox = ff.property("gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox", MetaDataDescriptor.NAMESPACES); Property p = (Property) bbox.evaluate(f); MultiPolygon geometry = (MultiPolygon) p.getValue(); List<ReferencedEnvelope> featureEnvelopes = (List<ReferencedEnvelope>) p.getUserData().get(GenericRecordBuilder.ORIGINAL_BBOXES); ReferencedEnvelope total = null; for (int i = 0; i < envelopes.length; i++) { assertEquals(envelopes[i], featureEnvelopes.get(i)); ReferencedEnvelope re = envelopes[i].transform(CSWRecordDescriptor.DEFAULT_CRS, true); if(total == null) { total = re; } else { total.expandToInclude(re); } } assertTrue(total.contains(geometry.getEnvelopeInternal())); }
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());
Envelope box = multi.getEnvelopeInternal(); buffer.putDouble(box.getMinX()); buffer.putDouble(box.getMinY());