我正在尝试结合 topojson(从形状文件生成)和数据,以便我可以在 map 上显示相关选择的数据,但还没有成功。
形状文件特征/属性: 编号、代码、姓名
数据文件(我有 .csv 和 josh) 文件 1 列: year1, year2, year3,....标识符,%change。 (数据文件中的“标识符”列等于形状文件中的“代码”)
我有 5 个 json 文件中的数据。
我希望通过合并这两个文件,得到一个具有属性的 topojson 文件, id, code, name, year1, year2, year3,...%change.
想法是,我可以只使用一个 topojson 文件来显示 map 以及相关信息 数据..
这是我目前尝试过的,
生成 topojson: 1. ogr2ogr -f GeoJSON geojsonoutput.json shpefile.shp 2. topojson -o final.json -e *.json --id-property=identifier -p -- geojsonoutput.json
final.json :
{
"type":"Topology",
"objects":{"geojsonoutput":{"type":"GeometryCollection","geometries": [{"type":"Polygon","properties":{"id":"1","name":"some name"},"arcs":
, "file1" : [{id, code, name, year1, year2, year3,...%change}],
"file2" : [{id, code, name, year1, year2, year3,...%change}],
我可以使用以下方法访问 map 信息,
topojson.feature(数据,data.objects.geojsonoutput).features
但是,不确定我如何访问数据......例如在(“file1”或“file2”)键中。
实际上..我的方向对吗?到目前为止我所做的是正确的吗?有没有更好的方法来实现我想要做的事情?
任何指导都会很棒。我对 D3 还是有点陌生,但到目前为止我很喜欢使用它。
干杯
最佳答案
感谢这个例子http://bl.ocks.org/mbostock/5562380 !设法得到我想要的东西..这是解决方案..
topojson -e data.csv --id-property id_in_shapefile,id_in_datafile -p -o final.json -- shapefile.shp
它正确地添加了属性..
干杯
关于json - 将数据 (.csv/json) 与 topojson 相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717357/