我正在尝试使用makefile嵌入带有csv数据的topojson文件。我正在使用Mike Bostock的us-atlas作为指南。
topo/us-counties-10m-ungrouped.json: shp/us/counties.shp
mkdir -p $(dir $@)
topojson \
-o us_counties.json \
--no-pre-quantization \
--post-quantization=1e6 \
--external-properties=output.csv \
--id-property=FIPS \
--properties="County=County" \
--properties="PerChildrenPos=+PerChildrenPos" \
--simplify=7e-7 \
-- $<
它创建了我需要的topojson但完全忽略了output.csv文件。 以下是它回归的一瞥。
{"type":"Polygon","id":"53051","properties":{"code":"53051"},"arcs":[[-22,79,80,-75,81]]}
这就是我需要它返回的地方。
{"type":"Polygon","id":"53051","properties":{"code":"53051", "County":"Los Angeles", "PerChildrenPos": 10},"arcs":[[-22,79,80,-75,81]]}
为什么它可能会忽略csv文件的任何想法,我已经测试过移动它以查看它是否是无法访问的东西?
提前致谢。
答案 0 :(得分:0)
根据此处的文件:https://github.com/mbostock/topojson/wiki/Command-Line-Reference#external-properties
(如果您的CSV文件为要素标识符使用不同的列名,则可以指定多个ID属性,例如--id-property = + FIPS,+ id。)
您似乎需要将--id-property=FIPS \
更改为与您的CSV列名对应的内容。
同样适用于--properties="County=County" \
我认为它应该是--properties County=+County \
--properties="PerChildrenPos=+PerChildrenPos" \
相同
应为--properties PerChildrenPos=+PerChildrenPos \
对于--external-properties=output.csv \
它应该是--external-properties output.csv \
基本上,参数不需要以=
符号作为前缀。