WKT中如何处理Circle?

How to handle Circle in WKT?

我有一个 json 对象作为

区域:CIRCLE (28.625360369528934 77.2227479486792, 3135.6)

如何使用WKTreader解析它?

你需要回到写它的人那里并解释 CIRCLE 不是 WKT standard 的一部分,他们应该停止生产它。

你最好的选择是生成一个有很多 (200) 边的近似于圆的多边形,可能使用 JTS 缓冲区方法。

Point p = gFactory.createPoint(28.625360369528934 77.2227479486792);
Polygon circle = p.buffer( 3135.6 );

另一种选择是接受中心点半径。这将允许您确定另一个地理形状是否在 'the zone' 内或附近。

{
   "wkt": "POINT(28.625360369528934 77.2227479486792)",
   "radius": 50
}

这比生成数百个点稍微优雅一些​​,因为您拥有完全无损的圆圈清晰度。唯一最好转换成多边形的情况是共享不是一个完美的圆(那么这种方法将是 'lossy')。