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?
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.
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.
sumber
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.
sumber