1

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

Stefan
  • 147
  • 1
  • 11

0 Answers0