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

时间:2015-01-23 01:01:16

标签: javascript json d3.js projection qgis

这些是我拥有的4个多边形: QGIS 中的http://imgur.com/vsVjxE1。我现在想用 D3.js 来使用它们。我已经尝试了QGIS generated shapefile malformed when converted to topojson by mapshaper中的内容。这在旧的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能够按原样绘制它。 =)

也许是

  • 规范化lan / lng
  • 禁用KBS

我真的不知道为什么创建一张自己的地图不是直截了当的。

Edit1:在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

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

但是我使用了他所使用的这样的投影,但仍然没有使用d3.js.

1 个答案:

答案 0 :(得分:0)

我现在只使用自己的投影

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

通过这个预测一切都很好。