说明
本实例的重点是Arcgis模型的迭代器和“行变量替换”的使用。
数据准备:
图层类型 | 图层名称 | 图层 | 属性描述 |
点 | ptLayer(点数据来源图层) | ID | 唯一标识 |
toID | 关联点号 | ||
线 | Lines(生产的线图层) |
|
|
点数据:
实现功能:
对一个图层中所有的点,将该点与该点关联的点连接成线,形成线图层。
建立模型
过程描述
1)依据“ID”对点图层进行迭代,逐条获取点数据;
2)获取“ID”和“TOID”属性,并到点图层中,筛选相应的点数据;
3)将两个点添加到点图层中;
4)将点图层转换为线图层;
5)将生产的线追加到结果线图层。
注意事项
“ID”和“TOID”都是变量,因此进行数据筛选时组织的查询条件,要采用“行变量替换”,如下所示:
输出结果
结论
采用Arcgis的模型,可实现迭代和基于变量的过滤进行数据操作,但是在过程中每次操作结果如“追加”、“点集转线”,都要生产图层,所有该迭代过程执行效率不高,但是无稳定问题。
该模型功能,采用编程(如AO)或基于ST_GEOMETRY的SQL方式实现较简单且效率更高,大家可以自己试验一下。