我一直在做d3 let's make a map教程而且我很紧急但是在合并两个json文件时发生了一些事情,因为最终的uk.json没有三个字母国家/地区代码 - 渲染我的地图无用,因为我无法为子单元分配类。
我从Mike Bostock那里读到了this,他说topojson改变了,并且在创建文件时这样做了:
topojson \
--id-property su_a3 \
-p name=NAME \
-p name \
-o topo/uk.json \
topo/subunits.json \
topo/places.json
我在终端中运行但在uk.json文件上输出相同的内容。有任何想法吗?我是否需要在我的目录中创建一个名为" topo"的子文件夹?
答案 0 :(得分:0)
<强> 1。工作代码:很快,我在你的代码中发现了与我的一些不同之处。试试这个:
topojson \
--id-property su_a3 \
-p name=name \
-p name=NAME \
-o topo/uk.json \
-- topo/subunits.json \
topo/places.json
但是我不能测试它。 topo / ...路径也与我的代码不同。
<强> 2。缺失:可能是您在工作流程中丢失了此属性。 GIS文件的数据属性名称可能已更改,等等。
第3。区分大小写:检查您在TOPOJSON中调用的键是否与GIS / Geojson文件中的键匹配。这是区分大小写的。要检查shp文件:QuantumGIS *&gt;加载.shp文件&gt;右键单击图层&gt;打开属性表&gt;在那里,看看专栏的标题。
*:或其他GIS软件
答案 1 :(得分:0)
我有同样的问题,虽然过了一段时间我意识到doc说
-p, - 属性要保留的要素属性;没有名称保留所有属性
因此,如果你使用-p而没有其他任何东西,比如
topojson --id-property SU_A3 -p -o yourjson.json -- subunits.json places.json
您将获得所有功能,您将能够检索所需的任何字段。我不知道如果你只想映射一些属性(我有同样的问题)
无论如何,希望这个帮助