ESRI Shapefile(shp),是ESRI開發的一種空間資料開放的向量格式。
但是D3.js無法直接讀取shapefile的檔案格式,必須先進行轉換。
 topojson 是一個改善 geojson 要去存取過多的重複資料所做的新的一種資料格式, 這種資料格式比geojson可以節省許多的檔案空間,有利讀取的速度。

 GitHub上有一個專案可以直接把shp檔轉成topojson,方便D3.js後續的應用。
 由於topojson是Nodejs 的模組之一,所以需要先安裝 Nodejs。

Nodejs:https://nodejs.org/ 

完成安裝後,在Windows開啟cmd.exe(命令列模式),安裝topojson模組:
 c:\> npm install -g topojson  

模組完成安裝之後,就可以把shp檔轉成topojson了,因為我是下載台南市的里區圖, 而台南市政府提供的是TWD97座標地圖,
先用QGIS把它另存為WGS84的座標地圖, 如果是從交通部下載開啟資料的地圖,
因為交通部個別有提供TWD97與WGS84的地圖, 所以只要選擇WGS84(經緯度)就不必再透過QGIS來做座標轉換。
另外因為中文字的緣故,所以要另外指定big5 轉檔的語法,整個轉換語法如下::
 c:\> topojson -o tnn.json -p --shapefile-encoding big5 tnn.shp
arrow
arrow
    文章標籤
    topojson shapefile
    全站熱搜

    keven 發表在 痞客邦 留言(0) 人氣()