添加属性的最简单方法是,当您仍然拥有 shapefile 时,将其导入 QGIS ( http://www.qgis.org/en/site/ ) 通过属性/属性编辑属性表。在那里您可以添加/删除列并更改值等。准备好后,只需将图层保存为 GeoJSON。
如果你想用困难的方式来做,你也可以在你最喜欢的文本编辑器中打开 GeoJSON 文件并编辑 JSON 结构。通常一个特征集合看起来像这样:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"name": "My Point"
},
"geometry": {
"type": "Point",
"coordinates": [-45, -45]
}
},{
"type": "Feature",
"properties": {
"name": "My LineString"
},
"geometry": {
"type": "LineString",
"coordinates": [
[45, -45],
[45,45]
]
}
}
}
在那里,您会看到两个特征,一个点和一个线串特征。这些功能包含一个属性对象,您可以在其中添加所需的属性。因此,例如更改:
"properties": {
"name": "My Point"
},
至:
"properties": {
"name": "My Point",
"description": "Awesome feature",
"number": 1,
"array":, ["a", "b"]
},
然后在完成后保存文件,如果您不确定,您甚至可以使用 GeoJSON lint 之类的东西来验证整个集合或单个功能:http: //geojsonlint.com/
对于您感兴趣的那一行是jQuery中的一个方法,该方法$.getJSON
将 JSON 文件从本地或外部位置加载到您的当前脚本中。要使用它,请给它两个参数。第一个是加载数据的 url,//example.org/data.geo.json
或者/my/local/folder/data.geo.json
第二个是加载数据后执行的函数,因此您可以处理数据,将其分配给某些东西。例如:
$.getJSON('//example.org/data.geo.json', function (data) {
// here 'data' contains the geojson object for you to use
});
可以在此处找到有关 getJSON 方法的更多信息:http: //api.jquery.com/jquery.getjson/