NetLogo中查看导入shapefile的OBJECTID及非XY坐标属性方法
在NetLogo中查看Shapefile的OBJECTID及其他属性
嘿,我来帮你搞定这个问题!NetLogo导入shapefile后,所有属性都会绑定到对应的agents上,咱们一步步来操作:
查看线要素的OBJECTID
因为你导入的是线要素,它们在NetLogo里会被转换成link agents,OBJECTID会变成link的一个变量(通常是小写的objectid,NetLogo对变量名大小写不敏感,但导入时一般会转成小写)。你可以用这几种方法查看:
- 单个要素查看:先在界面上点击选中一条线,然后在命令中心输入:
如果这个命令没反应,试试大写的show [objectid] of myself[OBJECTID],有些情况下字段名会保留原大小写。 - 批量查看所有要素:想一次性看到所有线的OBJECTID,直接输入:
命令中心会输出一个包含所有OBJECTID的列表。show [objectid] of links - 实时查看(界面组件):在NetLogo的界面编辑器里添加一个「Monitor」组件,把监控内容设为
[objectid] of myself,之后你选中任意线,就能在界面上实时看到它的OBJECTID了。
查看Shapefile的其他属性值
NetLogo会把shapefile里所有非空间属性都转换成对应agent的变量,字段名会自动调整成合法的NetLogo变量名(比如空格换成下划线、特殊字符去掉、转小写)。查看方法类似:
- 查看单个要素的所有属性:选中一条线,输入:
这会列出这个link的所有变量,包括NetLogo自带的和shapefile导入的属性。show [all-vars] of myself - 查看单个特定属性:比如你的shapefile有个
ROAD_LENGTH字段,导入后会变成road_length,输入:
就能看到这条线的长度值。show [road_length] of myself - 批量查看所有要素的特定属性:比如要查看所有线的长度,输入:
show [road_length] of links - 表格形式展示(更清晰):如果想同时看多个属性的列表,可以在界面编辑器里添加一个「Table」组件,然后设置表格内容为类似这样的代码(替换成你的实际属性变量名):
这样就能生成一个包含OBJECTID和道路长度的表格,一目了然。table:from-list (map [list "OBJECTID" [objectid] of ? "道路长度" [road_length] of ?] links)
小提示
如果不确定某个属性对应的变量名,输入show [variables] of one-of links,会列出这个link的所有自定义变量(也就是从shapefile导入的属性),帮你确认正确的变量名。
内容的提问来源于stack exchange,提问作者chief
相关产品推荐
相关产品推荐

