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')。
我有一个 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')。