我有一个应用程序,它存储由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);

09-25 20:16