小编Jan*_*aan的帖子

在d3.js中绘制已经投影的geoJSON映射

使用d3.js的v3,我在使用geoJSON数据绘制地图时遇到问题.代码和生成的映射显示在:http://bl.ocks.org/73833ec90a8a77b0e29f.使用d3.js的v2,此示例生成正确的映射.

  1. 我的数据已经预测(它们是Dutch National Grid/Rijksdriehoekstelsel坐标).为了弥补这一点,我编写了自己的投影函数,它只是将地图的坐标系转换为像素(例如缩放和平移).
  2. d3.js v3中的d3.geo.path()重新采样数据.但是,重新采样中生成的点似乎与我的地图在同一坐标系中(我假设它们是lon,lat坐标).

我宁愿不将地图的坐标转换为lon,lat坐标,因为地图已经按照我想要的方式进行投影,据我所知,这不是一个微不足道的投影.

如果问题确实是由重采样引起的,我想禁用重采样.但是,在文档中我真的找不到如何做到这一点.我可以传递一个流对象,而不是将投影函数传递给d3.geo.path.projection().我认为以下内容可行:

var projection = d3.geo.projection(function(x, y) {
    return [ scale*(x-xmin), height-scale*(y-ymin) ];
  }).precision(0);
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.可能也与我没有lat,lon坐标的事实有关.如何使用自定义投影功能禁用重采样?

或者当其他事情导致问题时,我想听听.

谢谢.

geojson d3.js

4
推荐指数
2
解决办法
2823
查看次数

标签 统计

d3.js ×1

geojson ×1