use of org.locationtech.jts.geom.LineString in project graphhopper by graphhopper.
the class GraphHopperMultimodalIT method readWktLineString.
private LineString readWktLineString(String wkt) {
WKTReader wktReader = new WKTReader();
LineString expectedGeometry = null;
try {
expectedGeometry = (LineString) wktReader.read(wkt);
} catch (ParseException e) {
e.printStackTrace();
}
return expectedGeometry;
}
use of org.locationtech.jts.geom.LineString in project ddf by codice.
the class OpenSearchFilterVisitor method buildGeometrySearch.
protected static void buildGeometrySearch(BinarySpatialOperator filter, Object data) {
OpenSearchFilterVisitorObject openSearchFilterVisitorObject = getOpenSearchFilterVisitorObjectFromData(data);
if (openSearchFilterVisitorObject == null) {
return;
}
if (NestedTypes.NOT.equals(openSearchFilterVisitorObject.getCurrentNest())) {
LOGGER.debug(NOT_OPERATOR_UNSUPPORTED_MSG);
return;
}
final org.opengis.filter.expression.Expression expression1 = filter.getExpression1();
final String expectedSpatialSearchTerm = OpenSearchConstants.SUPPORTED_SPATIAL_SEARCH_TERM;
if (!expectedSpatialSearchTerm.equals(expression1.toString())) {
LOGGER.debug("Opensearch only supports spatial criteria on the term \"{}\", but expression1 is \"{}\". Ignoring filter.", expectedSpatialSearchTerm, expression1);
return;
}
// The geometry is wrapped in a <Literal> element, so have to get the geometry expression as a
// literal and then evaluate it to get the geometry.
// Example:
// <ogc:Literal>org.geotools.geometry.jts.spatialschema.geometry.primitive.PointImpl@dc33f184</ogc:Literal>
Literal literalWrapper = (Literal) filter.getExpression2();
Object geometryExpression = literalWrapper.getValue();
if (geometryExpression instanceof SurfaceImpl) {
SurfaceImpl surface = (SurfaceImpl) literalWrapper.evaluate(null);
Geometry polygon = surface.getJTSGeometry();
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else if (geometryExpression instanceof Polygon) {
Geometry polygon = (Geometry) literalWrapper.evaluate(null);
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else if (geometryExpression instanceof GeometryImpl) {
Geometry polygon = ((GeometryImpl) geometryExpression).getJTSGeometry();
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else if (geometryExpression instanceof MultiPolygon) {
Geometry polygon = ((MultiPolygon) geometryExpression);
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else if (geometryExpression instanceof LineString) {
Geometry polygon = ((LineString) geometryExpression);
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else if (geometryExpression instanceof MultiLineString) {
Geometry polygon = ((MultiLineString) geometryExpression);
openSearchFilterVisitorObject.addGeometrySearch(polygon);
} else {
LOGGER.debug("Unsupported filter constraint");
}
}
use of org.locationtech.jts.geom.LineString in project jena by apache.
the class WKTReaderTest method testExtractGeometryCollection.
/**
* Test of extract method, of class WKTReader.
*/
@Test
public void testExtractGeometryCollection() {
String wktText = "GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10), MULTIPOINT((6 8),(2 3)))";
WKTReader expResult = new WKTReader("geometrycollection", "", "(POINT(4 6),LINESTRING(4 6,7 10), MULTIPOINT((6 8),(2 3)))");
WKTReader result = WKTReader.extract(wktText);
//
//
assertEquals(expResult, result);
}
use of org.locationtech.jts.geom.LineString in project jena by apache.
the class WKTDatatypeTest method testReadMultiLineString.
/**
* Test of read method, of class WKTReader.
*/
@Test
public void testReadMultiLineString() {
String wktLiteral = "MULTILINESTRING ZM((10 10 0 1, 20 20 0 1, 10 40 0 1), (40 40 0 1, 30 30 0 1, 40 20 0 1, 30 10 0 1))";
LineString[] lineStrings = new LineString[2];
lineStrings[0] = GEOMETRY_FACTORY.createLineString(new CustomCoordinateSequence(CoordinateSequenceDimensions.XYZM, "10 10 0 1, 20 20 0 1, 10 40 0 1"));
lineStrings[1] = GEOMETRY_FACTORY.createLineString(new CustomCoordinateSequence(CoordinateSequenceDimensions.XYZM, "40 40 0 1, 30 30 0 1, 40 20 0 1, 30 10 0 1"));
Geometry geometry = GEOMETRY_FACTORY.createMultiLineString(lineStrings);
GeometryWrapper expResult = new GeometryWrapper(geometry, SRS_URI.DEFAULT_WKT_CRS84, WKTDatatype.URI, new DimensionInfo(4, 3, 1));
GeometryWrapper result = WKT_DATATYPE.read(wktLiteral);
//
//
assertEquals(expResult, result);
}
use of org.locationtech.jts.geom.LineString in project jena by apache.
the class WKTDatatypeTest method testReadLineString.
/**
* Test of read method, of class WKTReader.
*/
@Test
public void testReadLineString() {
String wktLiteral = "LINESTRING ZM (11 12.1 8 5, 3 4 6 2)";
Geometry geometry = GEOMETRY_FACTORY.createLineString(new CustomCoordinateSequence(CoordinateSequenceDimensions.XYZM, "11 12.1 8 5, 3 4 6 2"));
GeometryWrapper expResult = new GeometryWrapper(geometry, SRS_URI.DEFAULT_WKT_CRS84, WKTDatatype.URI, new DimensionInfo(4, 3, 1));
GeometryWrapper result = WKT_DATATYPE.read(wktLiteral);
//
//
assertEquals(expResult, result);
}
Aggregations