2017-07-25 131 views
0

我正在嘗試創建一個應用程序,允許您與美國任何州的任何郵政編碼進行交互。我正在通過使用topoJSON和d3來繪製地圖來完成此任務。我發現一個包含所有需要的數據的topojson文件遇到了很多麻煩,所以我使用GQIS創建了自己的美國狀態文件。使用TopoJSON 2.0 API將形狀文件轉換爲TopoJSON

我最後一步是將我創建的形狀文件轉換爲topoJSON文件。我看過一些教程使用舊版本的topoJSON命令行的,他們能夠通過簡單地運行如下命令來改變其形狀文件到topojson文件:

topojson -p -o illinois.zcta.json -- illinois.shp 

我的理解是,該解剖請求是:

topojson (invoking node module) -p(all properties) -o(all objects) illinois.zcta.json(name of file you want) -- illinois.shp(name of file to converT) 

但是,Topojson API似乎已經更新,不再支持此請求。我已經使用NPM在全局安裝了topojson,並試圖運行上面的函數警告我,topoJSON不是函數。

我已經挖掘了圍繞新版本的topoJSON命令行的the documentation,它看起來要複雜得多。有很多方法可以對數據進行切片 - 但它們都沒有采用Shapefile並將其轉換爲Topojson,或者採用shape文件並將其轉換爲geoJSON,然後我可以將其更改爲Topojson。對我來說,這個功能(將.shp文件直接更改爲topojson文件)將被刪除,這似乎很奇怪 - 儘管它可能在第一個地方是神奇的。任何人都可以指導我將形狀文件轉換爲topojson文件的最佳方式嗎?謝謝。

回答

0

您應該可以使用shp2jsonhttps://github.com/substack/shp2json)和geo2topohttps://github.com/topojson/topojson-server/blob/master/README.md#geo2topo)的序列。但是你也可以直接從QGIS獲得geojson,在這種情況下你可以跳過第一步。

+0

謝謝!我能夠使用shp2json獲得一個可用的GeoJSON文件,但是當我嘗試使用geo2topo進行轉換時,我在JSON中遇到了導致這兩個文件清空的錯誤?我將嘗試直接從QGIS中導出geoJSON,然後查看geo2topo是否更順暢。 –