自然资源(国土)部门通用坐标TXT转SHP的FME方法

您所在的位置:网站首页 arcgis批量坐标点转换成多个面 自然资源(国土)部门通用坐标TXT转SHP的FME方法

自然资源(国土)部门通用坐标TXT转SHP的FME方法

2023-11-06 02:49| 来源: 网络整理| 查看: 265

一、任务来源

        经常遇到提供了TXT坐标需要转成矢量,然后去跟其他数据做分析统计的情况,最典型的就是原国土资源部门(现在的自然资源部门)在各种系统中用到的TXT坐标格式,它们的本质爱基本都是相同的,有的根据系统需要增减了一些属性,但是坐标部分是没有变化的。如图1所示

图1 TXT文本坐标 二、任务研判

所提供的TXT文本是有标准的格式说明的,这个对于我们来说很友好

标准格式为:【拐点号,圈号,X轴坐标点(7位整数),Y轴坐标点(8位整数)】其中有3个逗号分隔符,分隔符为英文半角逗号“ , ”

圈号为1就是该地块最为外围的圈,圈号大于等于2的就是挖空的圈。

拐点号必须为大写J字母开头(例如:J1)不能直接写 1

根据官方的描述,前面部分就是一些基本信息,然后到地块信息,然后到地块坐标,如果有挖空的情况就以圈号来区分。

三、解决方案

因为本人对FME桌面软件比较熟悉,就用FME来解决。整体思路如下:

1.读取TXT文件,并把地块信息用文本搜索转换器StringSearcher找出来,并用VariableSetter逐个发布全局参数,以便后面调用这些参数赋值到shp属性中去。注意,这里我们用到了正则表达式,而且还用到了子表达式功能,好处就是从转换器出口的信息会以子表达式来分成多个列表(List)

2.使用文本搜索转换器StringSearcher把每个点坐标找到,并分类成点号,X,Y三个信息。这里同样用到了正则表达式的子表达式来分离成三个列表。

 3.使用2DPointReplacer把上一步提取到的XY生成点,再用PointConnector连线,LineCloser闭合线。

4.因为有可能有地块是有多个空洞的情况,需要用到DonutBuilder转换器来挖除空洞。

5.使用FeatureReader转换器读取TXT中的带号信息,然后投影即可。同样也用到发布全局参数和接受全局参数。

四、小结

通往罗马的路千万条,选择你最喜欢最熟悉的道路即可,我熟悉FME就用了FME,也许ArcGIS更简单方便,也许Python二十行代码就能解决……需要这个模板的请私信我。

模板整体



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3