我有一大组坐标,其中包括:
59.284 18.42
59.401 18.078
58.894 17.854
59.277 18.742
59.219 18.186
59.472 18.108
纬度坐标的分辨率为 0.001,经度为 0.002。
每个点都与一个矩形区域相关联。对于一个点(x, y),该区域的纬度范围为x到x+0.01,经度为y到y+0.02。
每个点都与 1 到 10 之间的值相关联。
我想做的是以多边形的形式将具有相同值的相邻区域分组。多边形将定义构成其外边界的线,如果它的形状像 donut ,则还需要定义内边界。
是否有任何算法或工具可以帮助我做到这一点?
我可以使用 python、csharp、java 或 c++ 进行编程。
谢谢你的帮助,
巴里
最佳答案
对于每组与值1到10相关联的坐标做
- 将坐标缩放为整数值(乘以 1000)以避免浮点比较
- 将坐标转换为矩形多边形
- “合并”这些多边形(使用 Clipper 、 Boost Geometry 或 Boost Polygon )合并相邻的多边形
关于algorithm - 坐标点到多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126650/