我收到了一个 GeoJSON 文件,其中的特征使用 EPSG:2169 坐标参考系统。它看起来像这样:
{
"name": "cantons",
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "EPSG:2169" }},
"features": […]
}
只有当我尝试使用 D3.js 显示它时,我才得到一个黑色矩形。代码非常标准:
var width = 500,
height = 960;
var projection = d3.geo.mercator()
.scale(50)
.translate([width / 2, height / 2]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("cantons.json", function(cantons) {
svg.selectAll("path")
.data(cantons.features)
.enter()
.append("path")
.attr("d", path)
});
我可以看到路径已正确创建,但显然坐标是不切实际的。我在想问题可能来自这个异国情调的crs,这就是我尝试使用ogr2ogr转换它的原因:
ogr2ogr -f "GeoJSON" -t_srs "EPSG:4326" cantons_new.json cantons.json
这给了我:
{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": […]
}
但它似乎也不起作用。我很确定这没什么,但是当我上周末开始使用 D3.js 和 GDAL 时,我暂时被困住了。任何帮助让我弄清楚发生了什么以及如何处理这个crs
参数将不胜感激。
谢谢