我用 D3.js 制作了一张世界地图。一切都很顺利。然后,我对不同的 geojson 文件使用相同的代码,仅描述瑞典,并出现多个解析错误。两个 json 文件具有相同的结构、格式良好等等。唯一的区别是坐标,所以我怀疑这就是问题所在。有什么想法吗?
我正在使用 QGIS 将 shapefile 转换为 geojson 格式。我收到的错误是:“错误:解析 d='[路径字符串]'时出现问题”。并且路径字符串到处包含 NaN。
Sweden.json 摘录:
{
"type": "Feature",
"id": 0,
"properties": {
"KNKOD": "0114",
"KNNAMN": "Upplands Väsby",
"LANDAREAKM": 75.4
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
1620218.000425555,
6599561.998826771
],...
Countries.json 摘录
{
"type": "Feature",
"id": 0,
"properties": {
"type": "Country",
"name": "Aruba"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-69.89912109375,
12.452001953124991
],...
Javascript
var canvas = d3.select("body").append("svg")
.attr("width", 960)
.attr("height", 1000)
d3.json("sweden/countries.geojson", function (data) {
var group = canvas.selectAll("g")
.data(data.features)
.enter()
.append("g")
var path = d3.geo.path().projection(d3.geo.mercator());
var areas = group.append("path")
.attr("d", path)
})
最佳答案
您的 GeoJSON 文件不在同一坐标系中。瑞典的坐标看起来像在 UTM 。使用 QGIS 转换为 GeoJSON 时,请确保您对瑞典使用的坐标系与对世界文件使用的坐标系相同 - 这应该可以修复错误。
关于javascript - 从 GeoJSON 绘制 SVG 路径时出现解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838799/