除X Y坐标外,如何查看导入的shapefile中存在的其他值/信息

时间:2018-04-05 23:06:16

标签: netlogo shapefile

我将一个shapefile加载到NetLogo中。 叫" locations"。 我可以在命令中心查看XY坐标。但是,我想查看每个坐标的OBJECTID(存在于shapefile中)。我需要这些信息以供参考。 如何在shapefile中查看每个线要素的OBJECTID?

1 个答案:

答案 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关联的名称。

enter image description here