我正在尝试创建org.opengis.filter.Filter
以查找特定几何体内的要素。创建这个工厂的代码是:
public static Filter createPartiallyContainedFilter(final Geometry area) {
return CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()).dwithin(
"geometry", area, 40, "centimeter");
}
我遇到的问题是我无法弄清楚如何创建几何对象。创建过滤器的方法需要一个类型为org.opengis.geometry.Geometry
的几何对象,它是一个接口。
我尝试按如下方式创建实例:
GeometryFactory factory = GeometryFactoryFinder.getGeometryFactory(org.geotools.factory.GeoTools
.getDefaultHints());
factory.createPolygon(...);
但是,这会导致异常:
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)
有谁能告诉我如何创建几何对象实例?
此致 斯蒂芬