使用 QGIS 和 D3 可视化自定义地图.js会受到投影的损害

Visualising a custom map with QGIS and D3.js is harmed by the projection

本文关键字:投影 js QGIS D3 可视化 地图 自定义 使用      更新时间:2023-09-26

这是我有的 4 个多边形:https://i.stack.imgur.com/GjmUu.jpg 在 QGIS 中。我现在想将它们与 D3.js 一起使用。我已经尝试了QGIS生成的形状文件中的东西,当通过mapshaper转换为topojson时,格式不正确。这在旧的 json 文件上运行良好。但是当我创建一个新的时,它在垂直中间窃听。这是 http://jsfiddle.net/kwoxer/kpL1uyy2/5/的例子:

var projection = d3.geo.projection(function(x, y) { return [x, y];})
        .precision(0).scale(1).translate([0, 0]);
var path = d3.geo.path().projection(projection);

我也试过:

var path = d3.geo.path().projection(null);

但随后整个地图都镜像在中间。

我想我必须假设我没有正确使用该系统。json在mapshaper上也很好。所以你有一些技巧,这样我就可以画任何我想画的东西,无论它有多大,然后 d3.js 能够按原样画出来。=)

也许通过

  • 标准化局域网/液化天然气
  • 禁用 KBS

我真的不知道为什么创建自己的地图不是向前发展的。

编辑1:在这里几乎发现了我的问题 https://gis.stackexchange.com/questions/54373/either-geojson-to-topojson-conversion-problem-or-projection-issue-with-d3-js 但我得到了:

C:'Program Files'GDAL>ogr2ogr.exe -f "GeoJSON" -s_srs region.prj -t_srs EPSG:432
6 asdas.json region.shp
ERROR 4: Failed to create GeoJSON datasource: asdas.json.
GeoJSON driver failed to create asdas.json

编辑2:已经找到了这个有趣的答案:https://gis.stackexchange.com/questions/14731/how-do-i-specify-a-crs-for-a-fictional-game-map-in-qgis

但是我使用了像他一样的投影,但仍然在d3.js上失败了。

我现在只是使用自己的投影

+proj=eqc +a=1790493.11 +lat_ts=0 +lon_0=0 +rf=800 +units=m +no_defs

有了这个投影,一切都很好。