mic*_*ele 7 java contain geotools
我正在使用 Java Geotools 库来检查 POINT(...) 是否包含在 POLYGON(...) 中。
我已经做到了:
Geometry sPG = reader.read(wktStartPoint); //startpointgeometry
Geometry sEG = reader.read(wktEndPoint);
if(wktLayerGeo.contains(sPG) || wktLayerGeo.contains(sEG)){
// do something
}
Run Code Online (Sandbox Code Playgroud)
但现在我必须设置一个容差:例如,我会检查一个点是否包含在容差距离为 50 公里的多边形中。
我可以用 GeoTools 做吗?
谢谢
您可以使用DWithin运算符来检查点(或其他几何图形)是否位于几何图形的指定距离内。请注意,无论单位字符串如何,距离始终采用数据投影的单位。
double distance = 10.0d;
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
Filter filter = ff.dwithin(ff.property("POLYGON"), ff.literal(point), distance, uom.toString());
return featureSource.getFeatures(filter);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2945 次 |
| 最近记录: |