GIS 入门,简化图形坐标点数,何德何能 同时拥有了 卧龙凤雏 竟不晓得怎么搞😶

2021-10-12 16:33:20 +08:00
 xiangyuecn

原图,每个面的点太多,导致文件数据太大,并且不需要这么高精度,需要简化图形,减少坐标点数

卧龙:QGISVector -> Geometry Tools -> Simplify,功能太弱了,看起来只是简单的每个去掉了坐标点,压根不理会相邻的面,导致图形错位(边缘重叠、或产生空隙)

凤雏:ArcMapArcToolBox -> Cartography Tools -> Generalization -> Simplify Polygon,初测试以为是个王者,没想到竟然是个青铜,居然都会有一边几乎完全没有处理


正在入门学习 GIS,电脑上只装了上面两款软件,应该是专业软件,不过在这个算是核心的一个功能上,又显得不那么专业。

已经折腾好几天了,其实 ArcMap 的精简结果已经基本快达到求了,但未精简的那条边完全可以做到精简,准备再研究研究;实在不行就准备自己写代码来处理,啃下这块鸡肋,粗略估计:2 小时的代码量基本上就能达到 QGIS 的效果,3 天的代码量就能完美实现出 ArcMap 这种结果还不带 bug 的🐶

发本帖的目的:

  1. 吐槽以上软件的这个功能
  2. 把问题讲出来就有可能遇上专业大佬,说不定能传授点经验,点一下就把问题解决了。

谢谢大家

1994 次点击
所在节点    程序员
8 条回复
ck65
2021-10-12 16:52:27 +08:00
yuhangch
2021-10-12 17:01:22 +08:00
精简算法经典的就那几个,道格拉斯扑克巴拉巴拉

qgis 里三种可选方法都试了吗?


The algorithm gives a choice of simplification methods:
1 、including distance based (the "Douglas-Peucker" algorithm)
2 、area based ("Visvalingam" algorithm)
3 、snapping geometries to a grid.
Sglight
2021-10-12 17:03:01 +08:00
pkoukk
2021-10-12 17:07:46 +08:00
arcmap 应该是可以选择简化算法和容差的,改改参数试试。
这个边没有简化很可能是因为折弯太多,不平滑,被容差限制无法简化
xiangyuecn
2021-10-12 17:48:11 +08:00
@ck65
@yuhangch
@Sglight
@pkoukk

ArcMap 、QGIS 所有参数组合都试了; QGIS 基本上都没有考虑相邻的图形,虽然能有效的简化图形,但还是放弃使用 QGIS ;

ArcMap 这种结果其实已经符合需求了,正常的那些边简化的结果非常满意,就是没有被处理的那条边比较头痛。刚才换了一个数据的 shp 文件测试,发现所有的边都完美的精简好了;然后分析了一下要处理的这个数据的拓扑,发现一大堆拓扑错误,并且主要集中在那几条未简化的边上,都是非常细微的重合,看起来是因为数据本身拓扑错误的原因,导致 ArcMap 没有去精简那些边。

ArcMap 没有问题,完全可用,是我的这个数据的问题。
Rheinmetal
2021-10-12 18:07:11 +08:00
算法处理 trivial part
然后手绘调整 corner case
huarch
2021-10-13 06:15:06 +08:00
抽稀,多试试几个精度
xiangyuecn
2021-10-14 21:21:20 +08:00
@Rheinmetal
@huarch

已经搞好了,这个本身是人家做好的数据,我简化一下不要这么多点,手动去调整操作一个人没个半年也搞不完😂 还好都能批量处理,点几下鼠标就都自动处理好了😁

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/807346

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX