Dalam sistem koordinat apa lingkaran sejati tampak bulat?

10

Saya telah mengembangkan di Google Maps untuk sementara dan saya beralih ke OpenLayers tetapi saya terjebak pada satu titik: Saya menggambar vektor yang sebagian besar melingkar tetapi juga melibatkan beberapa geometri kustom sehingga saya tidak dapat menggunakan createRegularPolygon. Saya membuat array poin dan mengirimkannya ke objek OpenLayers.Layer.Vector. Ini bekerja dengan baik tetapi 'lingkaran' yang dihasilkan hanya bundar di dekat garis khatulistiwa, bukan di garis lintang yang lebih tinggi. Mereka tergencet dengan jumlah yang sama dengan basemap berada di garis lintang lebih tinggi, yang tampaknya masuk akal. Jika saya menggunakan Google sebagai lapisan dasar maka mereka adalah bentuk yang benar di semua lintang, tapi saya membuat solusi seluler offline sehingga tidak akan berhasil.

Apa yang saya gunakan untuk lapisan dasar (atau parameter apa yang harus diatur) sehingga geometri saya tetap bulat di semua lintang tanpa menggunakan Google atau peta online?

kschaos
sumber

Jawaban:

12

Saya kira lingkaran Anda terlihat seperti ini:

masukkan deskripsi gambar di sini

(Sumber: blog pusat pemetaan Esri )

Anda ingin menggunakan Web Mercator EPSG: 900913 alih-alih WGS84 EPSG: 4326 untuk lingkaran yang sempurna

Lebih banyak tentang topik ini dan contoh bagaimana lingkaran terlihat di Mercator: Tissat's indicatrix membantu menggambarkan distorsi proyeksi peta

Untuk membuat openlayers menggunakan Mercator, Anda harus mengatur opsi sphericalMercator di lapisan dasar Anda.

sphericalMercator: true,
underdark
sumber
Terima kasih! itulah info yang saya butuhkan. Saya pikir saya bekerja dengan layer yang ada di EPSG: 900913 tapi bukan itu masalahnya. Saya juga harus memastikan semua transformasi berjalan dari EPSG: 4326 ke EPSG: 900913 dan berfungsi dengan baik. Sekarang saya hanya perlu mencari tahu bagaimana agar ikon gambar yang rusak tidak ditampilkan ketika mencoba memuat di ubin peta saat offline.
kschaos
14

Tidak ada peta seluruh bumi di mana semua lingkaran (benar, bulat) tetap benar-benar bulat. Namun, ada cara pemetaan bumi di mana hampir semua lingkaran kecil cukup bulat. Ini didasarkan pada proyeksi konformal . Menurut definisi, perubahan yang dibuat oleh proyeksi konformal terhadap jarak dalam area kecil hanya terdiri dari dua jenis: peregangan seragam dan rotasi. Jelas perubahan ini tidak membuat lingkaran menjadi kurang bulat.

Epicycloidal Agustus

Peta bumi dengan proyeksi Epicycloidal Agustus . Sebagian besar lingkaran akan muncul benar-benar bulat di peta ini.

Proyeksi konformal yang umum digunakan adalah Mercator (proyeksi silindris), Stereografis (proyeksi azimut), dan Lambert Conformal Conic (proyeksi berbentuk kerucut, jelas). Ini mencakup tiga keluarga utama dari proyeksi, memberi Anda fleksibilitas untuk memilih "tampilan" tertentu ke graticule garis meridian dan garis lintang. Opsi tambahan, yang mungkin tersedia di beberapa GIS, termasuk Miller Oblere Stereographic , Littrow , Bipolar Oblique Conic Konformal , Lagrange , Eisenlohr , Epicycloidal Agustus , Guyou , Quiruncial Peirce, GS50 , berbagai proyeksi Adams , dan Lee . (Sumber: Snyder & Voxland, Album Proyeksi Peta. Kertas Profesional USGS 1453). Dua yang terakhir ini menunjukkan kekayaan kemungkinan proyeksi konformal yang dapat dibuat dan menunjukkan bagaimana proyeksi konformal tidak benar-benar "melestarikan bentuk": proyeksi Adams sesuai peta belahan bumi menjadi bujur sangkar dan proyeksi Lee menempatkannya menjadi segitiga. Faktanya, Teorema Pemetaan Riemann dari Analisis Kompleks menunjukkan bahwa Anda dapat memetakan belahan bumi ke poligon apa pun!

OpenLayers menggunakan perpustakaan proyeksi Proj4js . Kode sumber untuk proyeksi didistribusikan di folder / proj4js / lib / projCode /. Proyeksi konformal yang disertakan dengan rilis terbaru (1.0.2) adalah Mercator , dua Mercator Transversal , dua Mercator miring ("Hotine" dan "Swiss Oblique"), Lambert Conformal Conic , dan Stereographic .

Kecuali jika aplikasi Anda dirancang untuk berfungsi di seluruh dunia, jelajahi dan pelajari opsi-opsi ini untuk menentukan mana yang terbaik untuk wilayah yang Anda minati . Semua ini dapat dengan mudah dimasukkan kembali dan diubah ukurannya untuk meminimalkan distorsi total (bukan hanya bentuk, tetapi juga area dan jarak) dalam area tertentu. Solusi standar di seluruh dunia adalah beberapa varian Mercator, yang dipopulerkan oleh Google maps.

whuber
sumber
Lebih lanjut tentang jawaban ini ditemukan di sini: pasda.psu.edu/help/projection.asp
DPSSpatial
@mapBaker Terima kasih telah menawarkan tautan itu. Sayangnya, karakterisasi proyeksi konformal salah: "Proyeksi konformal mempertahankan bentuk seperti persegi panjang." Ini hanya berlaku untuk bentuk sangat kecil , bukan untuk bentuk ukuran terbatas.
whuber
apakah Anda kenal seseorang di PSU yang dapat membantu menyesuaikan dokumen itu?
DPSSpatial
@mapBaker Sayangnya tidak; Saya tidak memiliki kontak saat ini di sana. Saya bahkan tidak yakin mereka ingin menyesuaikannya. Ada garis tipis antara menjadi benar dan menjadi gagah. Saya percaya mereka mungkin menghargai kesederhanaan eksposisi dan - untuk audiens khusus mereka - tidak ingin masuk ke perbedaan antara pelestarian sifat geometris pada skala besar versus skala kecil. Saya menghargai kesederhanaan eksposisi juga, tetapi berusaha dalam jawaban ini untuk menemukan kompromi yang lebih akurat antara kesederhanaan dan kebenaran dengan menekankan lingkaran kecil yang cukup .
whuber
2

Yah, jelas Anda akan memiliki masalah selama Anda menggunakan basemap dalam proyeksi EPSG: 4326. Yang Anda butuhkan adalah proyeksi Spherical Mercator yang, seperti yang Anda perhatikan, Google Maps dan penyedia peta komersial lainnya. Silakan dan baca ini untuk mendapatkan pemahaman yang lebih baik tentang masalah ini.

Untuk Anda solusi seluler offline, OpenStreetMap mungkin akan menjadi solusi yang baik.

igorti
sumber