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

二、任务研判
所提供的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二十行代码就能解决……需要这个模板的请私信我。

本文介绍了如何使用FME桌面软件将TXT文件中的坐标数据转换为矢量格式,适用于自然资源部门的地块分析。通过解析TXT文件的标准化格式,提取拐点信息,然后使用FME的转换器创建点、连接线并闭合图形,最终处理多孔地块。整个过程详细阐述了各个步骤,包括使用StringSearcher和DonutBuilder等转换器。
部门通用坐标TXT转SHP的FME方法&spm=1001.2101.3001.5002&articleId=126760086&d=1&t=3&u=56b8eeca4a4549dc978e0c36d4de796a)
9858

被折叠的 条评论
为什么被折叠?



