Saya mencoba menghitung distorsi sehingga saya dapat mendistorsi overlay teks dan formulir untuk secara tepat mencocokkan gambar proyeksi equirectangular.
Jadi, bagaimana seseorang menghitung distorsi pada garis lintang tertentu pada proyeksi equirectangular 1: 45.000.000 (katakanlah, 2000 piksel lebar x tinggi 1000 piksel)?
Saya sudah mencoba mencari tahu posting ini dan tautannya tidak berhasil: Bagaimana cara membuat Tissot Indicatrix yang akurat?
Saya bukan seorang profesional, hanya seorang amatir yang sangat tertarik, jadi tolong bisu itu untuk saya!
Terimakasih banyak!
Terima kasih atas balasan yang cepat! Ini cerita panjangnya; Saya harap ini lebih jelas.
Saya memvisualisasikan / memetakan data menggunakan bahasa pemrograman Pemrosesan dan ingin agar data yang dipetakan 2D (berbagai ukuran font dan lingkaran) tampak tidak terdistorsi ketika dibungkus dengan bola dunia 3D. Data dipetakan menggunakan equirectangular x, y dan peta yang ingin saya gunakan sebagai latar belakang adalah semua proyeksi ini, jadi saya berasumsi saya ingin "mencocokkan" distorsi ini (misalnya dengan menghitung distorsi melalui lintang menggunakan persamaan Tissot?). Menggunakan bahasa pemrograman saya dapat secara tepat mendistorsi teks dan lingkaran. Saya pikir semua yang saya butuhkan adalah persamaan untuk melakukannya dengan benar.
Ini adalah peta data 2D asli:
Ketika dibungkus itu tampak terdistorsi, seperti ini:
Pertanyaan $ 10.000: Bagaimana saya bisa membuat gambar 2D saya terlihat tidak terdistorsi ketika dibungkus dengan bola 3D?
Untuk referensi, inilah pertanyaan yang sama ditanyakan berbeda di forum Pemrosesan.
Terima kasih lagi!
Jika saya mengerti Anda dengan benar, saya tidak yakin saya ingin memproyeksikan ulang ke proyeksi ortografis. Saya ingin peta data 2D saya membungkus ke model bola 3D yang dapat berinteraksi dengan (yaitu berputar).
Saya menggunakan program pemodelan 3D (Cinema 4D) untuk membungkus bola dengan gambar "Blue Marble" 2MB (proyeksi equirectangular) dari NASA.
Ketika dibungkus tampaknya tidak terdistorsi dari semua belahan (bukan hanya satu belahan, seperti proyeksi orthografi?), Lihat: masih dari model 3D di atas. (Program pemodelan sedang melakukan proyeksi ortografi untuk saya ketika saya memutar objek, saya kira.) Oleh karena itu, saya berpikir bahwa jika saya mengubah peta data 2D saya dengan cara yang sama, itu juga akan terlihat tidak terdistorsi pada bidang 3D. Ini foto yang saya ambil dengan persamaan yang mendekati distorsi equirectangular. Anda akan melihat elips berbentuk telur dari gambar 2D terlihat seperti lingkaran ketika dibungkus dengan bola 3D. Demikian pula, elips Tissot juga muncul sebagai lingkaran pada bola 3D.
Inilah mengapa saya melihat persamaan Tissot ... untuk lebih tepatnya mengetahui distorsi proyeksi equirectangular di lintang yang berbeda sehingga saya dapat mengubah overlay saya sesuai.
Semoga ini semua masuk akal.
Mungkin Anda benar bahwa saya harus menggunakan program GIS. Saya baru saja mengunduh Cartographica dan akan melihat apakah saya dapat mengetahuinya. Adakah saran perangkat lunak Mac untuk pemula yang melakukan tugas ini?
Terima kasih lagi.
sumber
Jawaban:
Koordinat gambar adalah garis lintang dan bujur, jadi Anda juga
(a) Tidak memproyeksikan dan memproyeksikannya menggunakan proyeksi sisi dekat ortografis atau vertikal (yaitu, proyeksi yang terlihat seperti dunia dari ruang angkasa) atau
(B) Tekstur-peta ke model 3D dari bola menggunakan lat-lon sebagai koordinat tekstur dan menampilkan bola itu dengan perangkat rendering grafis 3D.
Kebanyakan GIS melakukan (a) secara rutin. Untuk mengilustrasikan (b), berikut adalah serangkaian gambar yang berasal dari peta "datar" dalam pertanyaan yang diambil dari sudut pandang yang mengorbit bidang tekstur yang dipetakan:
(Jika Anda melihat lebih dekat pada gambar paling kanan Anda dapat melihat meridian yang menonjol melalui Samudra Pasifik: ini adalah "lapisan" yang terbentuk dengan membungkus sisi kiri dan kanan peta bersama-sama.)
Perintah dasar Mathematica untuk menghasilkan salah satunya adalah
Ini mengurangi masalah asli (menggambar "peta data" pada sebuah bola) untuk menghasilkan peta yang menunjukkan lingkaran dengan benar. Proyeksi terbaik untuk ini adalah Stereografis, karena ia memproyeksikan semua lingkaran pada bola - tidak peduli berapapun ukurannya - ke lingkaran di peta. Jadi satu prosedur untuk menggambar lingkaran besar dengan benar dalam proyeksi Equirectangular , seperti yang ditunjukkan dalam pertanyaan, adalah membuat mereka dalam proyeksi Stereografi dan kemudian tidak memproyeksikannya ke koordinat geografis (lat, lon). Menggunakan (lon, lat) sebagai (x, y) koordinat Kartesius untuk membuat peta sama dengan proyeksi Equirectangular dan sangat cocok untuk pemetaan tekstur ke bola atau untuk menerapkan proyeksi Orthografi.
Perhatikan bahwa indeks Tissot tidak cocok sebagai solusi: mereka hanya mewakili distorsi lokal dari lingkaran yang sangat kecil . Lingkaran yang cukup besar untuk dilihat pada skala global tidak akan lagi muncul melingkar di sebagian besar proyeksi: saksikan penampilan goblok mereka di peta dalam pertanyaan. Itu sebabnya bermain gim dengan proyeksi, seperti yang ditunjukkan di sini, sangat penting untuk solusi yang baik.
sumber
Dengan asumsi bentuk yang ditarik menutupi sebagian kecil bola, Anda harus bisa bertahan dengan penskalaan lebar dengan 1 / cos (lat) dan meninggalkan ketinggian sendirian.
Semakin besar bentuk dan semakin dekat Anda ke kutub, semakin tidak baik ini akan bekerja sekalipun.
sumber
Saya tidak tahu bagaimana cara menambahkan komentar jadi saya akan memasukkan ini ke dalam solusi dan membiarkan moderator berebut untuk mencari tahu mengapa saya tidak bisa berkomentar.
Kesan pertama saya ketika membaca pertanyaan Anda adalah "Mengapa Anda tidak mendesain lingkaran Anda dalam proyeksi konformal seperti Mercator". Anda dapat memproyeksikan peta ini ke dalam proyeksi Mercator dan melihat lingkaran dan distorsi teks Anda, memperbaiki semuanya agar terlihat bagus dan ketika Anda memproyeksikannya ke globe Anda, bentuknya harus tetap benar (itulah definisi dari proyeksi konformal).
sumber
Lihat, peta 2D pertama Anda tidak memiliki fitur geografis yang digambar. Tambahkan mereka ke peta ini (katakanlah kontur Afrika), dan terapkan distorsi yang Anda pikirkan untuk semuanya sekaligus. Geografi juga akan diubah, dan ketika Anda meletakkannya di bola, itu akan salah. Karena itu, saya yakin ide menerapkan distorsi ini tidak akan berhasil.
Anda bisa bertahan dalam 2D, dengan menggambar grafik di peta 2D kecil yang memiliki area terbatas dan distorsi yang dapat diterima. Anda dapat memotong peta 2D menjadi ubin dan untuk setiap ubin gunakan proyeksi "terbaik" sendiri.
Dari sisi lain, mudah untuk membuat titik pada lingkaran geodesik dari radius yang diberikan pada peta 2D. Untuk itu, Anda perlu menemukan fungsi yang menghitung lat / panjang titik pada jarak tertentu dan azimuth dari titik lain (cari "masalah langsung Vincenty"). Setelah Anda mendapatkannya, Anda dapat menghasilkan banyak titik yang berjarak sama pada jarak tertentu dari titik tersebut dengan mengubah azimuth dari 0 menjadi 360. Membuat poligon dari titik-titik tersebut dalam 2D membutuhkan lebih banyak pekerjaan ketika lingkaran geodesik berisi sebuah kutub, atau memotong batas kiri atau kanan peta. Lihat bagaimana lingkaran geodesik terlihat pada peta datar di sini .
sumber