投影错位谷歌geojson vs d3

时间:2014-07-06 17:20:31

标签: google-maps google-maps-api-3 d3.js geojson

对于给定的geoJSON文件,在本例中是伊利诺伊州的县界,我将google.maps.Data()图层和D3.geo.path()mercator projection重叠,{{3 }}

谷歌数据层(红色)是一个对象,它与任何谷歌叠加层(多边形,标记,折线等)显示在同一个画布中,而D3.geo.path()(蓝色)显示在SVG容器我重叠在谷歌容器的顶部。

Difference between projections

正如您所看到的,最西端的县显示D3线左侧的谷边界线,而在东侧,D3是左侧的位移。

起初我以为我错误地使SVG容器居中,但这个例子表明位移不均匀,所以我不能用SVG变换矩阵来修复它。

这种情况发生在任何geoJSON上,无论我尝试使用的缩放或世界的地方。现在,这很奇怪,因为如果d3.geo.mercator()错误地将coords转换为像素,则错误计算将不均匀。它也不是近似问题,因为它不随缩放而变化。

这对于不同的投影引擎来说只是一个小问题吗?我不希望google,d3,leaflet和openlayers将一个坐标对翻译成完全相同的像素,但我不想忽略这个因为我可能做错了一些。

任何想法都将不胜感激。 @mbostock,我召唤你。

编辑:我花了很多时间来展示一个自成一体的例子,但它帮助我更好地理解了幕后发生的事情。

请参阅I notice a displacement between both projections

0 个答案:

没有答案