今天转了一篇用ArcGIS编顺序号的文章,感兴趣的可以对照着看下FME的实现方式
最近有朋友咨询我,怎么对下图中的数据进行编号?怎么将最右边一列的后面加上一个顺序号,把那串0换成顺序号。
仔细看一下,这个图,好像还存在字段的乱码问题。乱码问题的解决可以参考我的这篇文章:FME小技巧-Esri Shapefile乱码! 通过对这个需求进行简单的分析,这个问题要实现的就是对数据的一个编码(顺序码),只需要根据规则,进行编码就好了。
首先,编码由两部分组成:前缀+顺序码,如下图所示:
要编码,可以分为以下几个步骤 1、首先要按照规则对数据进行排序; 2、生成顺序号; 3、根据格式化字符串,固定字符串长度,不足位数补0; 4、将第3步骤中的字符串加上前缀。 编码完成!
想要实现这样的编码我想到的是这几个转换器: 1、Sorter 按照定义的规则,对数据进行排序; 2、Counter 使用这个转换器,会对输入的数据按照顺序,产生一组顺序号; 3、StringFormatter 使用这个转换器,可以将文本前面加上占位符,如,不足六位的在前面补0; 4、AttributeCreator 创建新字段,为文本加上前缀;
有了思路与要用到的转换器,接下来就是解决问题了,理清了思路,下面的就很简单了,如下图所示:
处理前后的数据:
转换器设置有一个需要稍微注意一下:StringFormatter,如下图所示:
间接的书本学习,永远代替不了真实自然存在的体验! 摘自《“反规划”途径》,在这里谢谢郑少的书,让我对规划有了那么一丢丢了解。
这段话,说不上的原因,就是喜欢。