Diagramma di bias di Mercator in Leaflet


9

Sono stato ispirato da questa immagine di Wikipedia dalla pagina delle proiezioni di Mercatore per andare in giro con il volantino. L'idea era di far spostare interattivamente il cursore su un continente e che sarebbe stato corretto per la proiezione.

Vedere la seguente JSFiddle per lo stato sofar;

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

Sono un po 'nuovo nel mondo delle proiezioni e sebbene la demo funzioni abbastanza bene per la latitudine. Quando confronto la proiezione equirettangolare e quella del mercatore su Wikipedia, ho l'impressione che la distorsione della proiezione sia solo sull'asse y quando si confrontano queste due proiezioni.

Ho l'impressione che non sto correggendo la longitudine a causa della prima immagine di Wikipedia. Vorrei supportarlo, ma non so quale sia il modo migliore per farlo.

Attualmente il modo in cui sono in grado di mostrare il pregiudizio della proiezione del mercatore è spostando le coordinate sul cursore del mouse ogni volta che si sposta il mouse;

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

});

Quale sarebbe il modo migliore per avere questo diagramma di opuscoli interattivi mostrare anche l'effetto, come mostrato su Wikipedia .

-- Modificare!

Per altri esempi vedi il mio blog; http://koaning.com


1
Bella idea! Sembra essere corretto Con Mercator, la spaziatura tra meridiani viene mantenuta ovunque ti trovi, quindi la tua estensione longitudinale relativa non dovrebbe cambiare quando sposti il ​​poligono.
Radouxju,

DRTL. Frank è fratello?
Willy,

fantastico, posso usarlo in classe.
Se non lo sai, basta GIS

koaning.com ha l'ultimo post sul blog ora. felice di sentire piacere alla gente.
Vincent Warmerdam,

Cosa intendi esattamente con "corretto per la proiezione"? Inoltre, qual è lo scopo del codice? Non sembra aggiungere nulla alla domanda.
Martin F

Risposte:


1

Penso che desideri cambiare sia la latitudine relativa che la longitudine relativa della regione mobile in modo che ogni coordinata relativa ora appaia distorta tanto quanto lo è per le altre regioni che sono alla stessa nuova latitudine? In tal caso, @radouxju non è corretto e al momento sei solo a metà strada. Una caratteristica distintiva delle proiezioni conformi, come Mercator, è che in qualsiasi punto del globo / mappa il fattore di scala lineare è costante in tutte le direzioni. Pertanto, qualsiasi modifica apportata alla scala Y durante lo spostamento dovrebbe essere apportata anche alla scala X.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.