我将一个shapefile加载到NetLogo中。 叫" locations"。 我可以在命令中心查看XY坐标。但是,我想查看每个坐标的OBJECTID(存在于shapefile中)。我需要这些信息以供参考。 如何在shapefile中查看每个线要素的OBJECTID?
答案 0 :(得分:1)
使用此示例设置,其中" Sector_Boundary.shp"是一个包含10个子单元的shapefile:
extensions [ gis ]
globals [ example-gis-data ]
to setup
ca
set example-gis-data gis:load-dataset "Sector_Boundary.shp"
gis:set-drawing-color white
gis:draw example-gis-data 1
reset-ticks
end
如果您只需要输出对象ID,则可以使用gis:feature-list-of
提取功能列表,然后使用gis:property-value
来提取" OBJECTID"对于每一个:
to view-info
let list-of-features gis:feature-list-of example-gis-data
let list-of-ids map [ i -> gis:property-value i "OBJECTID" ] list-of-features
print list-of-ids
end
您当然可以根据需要为不同的属性名称执行相同的操作,并根据需要输出其他参考信息。例如,如果您的位置shapefile有一个NAME字段作为我的" Sector_Boundary.shp"你可以这样做:
to view-info
let list-of-features gis:feature-list-of example-gis-data
let list-of-ids map [ i -> gis:property-value i "OBJECTID" ] list-of-features
let list-of-names map [ i -> gis:property-value i "NAME" ] list-of-features
( foreach list-of-names list-of-ids [
[ name id ] ->
print ( word "Name: " name ", Object id: " id )
])
end
查看与每个对象ID关联的名称。