有没有办法在geos中重建一个具有自交集的多边形?如何修复具有自相交的多边形?
5
A
回答
7
所以,我必须自己来回答这个问题。也许它会帮助别人。
您可以使用geos :: operation :: buffer :: BufferOp类来修复多边形。例如。
geos::geom::Geometry * result =
geos::operation::buffer::BufferOp::bufferOp(polygon, 1.0);
1
往往指向交叉是允许的,所以你可以改变
1 2 4
*--* *
| \ /|
| X |
| /\|
*--* *
6 5 3
到
1 2 4
*--* *
| \ /|
| 3*6|
| /\|
*--* *
8 7 5
那里点3和6相同。如果不允许点相交,请将其中一个小点移动。
根据我的经验,大多数这样的交点有些来自错误的多边形简化,所以如果可能的话返回源代码会更好。
0
自相交多边形一些更多的好食谱是无效的。因此BufferOp可能会导致无效的结果。 我没有找到任何方法修复Geos中的自相交多边形。 PostGIS中的st_makevalid函数使用geos。因此可以调查源代码。
相关问题
- 1. 如何检测多边形是否具有自相交?
- 2. 如何将自相交多边形划分为简单的多边形?
- 3. 算法划分自相交多边形
- 4. 检查多边形是否自相交
- 5. 如何修复非共面多边形?
- 6. 计算复杂(自相交)多边形的面积
- 7. 多边形相交Python Shapely
- 8. 如何重绘完全自相交的多边形?
- 9. 如何计算地球上自相交多边形的面积
- 10. 指向一个自相交/复杂多边形
- 11. 多边形与线段相交的多边形边信息交集
- 12. 检测n边多边形的自交?
- 13. 如何搜索多边形内相交的所有点?
- 14. turf.js来自OpenLayers3的自相交多边形的相交错误Draw
- 15. 合并相交的多边形一个多边形
- 16. Mongodb和查询搜索与多边形相交的多边形
- 17. 多边形多边形相交的特殊情况
- 18. 用边界框确定多边形相交的有效方法
- 19. 从具有共线边的多边形中提取多边形
- 20. 在shp2pgsql中自动修复环形自相交
- 21. 行(来自gpx)与多边形相交(来自Fusion Table)
- 22. 查找有多次相交的多边形尽可能
- 23. 如何检测两个多边形是否具有相同的形状?
- 24. 如何加入具有内部负多边形的负多边形?
- 25. 多边形自相交测试的数值精度
- 26. 如何检查Postgres中的两个多边形是否相交?
- 27. Boost :: Geometry:如何连接multi_polygon中的相交多边形?
- 28. 这个几何点如何与多边形不相交?
- 29. 多边形交集
- 30. 如何清理空间数据库中的自相交多边形?
值得说明的是“自相交多边形无效”,但根据OGC SFS。它是几何世界中有效的复杂多边形。 – mloskot 2011-11-07 12:02:26