I'm trying to convert a shapefile to GeoJSON and then to TopoJSON as described in Let's Make a Map http://bost.ocks.org/mike/map/#converting-data. Somewhere along the chain, something gets corrupted and my resulting image looks like below:
我的工作流程如下:
- 从以下位置下载形状文件:http://vcgi.vermont.gov/warehouse/search_tools http://vcgi.vermont.gov/warehouse/search_tools-
我正在与大师镇边界 http://maps.vcgi.org/gisdata/vcgi/packaged_zips/BoundaryOther_BNDHASH.zip数据,特别是“边界 BNDHASH_regiontowns.shapefile”。
-
将 shapefile 转换为 GeoJSON
ogr2ogr -f GeoJSON vt_towns.json Boundary_BNDHASH_region_towns.shp
-
将 GeoJSON 转换为 TopoJSON
topojson -p TOWNNAME -p CNTY -o vt.json vt_towns.json
-
插入基本模板,并对 Mike Bostock 的示例进行一些小修改
<!DOCTYPE html>
<meta charset="utf-8">
<style>
/* CSS goes here. */
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<script>
var width = 960,
height = 1160;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geo.transverseMercator()
.rotate([72.57, -44.20])
.translate([175,185])
.scale([100]);
// Define path generator
var path = d3.geo.path()
.projection(projection);
d3.json("vt.json", function(error, vt) {
var vermont = topojson.feature(vt, vt.objects.vt_towns);
svg.append("path")
.datum(vermont)
.attr("d", path);
});
</script>
这不是我的第一张 d3 地图(这是我的第二张!),但我非常不知道出了什么问题。我最好的猜测是,它与包含许多形状文件及其附带文件的解压缩数据集有关。
您的文件似乎使用网格坐标系,请使用该选项-t_srs EPSG:4326
获取纬度和经度:
ogr2ogr -f GeoJSON -t_srs EPSG:4326 vt_towns.json Boundary_BNDHASH_region_towns.shp
然后继续您的工作流程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)