use of com.vividsolutions.jts.geom.Polygon in project incubator-rya by apache.
the class GeoWaveIndexerSfTest method poly.
private static Polygon poly(final double[] arr) {
final LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(arr, 2));
final Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
return p1;
}
use of com.vividsolutions.jts.geom.Polygon in project incubator-rya by apache.
the class GeoIndexerSfTest method poly.
private static Polygon poly(final double[] arr) {
final LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(arr, 2));
final Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
return p1;
}
use of com.vividsolutions.jts.geom.Polygon in project incubator-rya by apache.
the class GeoWaveGTQueryTest method executePolygonQueryTest.
@Test
public void executePolygonQueryTest() throws IOException {
System.out.println("Constructing polygon for the area contained by [Baltimore, MD; Richmond, VA; Harrisonburg, VA].");
final Polygon polygon = GeometryUtils.GEOMETRY_FACTORY.createPolygon(new Coordinate[] { BALTIMORE, RICHMOND, HARRISONBURG, BALTIMORE });
System.out.println("Executing query, expecting to match ALL points...");
final QueryOptions queryOptions = new QueryOptions(ADAPTER, INDEX);
final SpatialQuery spatialQuery = new SpatialQuery(polygon);
/*
* NOTICE: In this query, the adapter is added to the query options. If
* an index has data from more than one adapter, the data associated
* with a specific adapter can be selected.
*/
try (final CloseableIterator<SimpleFeature> closableIterator = dataStore.query(queryOptions, spatialQuery)) {
int count = 0;
while (closableIterator.hasNext()) {
System.out.println("Query match: " + closableIterator.next().getID());
count++;
}
System.out.println("executePolygonQueryTest count: " + count);
// Should match "FedEx Field", "Washington Monument", and "White House"
assertEquals(3, count);
}
}
use of com.vividsolutions.jts.geom.Polygon in project incubator-rya by apache.
the class GeoWaveIndexerTest method testDeleteSearch.
@Test
public void testDeleteSearch() throws Exception {
// test a ring around dc
try (final GeoWaveGeoIndexer f = new GeoWaveGeoIndexer()) {
f.setConf(conf);
f.purge(conf);
final ValueFactory vf = new ValueFactoryImpl();
final Resource subject = vf.createURI("foo:subj");
final URI predicate = GeoConstants.GEO_AS_WKT;
final Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
final Resource context = vf.createURI("foo:context");
final Statement statement = new ContextStatementImpl(subject, predicate, object, context);
f.storeStatement(convertStatement(statement));
f.flush();
f.deleteStatement(convertStatement(statement));
// test a ring that the point would be inside of if not deleted
final double[] in = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
final LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(in, 2));
final Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(p1, EMPTY_CONSTRAINTS)));
// test a ring that the point would be outside of if not deleted
final double[] out = { -77, 39, -76, 39, -76, 38, -77, 38, -77, 39 };
final LinearRing rOut = gf.createLinearRing(new PackedCoordinateSequence.Double(out, 2));
final Polygon pOut = gf.createPolygon(rOut, new LinearRing[] {});
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(pOut, EMPTY_CONSTRAINTS)));
// test a ring for the whole world and make sure the point is gone
final double[] world = { -180, 90, 180, 90, 180, -90, -180, -90, -180, 90 };
final LinearRing rWorld = gf.createLinearRing(new PackedCoordinateSequence.Double(world, 2));
final Polygon pWorld = gf.createPolygon(rWorld, new LinearRing[] {});
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(pWorld, EMPTY_CONSTRAINTS)));
}
}
use of com.vividsolutions.jts.geom.Polygon in project incubator-rya by apache.
the class GeoWaveIndexerTest method testDcSearch.
@Test
public void testDcSearch() throws Exception {
// test a ring around dc
try (final GeoWaveGeoIndexer f = new GeoWaveGeoIndexer()) {
f.setConf(conf);
f.purge(conf);
final ValueFactory vf = new ValueFactoryImpl();
final Resource subject = vf.createURI("foo:subj");
final URI predicate = GeoConstants.GEO_AS_WKT;
final Value object = vf.createLiteral("Point(-77.03524 38.889468)", GeoConstants.XMLSCHEMA_OGC_WKT);
final Resource context = vf.createURI("foo:context");
final Statement statement = new ContextStatementImpl(subject, predicate, object, context);
f.storeStatement(convertStatement(statement));
f.flush();
final double[] IN = { -78, 39, -77, 39, -77, 38, -78, 38, -78, 39 };
final LinearRing r1 = gf.createLinearRing(new PackedCoordinateSequence.Double(IN, 2));
final Polygon p1 = gf.createPolygon(r1, new LinearRing[] {});
Assert.assertEquals(Sets.newHashSet(statement), getSet(f.queryWithin(p1, EMPTY_CONSTRAINTS)));
// test a ring outside the point
final double[] OUT = { -77, 39, -76, 39, -76, 38, -77, 38, -77, 39 };
final LinearRing rOut = gf.createLinearRing(new PackedCoordinateSequence.Double(OUT, 2));
final Polygon pOut = gf.createPolygon(rOut, new LinearRing[] {});
Assert.assertEquals(Sets.newHashSet(), getSet(f.queryWithin(pOut, EMPTY_CONSTRAINTS)));
}
}
Aggregations