【发布时间】:2015-02-18 05:34:16
【问题描述】:
我使用 mapshaper 成功地将英国地图 shapefile 转换为 geojson。但我无法在 d3.js 中加载这个 geojson。请帮忙。脚本如下。
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var canvas = d3.select("body").append("svg")
.attr("width", 760)
.attr("height", 700)
d3.json("Areas_uk_geo.json", function (data) {
var group = canvas.selectAll("g")
.data(data.geometries)
.enter()
.append("g");
var projection = d3.geo.mercator();
var path = d3.geo.path.projection(projection);
var areas = group.append("path")
.attr("d", path)
.attr("class", "area");
});
</script>
geojson 文件有一个 geometryCollection 而不是 featureCollection。 geojson 文件的格式如下。
{
"type" : "GeometryCollection",
"geometries" : [{
"type" : "MultiPolygon",
"coordinates" : [[[[-2.2241804372470533, 56.88745481725907],
.... }, ... 等等。
我得到的错误是“d3.geo.path.projection 不是函数”
【问题讨论】:
-
我觉得应该是d3.geo.path().projection(projection);
-
@VincentBeltman 感谢您的指正。
标签: javascript json d3.js geojson