Plot bias Mercator di Leaflet

9

Saya terinspirasi oleh gambar wikipedia ini dari halaman proyeksi mercator untuk mencari-cari selebaran. Idenya adalah untuk secara interaktif membuat kursor Anda memindahkan benua dan bahwa itu akan dikoreksi untuk proyeksi.

Lihat JSFiddle berikut untuk sofat status;

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

Saya agak baru di dunia proyeksi dan meskipun demo bekerja cukup baik untuk garis lintang. Ketika saya membandingkan proyeksi equirectangular dan mercator di wikipedia saya mendapat kesan bahwa bias proyeksi hanya pada 'sumbu y' ketika Anda membandingkan dua proyeksi ini.

Saya mendapat kesan bahwa saya tidak mengoreksi garis bujur karena gambar wikipedia pertama . Saya ingin mendukung ini tetapi saya tidak tahu apa cara terbaik untuk melakukan ini.

Saat ini cara saya dapat menunjukkan bias proyeksi mercator adalah dengan menggeser koordinat ke kursor setiap kali mouse bergerak;

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

});

Apa yang akan menjadi cara terbaik untuk memiliki plot selebaran interaktif ini juga menunjukkan efek seperti yang ditunjukkan pada wikipedia .

- Edit!

Untuk lebih banyak contoh, lihat blog saya; http://koaning.com

Vincent Warmerdam
sumber
1
Ide bagus ! Tampaknya itu benar. Dengan Mercator, jarak antara meridian dipertahankan di mana pun Anda berada, jadi batas longitudinal Anda seharusnya tidak berubah ketika Anda memindahkan poligon Anda.
radouxju
DRTL. Kawan Frank?
Willy
luar biasa, saya dapat menggunakan ini di kelas.
Jika Anda tidak tahu- hanya GIS
koaning.com memiliki posting blog terbaru sekarang. senang mendengar orang menyukainya.
Vincent Warmerdam
Apa sebenarnya yang Anda maksud dengan "dikoreksi untuk proyeksi"? Juga, apa tujuan kode itu? Tampaknya tidak menambah apa pun pada pertanyaan.
Martin F

Jawaban:

1

Saya pikir Anda ingin mengubah lintang relatif dan bujur relatif dari wilayah yang dapat dipindah sedemikian rupa sehingga setiap koordinat relatif sekarang tampaknya hanya terdistorsi seperti halnya untuk daerah lain yang berada pada lintang baru yang sama? Jika demikian, maka @radouxju salah dan saat ini Anda hanya setengah jalan ke sana. Salah satu karakteristik yang menentukan proyeksi konformal, seperti Mercator, adalah bahwa pada titik mana pun di dunia / peta faktor skala linier adalah konstan di semua arah. Jadi, perubahan apa pun yang Anda buat pada skala Y saat Anda bergerak juga harus dilakukan ke skala X.

Martin F
sumber