我的MacO 10.7.5上安装了gdal 1.10.1和topojson 1.4.0。 我已经下载了ne_110m_ocean形式的自然地球。
我在GeoJSON中成功转换了形状文件:
ogr2ogr \
-f GeoJSON \
ocean.json \
ne_110m_ocean.shp
然后我将GeoJSON转换为topojson:
topojson \
-o ocean_tj.json \
ocean=ocean.json \
当我使用GeoJSON文件进行绘图时,一切正常。
d3.json("ocean.json", function(json) {
svg.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path)
.style("fill", "steelblue");
});
当我使用topojson文件进行绘图时,我没有海洋的多边形,而是获得了土地的多边形!!!!
d3.json("ocean_tj.json", function(topology) {
var ocean = topojson.feature(topology, topology.objects.ocean);
svg.append("path")
.datum(ocean)
.attr("d", path)
.style("fill", "red");
});
有人可以帮忙吗?
提前致谢
答案 0 :(得分:4)
使用选项--no-force-clockwise
解决问题:
topojson -o ocean_tj.json ocean=ocean.json --no-force-clockwise