use of org.opengis.geometry.coordinate.GeometryFactory in project sldeditor by robward-scisys.
the class WKTConversion method initialise.
/**
* Initialise the WKTParser object.
*/
private static void initialise() {
Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
PositionFactory positionFactory = GeometryFactoryFinder.getPositionFactory(hints);
GeometryFactory geometryFactory = GeometryFactoryFinder.getGeometryFactory(hints);
PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory(hints);
AggregateFactory aggregateFactory = GeometryFactoryFinder.getAggregateFactory(hints);
wktParser = new WKTParser(geometryFactory, primitiveFactory, positionFactory, aggregateFactory);
wktTypeList.add(new WKTType(WKT_POINT, false, 1, "Point", false, false));
wktTypeList.add(new WKTType(WKT_MULTIPOINT, true, 1, "Point", true, false));
wktTypeList.add(new WKTType(WKT_LINESTRING, false, 2, "Line", false, false));
wktTypeList.add(new WKTType("LINEARRING", false, 2, "Line", false, false));
wktTypeList.add(new WKTType(WKT_MULTILINESTRING, true, 2, "Line", true, false));
wktTypeList.add(new WKTType(WKT_POLYGON, false, -1, "Polygon", false, true));
wktTypeList.add(new WKTType(WKT_MULTIPOLYGON, true, -1, "Polygon", true, true));
for (WKTType wkyType : wktTypeList) {
wktTypeMap.put(wkyType.getName(), wkyType);
}
}
use of org.opengis.geometry.coordinate.GeometryFactory in project sldeditor by robward-scisys.
the class FilterNodeTest method testSetFilter.
/**
* Test method for
* {@link com.sldeditor.filter.v2.expression.FilterNode#setFilter(org.opengis.filter.Filter, com.sldeditor.filter.v2.function.FilterConfigInterface)}.
*/
@Test
public void testSetFilter() {
FilterFactory ff = CommonFactoryFinder.getFilterFactory();
FilterNode node = new FilterNode();
// BinaryComparisonAbstract
Filter filter = ff.greaterOrEqual(ff.literal(45), ff.literal(23));
node.setFilter(filter, null);
node.addFilter();
String actual = node.toString();
String expected = "Filter : " + Localisation.getString(ExpressionPanelv2.class, "FilterNode.filterNotSet");
assertTrue(actual.compareTo(expected) == 0);
assertEquals(filter, node.getFilter());
FilterConfigInterface filterConfig = new IsGreaterThan();
node.setFilter(filter, filterConfig);
assertEquals(filterConfig, node.getFilterConfig());
expected = "Filter : PropertyIsGreaterThan";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// PropertyIsLike
filter = ff.like(ff.literal("abc def ghi"), "abc");
filterConfig = new IsLike();
node.setFilter(filter, filterConfig);
expected = "Filter : Like";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// BinarySpatialOperator
Hints hints = new Hints(Hints.CRS, DefaultGeographicCRS.WGS84);
PositionFactory positionFactory = GeometryFactoryFinder.getPositionFactory(hints);
GeometryFactory geometryFactory = GeometryFactoryFinder.getGeometryFactory(hints);
PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory(hints);
AggregateFactory aggregateFactory = GeometryFactoryFinder.getAggregateFactory(hints);
WKTParser wktParser = new WKTParser(geometryFactory, primitiveFactory, positionFactory, aggregateFactory);
Geometry geometry = null;
try {
geometry = wktParser.parse("POINT( 48.44 -123.37)");
} catch (ParseException e) {
e.printStackTrace();
fail();
}
filter = ff.overlaps("property", geometry);
filterConfig = new Overlaps();
node.setFilter(filter, filterConfig);
expected = "Filter : Overlaps";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// Is Between
filter = ff.between(ff.literal(25), ff.literal(5), ff.literal(50));
filterConfig = new IsBetween();
node.setFilter(filter, filterConfig);
expected = "Filter : PropertyIsBetween";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// Is Null
filter = ff.isNull(ff.literal(12));
filterConfig = new IsNull();
node.setFilter(filter, filterConfig);
expected = "Filter : IsNull";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// BinaryTemporalOperator
filter = ff.after(ff.literal(12), ff.literal(312));
filterConfig = new After();
node.setFilter(filter, filterConfig);
expected = "Filter : After";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
// Logic filter
filter = ff.and(ff.after(ff.literal(12), ff.literal(312)), ff.between(ff.literal(25), ff.literal(5), ff.literal(50)));
filterConfig = new And();
node.setFilter(filter, filterConfig);
expected = "Filter : And";
actual = node.toString();
assertTrue(actual.compareTo(expected) == 0);
node.addFilter();
}
use of org.opengis.geometry.coordinate.GeometryFactory in project sldeditor by robward-scisys.
the class WKTConversion method convertToGeometry.
/**
* Convert to com.vividsolutions.jts.geom geometry.
*
* @param wktString the wkt string
* @param crsCode the crs code
* @return the geometry
*/
public static Geometry convertToGeometry(String wktString, String crsCode) {
int srid = 0;
if (crsCode != null) {
CoordinateReferenceSystem crs = CoordManager.getInstance().getCRS(crsCode);
String sridString = CRS.toSRS(crs, true);
srid = Integer.valueOf(sridString).intValue();
}
com.vividsolutions.jts.geom.GeometryFactory geometryFactory = new com.vividsolutions.jts.geom.GeometryFactory(new PrecisionModel(), srid);
WKTReader parser = new WKTReader(geometryFactory);
if (wktString.startsWith(WKT_PREFIX)) {
wktString = wktString.substring(WKT_PREFIX.length());
}
Geometry shape = null;
try {
shape = parser.read(wktString);
} catch (com.vividsolutions.jts.io.ParseException e) {
ConsoleManager.getInstance().exception(WKTConversion.class, e);
}
return shape;
}
Aggregations