2013-10-31 64 views
0

我一直在做d3 let's make a map教程,我很關閉,但在合併兩個json文件時發生了一些事情,因爲最終的uk.json沒有三個字母的國家代碼 - 渲染我的地圖是無用的,因爲我無法將類分配給子單元。topojson makefile沒有國家數據

我從邁克·博斯托克讀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

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 *>加載.shp文件>右鍵單擊圖層>打開屬性表>在那裏,查看列的標題。

*:或其他GIS軟件

+0

是的,我用你的代碼,並有同樣的問題...基本上當我製作uk.json文件時,我的子單元是未定義的,而不是具有三個字母的國家/地區代碼。我如何知道GIS文件的數據屬性是否更改? – allison

+0

QuantumGIS *>加載.shp文件>右鍵單擊圖層>打開屬性表 >在那裏,查看列的標題。如果我記得好的話,它是區分大小寫的。 – Hugolpz

+0

想通了 - 需要大寫--id屬性SU_A3,然後它的工作!感謝您的幫助 – allison

0

我有同樣的問題,但一段時間後,我意識到,doc

-p,--properties特徵屬性保存;沒有名字保留所有屬性

所以如果你使用-p沒有別的,像

topojson --id-property SU_A3 -p -o yourjson.json -- subunits.json places.json 

,你會得到所有的功能,你就可以檢索到您想要的任何領域。我不知道怎麼是,如果你只是想一些屬性映射(我有同樣的問題)

不管怎麼說,希望這有助於

相關問題