I am trying to create a org.opengis.filter.Filter
to find features within a certain geometry. The code to create this factory is:
public static Filter createPartiallyContainedFilter(final Geometry area) {
return CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()).dwithin(
"geometry", area, 40, "centimeter");
}
The problem I have is that I can't figure out how to create a geometry object. The method to create the filter expects a geometry object of type org.opengis.geometry.Geometry
, which is an interface.
I'd tried to create an instance as follows:
GeometryFactory factory = GeometryFactoryFinder.getGeometryFactory(org.geotools.factory.GeoTools
.getDefaultHints());
factory.createPolygon(...);
However, this will result into an exception:
Exception in thread "main" org.geotools.factory.FactoryNotFoundException: No factory of kind "GeometryFactory" found.
at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:375)
at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:145)
at org.geotools.geometry.GeometryFactoryFinder.getGeometryFactory(GeometryFactoryFinder.java:94)
at nl.kadaster.locatie.bis.wfs.pdok.PdokServiceMain.main(PdokServiceMain.java:28)
Can anyone tell me how to create a geometry object instance?
Sincerely, Stefan