我有一个应用程序,它存储由JTS Geometry对象(多边形)给定的几何图形,但是JTS不使用测地线上下文,因此我需要存储在测地线空间中绘制的圆。
然后,我创建了一个测地线圆(使用spatial4j库创建),需要将其转换为jts几何形状。
SpatialContext.GEO.shapeFactory.circle(lng1, lat1, DistanceUtils.dist2Degrees(circleRadius / 1000, DistanceUtils.EARTH_MEAN_RADIUS_KM))
因此,我需要获取该测地线圆的多边形表示形式(可能最精确)。我怎样才能做到这一点?。还有另一种方法吗?
最佳答案
使用JtsSpatialContext(jts 1.15.0):
Circle circle = SpatialContext.GEO.getShapeFactory()
.circle(lon, lat, DistanceUtils.dist2Degrees(circleRadius / 1000, DistanceUtils.EARTH_MEAN_RADIUS_KM));
Geometry circleGeometry = JtsSpatialContext.GEO.getShapeFactory()
.getGeometryFrom(circle);