Trama de viés de Mercator no Leaflet

9

Fui inspirado por esta imagem da wikipedia da página de projeções do mercator para folhear com o folheto. A idéia era fazer com que o cursor movesse interativamente um continente e isso seria corrigido para a projeção.

Veja o JSFiddle a seguir para obter o status sofar;

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

Sou um pouco novo no mundo das projeções e, embora a demonstração funcione bem o suficiente para a latitude. Quando comparo a projeção equiretangular e a mercator na wikipedia, tenho a impressão de que o viés da projeção está apenas no 'eixo y' quando você compara essas duas projeções.

Tenho a impressão de que não estou corrigindo a longitude devido à primeira imagem da Wikipedia. Gostaria de apoiar isso, mas não sei qual é a melhor maneira de fazer isso.

Atualmente, o modo como sou capaz de mostrar o viés da projeção do mercator é mudando as coordenadas para o rato-cursor toda vez que o mouse se move;

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);

});

Qual seria a melhor maneira de ter esse gráfico de folheto interativo também mostra o efeito, como mostrado na wikipedia .

- Editar!

Para mais exemplos, veja meu blog; http://koaning.com

Vincent Warmerdam
fonte
11
Boa ideia ! Parece estar correto. Com o Mercator, o espaçamento entre o meridiano é preservado onde quer que você esteja, portanto sua extensão longitudinal relativa não deve mudar quando você move o polígono.
precisa saber é o seguinte
DRTL. Irmão de Frank?
Willy
incrível, eu posso usar isso na aula.
Se você não sabe- apenas GIS
O koaning.com tem a publicação mais recente no blog agora. feliz em ouvir as pessoas gostarem.
Vincent Warmerdam
O que exatamente você quer dizer com “corrigido para a projeção”? Além disso, qual é o objetivo do código? Parece não adicionar nada à pergunta.
Martin F

Respostas:

1

Eu acho que você deseja alterar a latitude relativa e a longitude relativa da região móvel, de modo que cada coordenada relativa agora pareça estar apenas distorcida tanto quanto no caso de outras regiões com a mesma nova latitude? Nesse caso, @radouxju está incorreto e você está no meio do caminho. Uma característica definidora das projeções conformes, como Mercator, é que, em qualquer ponto do globo / mapa, o fator de escala linear é constante em todas as direções. Portanto, quaisquer alterações feitas na escala Y à medida que você se move também devem ser feitas na escala X.

Martin F
fonte