数据处理:由面得点,构造其边界

  上周做了一次数据处理:根据中国区域的面状数据,得到省界,再由省界边线转换成点,得点坐标并在一个三维场景Openwebglobe里面构造边界,因为暂时只知道由点坐标来构造线。

工具:ArcToolbox、Excel

过程:

1.由面数据得线数据。(由于在三维场景中点数据构造线数据时,其内在渲染方式的问题,需要注意公共边的问题,需要使用“Select Features”这个工具,可以单独处理同一图层内不同部分的数据(很关键的一步)。

2.简化线。

3.线转点,并获取点的坐标。

4.属性表导出整理。

效果图:(左图为源数据,右图为结果)

详细过程:

1.面转线

因为面数据是带属性的,而属性表中的省名是很重要的,是后面识别各省区的重要字段,所以转换时要保留这些重要属性,故使用“Feature to Line”,如果使用“Polygon to Line”的话,这些属性就没了。如图所示,左图为Feature to Line的结果,右图为Polygon to Line的结果。

 

另外,这里有点特殊,因为在Openwebglobe中渲染机制的问题(不了解,只能用下面所说办法了),需要的是不相邻省区边界转换出来的点坐标来构造线,否则会出现线条混乱的问题。

可是一整块面状数据如何将不同省区分多次弄出来呢?可以通过“Select Features”这个工具,将他们点选出来,使用“Feature to Line”时,就会只处理点选部分数据,多次处理后就可以得到不相邻省区的数据了。

2.简化线

  转换之前,先把线简化一下,要不后面转换出来的点密密麻麻的(将近3万个点),工作量会剧增。使用“Simplify Line”这个工具,通过搜索找到它。

  可以看到,把线简化以后,线上的折点少了很多,这样下一步根据线转换出折点时,点的数量会少很多,减少工作量,这里简化时设置最大允许偏移容差是15000m,因为要求不是精确,只是示意性展示。

  这一步其实是在面转线完毕后进行的,当时处于摸索阶段,所以顺序搞错了,实际上是得到不相邻省区的各个图层后,再做多次简化处理。

3.线转点,并获取坐标

使用“Feature Vertices To Points”,根据线数据转换得到折点,可以看到线简化之后,点的数量明显减少。

当然,最终我们还是要获取点的坐标,“Add XY Coordinates”可以帮助我们,得到点图层的所有点数据的坐标,并自动更新到属性表里面。

  

4.属性表处理

将属性表导出来,用Excel进行处理,批量整理成符合格式需求的数据,这一步会有些工作量,然后将整理好的数据进行构造即可。

附Openwebglobe相关地址:https://github.com/OpenWebGlobe 下载WebViewer

http://www.openwebglobe.org/  官网,页面已经更新了,论坛可访问,后续会有新的版本出来,修正一些Bug。是不是可以不用手动构造了呢?

原文地址:https://www.cnblogs.com/colinhou/p/2833247.html