Model Buider中 List和Series的区别[转]

简介: http://www.3sbase.com/chxnews.asp?id=1433 在研究model近半年的日子里,个人觉得Model Buider中最难的部分当属Model的迭代反复即Iteration,而Iteration中最容易混淆的当属List和Series的概念。

http://www.3sbase.com/chxnews.asp?id=1433

在研究model近半年的日子里,个人觉得Model Buider中最难的部分当属Model的迭代反复即Iteration,而Iteration中最容易混淆的当属List和Series的概念。今天有幸得到一篇好文章(来自ESRI Geoprocessing Resource Center),结合自己的学习体会,结合例子,总结一下学习体验,望对学习Model Buider的各位有用。

上面两个Model分别使用了List和Series选项。使用Series的变量标识为“Series of Hurricane”,而使用List的对象标识为“List of Hurricane”。土地利用覆盖的栅格图层(美国东海岸100KM缓冲区范围)必须被每一个飓风所提取。输出的栅格序列必须和飓风轨迹做相关。

下面的列表帮助我们认识List和Series的不同。

(1)List如何工作

A:List是作为一个批处理进程,所有的工具或者进程在同一时刻可以运行List变量中的所有值。

B:List最佳利用场景是当你要让同一个进程,例如使用使用同一个输入以及一个列表的mask来使用Extract by mask来提取,或者将同一个字段添加给一个数据集列表又或者用同样的的一个表达式来计算变量列表中所有变量的值。

(2)在Model Buidler中如何来设置一个变量列表

A:创建一个变量,“List of Hurricane”

B:右击它的属性,然后在Geneal Tab上选择List of Values

D:在变量中添加变量列表

(3)Series如何工作

A:Series和List的区别在于Series中的值是一个接着一个在Tool或者Process中运行(即有多个Process),而List是List中的值在一个进程或Process中同时运行,即只有一个Process。

B:List主要是用于批处理,而Series主要用于模型的迭代和feedback循环。

(4)在ModelBuidler中如何来设置Series变量

A:创建一个变量,命名为“Series of Hurricane”

B:右击它的属性,然后在General Tab上选择Series of Values

C:为这个变量输入添加值或者数据集

D:从Model的主菜单中选择Model Properties,然后在Iteration Tab中,将“Get Iteration count from this variable” 的值设置为“Series of Hurricane”

List和Series的区别

从Model Buider的页面上看List和Series的区别在于它们的输出。如果这个变量是一个List的话,那么它的输出符号跟输入一样,是Multiple输出;而如果这个变量是Series的话,那么它的输入是一个Multiple Input而输出却是一个Single Output。如图所示:

在上面这张图中,同样的模型使用不同的List和Series选项。在第一个模型中,变量被申明为List,包含一个feature Class的序列,此时在Model Buidler中,Input和Output都展示为Multiple。而同样的模型,你可以将变量申明成Series。此时,Input显示为Multiple的样式,而Output却是Single的样式。两个模型的差别在于模型执行的方式。List方式是所有的Feature class在同一个工具中同时执行,而Series方式却是工具一个接着一个执行。

相关文章
|
存储 容器
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
List,linkeedlist集合介绍,特点,二者区别,增长因子,去重复
319 0
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
473 4
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
存储 Java C语言
Java List 复制:浅拷贝与深拷贝方法及区别
我是小假 期待与你的下一次相遇 ~
1359 1
|
存储 开发者 索引
List 和 Set 集合的区别
List 和 Set 集合的区别
1093 0
|
存储 Python
Python中list, tuple, dict,set的区别和使用场景
Python中list, tuple, dict,set的区别和使用场景
1649 2
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
存储 Java 索引
Java 中 List、Set、Map 和 Queue 之间的区别
【8月更文挑战第22天】
737 0
【Java基础面试四十六】、 List<? super T>和List<? extends T>有什么区别?
这篇文章阐述了Java泛型中的List<? super T>和List<? extends T>的区别,解释了通配符的使用规则,以及Java泛型设计原则确保了编译时无警告则运行时无ClassCastException异常。
|
存储 安全 程序员
老程序员分享:List、Map、Set之间的联系与区别:
老程序员分享:List、Map、Set之间的联系与区别:

热门文章

最新文章