Csv 从Excel数据在NetLogo中显示特定修补程序
该模型的目的是显示被狼代理占据的补丁,并显示狼成功杀死(猎物代理)的位置。数据由一个CSV文件提供,该文件列出了在某个点有狼来访的所有补丁坐标,以及是否有成功的捕杀。CSV文件的格式为:勾号#、补丁id(pxcor pycor)、狼群id和杀戮计数。目前,我只希望具有pxcor pycor=patch id的补丁具有“ACTIVE”属性,这样我就可以轻松区分哪些补丁是狼访问的,哪些补丁不是狼代理访问的Csv 从Excel数据在NetLogo中显示特定修补程序,csv,coordinates,netlogo,patch,Csv,Coordinates,Netlogo,Patch,该模型的目的是显示被狼代理占据的补丁,并显示狼成功杀死(猎物代理)的位置。数据由一个CSV文件提供,该文件列出了在某个点有狼来访的所有补丁坐标,以及是否有成功的捕杀。CSV文件的格式为:勾号#、补丁id(pxcor pycor)、狼群id和杀戮计数。目前,我只希望具有pxcor pycor=patch id的补丁具有“ACTIVE”属性,这样我就可以轻松区分哪些补丁是狼访问的,哪些补丁不是狼代理访问的 globals [ grass-patches ;; NL
globals [
grass-patches ;; NLCD classifications
forest-patches
urban-patches
agriculture-patches
water-patches
barren-patches
vegetation-dataset ;; DEM data layers
elevation-dataset
slope-dataset
map-data ;;CSV data from wolf model-- wolf dispersal and kmarker location
]
patches-own [
NLCDtype ;; The grouping/classifications of the different NLCD veg-types--these correspond to the global patch types
veg-type ;; NLCD gridcodes for teh vegetation data
veg-amount ;; Resources/biomass available for the prey to consume
elevation ;; DEM
slope ;; DEM
countdown ;; How the vegetation "grow" and die through the model time
hash-id ;; The UNIQUE ID (xy coordinates) for each patch
wolf-occupation ;; How to tell if a wolf agent has been in the patch: ACTIVE shows occupation, INACTIVE has no wolf occupation
]
到目前为止,我已通过逐行读取.CSV成功地将数据加载到.nlogo项目中:
to setup
clear-all
reset-ticks
setup-gis
load-csv-data
ask patches [ set hash-id (word pxcor " " pycor)]
end
to load-csv-data
ifelse ( file-exists? "ph-memory_TEST.csv" )
[
file-open "Ph-memory_TEST.csv"
while [ not file-at-end? ]
[set map-data csv:from-row file-read-line]
user-message "File loading complete!"
]
[user-message "There is an error reading the CSV data"]
end
CSV文件格式为:
我尝试通过以下命令实现“while”循环:
to load-wolf-data
cp
ifelse ( is-list? map-data )
[foreach map-data [
ask patches [while (pxcor pycor = position 1 map-data) [set wolf-occupation "ACTIVE"]
] ]]
[user-message "You need to load the map data first!"]
end
NetLogo给出了当前代码的语法错误,但我希望有人能帮助我正确地实现这一点。或者,如果有人能帮助我理解如何将CSV文件的补丁id与.nlogo pxcor pycor关联起来。任何帮助或建议将不胜感激 有一种非常简单的方法可以将此类CSV数据加载到Sect中的NetLogo中。Railsback&Grimm的5.5:
有一种非常简单的方法可以将此类CSV数据加载到Sect中的NetLogo中。Railsback&Grimm的5.5:
您能给我们展示一些csv数据示例吗?您已经列出了变量名,但不清楚补丁标识符中是否有空格或逗号。@JenB谢谢您的建议。我已经包含了用于澄清的CSV格式。在我看来,您的地图数据加载将只保留最后一行。也就是说,通过
的每个循环,而用新行数据替换变量映射数据。您确定这包含完整的数据集吗?导入后,打印出来并检查。您能给我们看一些csv数据示例吗?您已经列出了变量名,但不清楚补丁标识符中是否有空格或逗号。@JenB谢谢您的建议。我已经包含了用于澄清的CSV格式。在我看来,您的地图数据加载将只保留最后一行。也就是说,通过的每个循环,而用新行数据替换变量映射数据。您确定这包含完整的数据集吗?导入后,将其打印出来并进行检查。