Latar Belakang Ini adalah pertanyaan kedua saya terkait dengan georeferensi peta raster telanjang untuk memvisualisasikannya kembali pada sistem koordinat yang berbeda dan dalam hubungannya dengan lapisan data lainnya. Pertanyaan sebelumnya adalah di Konversi gambar peta meta-data-bebas sewenang-wenang ke proyek QGIS
Masalah Tujuan saya adalah melakukan georeferensi peta ini:
Ini bukan Plate-Carrée. Jadi di QGIS, saya membuat beberapa titik kontrol yang masuk akal, yang untuk kelengkapan saya lampirkan di bagian bawah [ref: 1]. Saya memberikan QGIS Georeferencer target SRS yang sama dengan file proyek saya, EPSG: 4326. Saya mendapatkan hasil yang sangat buruk dengan Helmert dan transformasi polinomial tetapi mendapatkan gambar yang masuk akal dengan spline pelat tipis (yang membuat geoestimate yang dihasilkan melewati titik kontrol saya). Namun, bahkan hasil ini buruk, misalnya di garis lintang yang lebih tinggi (lihat pantai Rusia di utara Jepang). Ini adalah tangkapan layar layar QGIS saya menggunakan latar belakang Natural Earth.
Jalur alternatif Saya mencoba latihan serupa dengan alat yang jauh lebih mudah digunakan di MapWarper: lihat hasil dan titik kontrol di http://mapwarper.net/maps/758#Preview_Map_tab di mana saya mendapatkan hasil yang lebih buruk (mungkin karena fakta bahwa saya menambahkan lebih sedikit poin kontrol).
Singkatnya pertanyaan
- Apakah ada trik yang saya lewatkan untuk mendapatkan georeferensi yang baik?
- Apakah proyeksi ini langsung dikenali?
- Pada Sistem Koordinat Tidak Dikenal pada gambar lama ,
gdaltransform
disarankan untuk mengubah beberapa titik koordinat menjadi beberapa SRS target, dengan tujuan untuk benar-benar mengungkap parameter proyeksi yang digunakan untuk menghasilkan peta asli. Saya mencoba sesuatu seperti ini: setelah menyimpan daftar poin QGIS saya, saya melakukan beberapa pemrosesan string untuk mendapatkan daftar panjang / lat yang dipisahkan oleh ruang melaluicat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txt
dan memasukkan file yang dihasilkan ke dalam gdaltransform:gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txt
dan menggantis_srs
dant_srs
bendera (proyek menggunakan EPSG: 4326). Saya tahu saya menembak dalam kegelapan, berharap untuk beruntung, jadi saya tidak terkejut ketika saya tidak bisa memahami hasilnya. Dapatkah seseorang memperluas tentang bagaimana saya akan menggunakan metode ini untuk menemukan perkiraan terbaik dari parameter proyeksi dan proyeksi peta sumber? Pemikiran saya di balik ini adalah bahwa daripada mengacaukan dengan menempatkan banyak titik kontrol untuk georeferensi yang baik, mungkinkah lebih mudah untuk mendapatkan georeferensi yang hampir sempurna dengan titik kontrol yang lebih sedikit, hanya mengulang-ulang semua sistem koordinat yang umum? Apakah ini melibatkan validasi silang dari setiap poin terhadap yang lainnya, untuk setiap CRS yang diuji?
Saya ingin mendapatkan pemahaman tentang algoritma ini atau georeferensi sehingga saya dapat mengotomatiskan proses --- Saya mengalami masalah ini setiap saat, dan sampai pembuat konten berhenti memperlakukan peta mereka sebagai kreasi satu kali tidak pernah terintegrasi dengan konten lain, saya tidak berharap untuk berhenti.
Referensi
[ref: 1] File QGIS GCP:
mapX,mapY,pixelX,pixelY,enable
142.632649100000009,54.453595900000003,505.941176470588232,-95.220588235293974,1
154.934252200000003,59.559921699999997,536.411764705882206,-52.779411764705742,1
80.080158100000006,9.657192300000000,291.558823529411711,-322.661764705882206,1
10.448442600000000,57.819128900000003,21.676470588235190,-103.926470588235134,1
34.007173000000002,27.761438299999998,101.117647058823422,-244.852941176470466,1
50.950890399999999,11.862196600000001,171.852941176470495,-313.955882352941046,1
29.713217199999999,60.024133200000001,90.779411764705799,-92.499999999999829,1
60.000000000000000,0.000000000000000,208.308823529411683,-362.382352941176350,1
69.867506500000005,66.639146199999999,224.088235294117567,-33.191176470588061,1
27.276107100000001,71.049154799999997,89.147058823529306,-21.764705882352814,1
140.000000000000000,0.000000000000000,536.955882352941217,-362.926470588235190,1
20.000000000000000,0.000000000000000,43.441176470588132,-362.926470588235190,1
20.196882700000000,31.243024100000000,47.249999999999901,-231.794117647058698,1
9.171861099999999,42.848309999999998,8.073529411764603,-175.205882352941046,1
131.955786100000012,43.196468600000003,481.999999999999943,-162.691176470588090,1
73.813303700000006,45.169367200000003,256.735294117646959,-161.602941176470438,1
50.602731800000001,44.589102900000000,168.044117647058727,-167.588235294117510,1
121.394975900000006,18.941421099999999,455.882352941176407,-284.029411764705742,1
103.987047000000004,1.417439300000000,389.499999999999943,-357.485294117646959,1
109.325478599999997,55.962283100000001,380.249999999999943,-98.485294117646902,1
31.454010100000001,46.562001500000001,95.132352941176379,-158.882352941176322,1
43.639560299999999,68.844150499999998,137.573529411764611,-40.264705882352814,1
Tidak diperbarui
Analisis van der Grinten Saya menulis alat Python agar sesuai dengan GCP untuk setiap proyeksi yang didukung Proj4 (melalui Pyproj) dan menerapkannya pada beberapa proyeksi yang disarankan dalam jawaban. Kode sumber (agak ceroboh, saya mohon maaf sebelumnya) serta GCP yang diperbarui tersedia di https://github.com/fasiha/steppe-map
Van der Grinten hanya memiliki 1 parameter untuk disetel, dan inilah gambar yang dihasilkan (menggunakan gambar terbaru dari Britannica, terima kasih banyak kepada mereka karena telah memberikan peta beresolusi tinggi dan diperbarui (walaupun masih kekurangan data proyeksi)).
Van der Grinten memiliki kesalahan relatif 0,035 antara GCP dan poin paling cocok, yang merupakan yang terburuk dari kelompok yang saya coba, dan overlay garis pantai menghasilkan yang secara kualitatif.
(Ini dapat membantu jika Anda membuka gambar ini di tabnya sendiri, itu cukup beresolusi tinggi. Anda juga akan melihat panah hijau yang menunjukkan titik georeferensi (mereka harus cocok dengan tengara signifikan pada gambar) serta panah merah yang menunjukkan di mana titik-titik tersebut dipasang ke (mereka harus cocok dengan tengara yang sama pada overlay garis pantai) --- penyimpangan antara keduanya dapat membantu mata melihat perbedaan antara gambar dan fit.)
Analisis Albers equal-area Mencoba hal yang sama dengan proyeksi Albers equal-area (yang sama dengan "Albers konformal Conic"? Maaf atas ketidaktahuan saya). Kesesuaian ini, yang melibatkan kesesuaian parameter 4 dimensi, lebih baik, dengan kesalahan relatif 0,025, tetapi tetap terlihat sangat buruk.
Analisis proyeksi Robinson dan Eckert V saya cocok dengan sejumlah proyeksi pseudocylindrical yang didukung oleh Pyproj (semua yang dapat saya temukan yang memiliki satu parameter bebas) dan menemukan bahwa proyeksi Robinson dan Eckert V melakukan yang terbaik dalam hal kesalahan relatif antara GCP dan poin yang dipasang, keduanya dengan kesalahan relatif 0,015.
Inilah Robinson:
Dan inilah Eckert V.
Perhatikan penyimpangan garis pantai pas dari garis pantai gambar. Saya pikir dengan ini saya dapat menyimpulkan bahwa peta tidak ada di atas?
Winkel tripel: solusi yang mungkin?
Setelah secara berurutan mencoba setiap proyeksi dalam manual Proj ini dari tahun 1990 (diperbarui 2003) ftp://ftp.remotesensing.org/proj/OF90-284.pdf Saya akhirnya datang ke proyeksi tripel Winkel. Ini menghasilkan kesalahan kuantitatif terendah (0,011) dan garis pantai secara seragam cukup baik (atau setara, seragam sedikit buruk). Saya membaca bahwa ini adalah proyeksi National Geographic Society, yang artinya terkenal, dan ini menambah bobot bagi pencalonan proyeksi ini untuk peta Britannica. The dilengkapi SRS: +units=m +lon_0=47.0257707403 +proj=wintri
.
(Permintaan maaf untuk mengubah warna garis pantai menjadi abu-abu. Jika ini menyinggung siapa pun, saya dapat menghasilkan versi biru.)
Saya akan mencoba untuk mengubah GCP saya untuk mencoba dan mendorong kesalahan lebih rendah.