ESRI Shapefile(shp),是ESRI开发的一种空间资料开放的向量格式。
但是D3.js无法直接读取shapefile的档案格式,必须先进行转换。
topojson 是一个改善 geojson 要去存取过多的重复资料所做的新的一种资料格式, 这种资料格式比geojson可以节省许多的档案空间,有利读取的速度。
GitHub上有一个专案可以直接把shp档转成topojson,方便D3.js后续的应用。
由于topojson是Nodejs 的模组之一,所以需要先安装 Nodejs。
完成安装后,在Windows开启cmd.exe(命令列模式),安装topojson模组:
模组完成安装之后,就可以把shp档转成topojson了,因为我是下载台南市的里区图, 而台南市政府提供的是TWD97座标地图,
先用QGIS把它另存为WGS84的座标地图, 如果是从交通部下载开启资料的地图,
因为交通部个别有提供TWD97与WGS84的地图, 所以只要选择WGS84(经纬度)就不必再透过QGIS来做座标转换。
另外因为中文字的缘故,所以要另外指定big5 转档的语法: