传单中的墨卡托偏差图


9

我从墨卡托投影页面上的这张 Wikipedia图片中获得启发,并用传单散布。想法是交互式地使您的光标移动到一个大陆上,并且将根据投影对其进行校正。

有关状态描述者,请参见以下JSFiddle;

http://jsfiddle.net/cantdutchthis/NrAEL/1/

我对投影世界有些陌生,尽管演示可以很好地适应纬度。当我比较维基百科上的等角投影墨卡托投影时,我得到的印象是,当您比较这两个投影时,投影的偏差仅在“ y轴”上。

我得到的印象是由于第一张维基百科图片,我没有校正经度。我想支持这一点,但我不知道实现此目的的最佳方法是什么。

目前,我能够显示墨卡托投影的偏差的方法是每次鼠标移动时都将坐标移动到鼠标光标上。

map.on("mousemove", function(d){ 
    Object.keys(myLayer._layers).map(function(d){ myLayer.removeLayer( myLayer._layers[d] ) })

    var plotCoords = [];

    // green is the coordinate array for the landmass 
    var green = [ [-46.76373672, 82.62796021],... ]


    for ( i in green ) {
       // shift the landmass to where the cursor is
       var x = d.latlng.lng + green[i][0] + 40
       var y = d.latlng.lat + green[i][1] - 80
       circleCoords.push( [ x,y ] );
    }

    window.coords = plotCoords

    window.geojsonFeature = {
      "type": "Feature",
      "properties": {},
      "geometry": {
          "type": "Polygon",
          "coordinates": [coords]
      }
    };

    myLayer.addData(geojsonFeature);

});

交互式传单图的最佳方式也是可以显示维基百科上的效果。

-编辑!

有关更多示例,请参见我的博客。http://koaning.com


1
好主意 !这似乎是正确的。使用墨卡托时,无论您身在何处,子午线之间的间距都将保留,因此在移动多边形时,相对的纵向范围不应改变。
radouxju 2014年

DRTL。弗兰克的兄弟?
Willy 2014年

太好了,我可以在课堂上使用它。
如果您不知道,那就是GIS

koaning.com现在有最新的博客文章。很高兴听到人们喜欢它。
文森特·沃默丹

“校正投影”到底是什么意思?另外,代码的目的是什么?它似乎没有添加任何问题。
马丁F

Answers:


1

我想您希望同时更改可移动区域的相对纬度和相对经度,以使每个相对坐标现在看起来像在其他具有相同新纬度的区域中一样,仅会失真多少?如果是这样,那么@radouxju是不正确的,您目前只有一半。保形投影(例如墨卡托投影)的一个定义特征是,在地球仪/地图上的任何一点上,线性比例因子在所有方向上都是恒定的。因此,在移动时对Y比例所做的任何更改也应对X比例进行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.