Netlogo:从 GIS 矢量要素制作列表
Netlogo: Making a list from a GIS Vector Feature
我正在使用 Netlogo 的 GIS 扩展。这是在 QGis 中查看的 SHP 文件的属性 table:
我想获取 SUBSECTOR 列的所有值来制作此列表:[Ch8 Ch9 M1 M10 M11 M12 M13 M14 M15 M16 M17...Mn] ,并将其传递给名为 My-List 的全局变量以下代码:
to list-subsectors
foreach gis:feature-list-of Subsectors-dataset [vector-feature ->
set My-list gis:property-value vector-feature "SUBSECTOR"]
end
但是My-list
只填充了一个值。怎么能全部列出呢? Netlogo文件可以下载here
我无法对此进行测试,也不知道它是否有效,但查看您的代码,您正在使用 set
作为列表(新建)而不是 lput
或fput
(添加一个项目),同时使用 foreach
进行迭代。会发生什么:
to list-subsectors
let My-list []
foreach gis:feature-list-of Subsectors-dataset [vector-feature ->
set My-list lput gis:property-value vector-feature "SUBSECTOR" My-list]
end
通过使用 GIS 扩展中的功能,您可以定义以下辅助功能:
to-report extract-column [column]
report map [vector-feature -> gis:property-value vector-feature column ] (gis:feature-list-of Subsectors-dataset )
end
然后您可以通过编写如下内容从数据文件中提取您想要的任何列:
set My-list extract-column "SUBSECTOR"
show My-list
我希望这对你有用,
费尔南多
我正在使用 Netlogo 的 GIS 扩展。这是在 QGis 中查看的 SHP 文件的属性 table:
我想获取 SUBSECTOR 列的所有值来制作此列表:[Ch8 Ch9 M1 M10 M11 M12 M13 M14 M15 M16 M17...Mn] ,并将其传递给名为 My-List 的全局变量以下代码:
to list-subsectors
foreach gis:feature-list-of Subsectors-dataset [vector-feature ->
set My-list gis:property-value vector-feature "SUBSECTOR"]
end
但是My-list
只填充了一个值。怎么能全部列出呢? Netlogo文件可以下载here
我无法对此进行测试,也不知道它是否有效,但查看您的代码,您正在使用 set
作为列表(新建)而不是 lput
或fput
(添加一个项目),同时使用 foreach
进行迭代。会发生什么:
to list-subsectors
let My-list []
foreach gis:feature-list-of Subsectors-dataset [vector-feature ->
set My-list lput gis:property-value vector-feature "SUBSECTOR" My-list]
end
通过使用 GIS 扩展中的功能,您可以定义以下辅助功能:
to-report extract-column [column]
report map [vector-feature -> gis:property-value vector-feature column ] (gis:feature-list-of Subsectors-dataset )
end
然后您可以通过编写如下内容从数据文件中提取您想要的任何列:
set My-list extract-column "SUBSECTOR"
show My-list
我希望这对你有用, 费尔南多