目录
在给图斑编号,标BSM时,经常遇到需要按村、从左上方开始,从左向右,从上向下的顺序进行编号的需求。如果采用传统方法,操作繁琐,费时费力。这里给大家介绍一种基于FME实现的编号方法,实现了对图斑分村,并且从左到右,从上到下的顺序进行编号。其他起点及方向的编号与本文案例类似,可参照此法,小改即可。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。
一、实现效果
通过图1可以看到图斑情况,两种不同填充颜色的图斑分属于两个不同的村。通过图2可以看到,实现了在每个村内部从左往右,从上向下的顺序编号。
图1 源图斑情况
图2 编号成果
二、实现过程
1.获取图斑中心坐标
在数据读取后,获取图斑中心坐标。如下图所示。
图3 获取图斑中心坐标
2.图斑排序
获取图斑中心坐标后,根据X、Y坐标,计算出排序系数,并根据排序系数进行排序,如下图所示。
图4 图斑排序
3.创建顺序号
当图斑排好序后,根据所需的编号规则,创建编号即可,本案例的序号规则为“J”+顺序号,如下图所示。
图5 创建顺序号
☛ 教程推荐 ☚
三、成果整理展示
为让大家直观了解编号的分布,这里将编号后的数据转文本并叠加图斑,效果如下。关注微行公众号:“GIS工具乐园”,持续更新FME开发技巧分享哦。
图6 成果展示
四、总结
1.本案例主要利用图斑中心坐标,计算排序系数,并根据排序系数排序后,再创建序号,即实现了在各村内部从左往右,从上向下的方向进行编号。使用到的主要转换器有CenterPointExtractor、Sorter、AttributeCreator等。
2.如需要使用其他方向的编号,只需修改排序系数计算规则即可。