我已经按照互联网上的所有几条说明但现在没有结果,我想探索D3用于等值区域地图,生成的topojson无法在此时使用d3 am堆栈在浏览器中渲染,
到目前为止,我已经下载并安装了ogr2ogr,Nodejs
正在运行以生成topo json的命令是
ogr2ogr -f GeoJSON -s_srs EPSG:4199 -t_srs EPSG:4199 districts.json“uganda distriscts.shp”
接着是
topojson --id-property district_i -p district = DIST_2010 -p AREA -p HECTAREAS -o ug.json districts.json
完全是D3和TopoJSON的新手,也不是GIS专家。请帮我克服这个附着的shapefiles我想生成topojson并使用d3在等值区域地图上渲染。我很高兴,如果有人可以为我提供关于如何为乌干达生成正确的topojson格式的指示,因为大多数例子都在美国和其他地区。我们将非常感谢您的帮助
答案 0 :(得分:2)
首先 - 什么是"uganda distriscts.shp"
?为什么在命令中有文件名和引号的空格。您应该拥有所有不包含uganda_distriscts.shp
或ugandaDistriscts.shp
空格的文件,并且不需要引号!
第二 - 您应该将地图转换为WGS84,如下所示:
ogr2ogr -f GeoJSON -s_srs uganda_distriscts.prj -t_srs EPSG:4326 uganda_distriscts_wgs84.json uganda_distriscts.shp
此处uganda_distriscts.prj
是您应该拥有的投影文件,也许它有另一个名称,因此请在文件夹中查找扩展名为.prj
的文件。
接下来你应该像这样创建TopoJSON文件:
topojson -o ug.json --id-property district_i -p district=DIST_2010 -p AREA -p HECTAREAS uganda=uganda_distriscts_wgs84.json
检查这个帖子Map with d3.js and TopoJSON, Albers Siberia projection。我希望这会对你有所帮助。