Ke mana perginya poligon setelah memproyeksikan peta di QGIS?

12

Saya cukup baru di bidang GIS, tetapi saya mengalami masalah dengan proyeksi peta dunia. Saya memiliki shapefile dari semua negara yang saya unduh dari Natural Earth. Setelah memproyeksikannya menjadi ortografis seperti yang disarankan dalam pertanyaan lain ini , saya mengubah lat / long sehingga Atlantik akan agak di tengah.

Namun, setelah mengubahnya, Amerika Serikat, Meksiko, dan Kanada menghilang dari peta, seperti yang Anda lihat di sini: masukkan deskripsi gambar di sini

Ketika saya memproyeksikan ulang peta ke Amerika Serikat, poligon tersebut muncul kembali. Ada saran?

Jessica
sumber
2
Perhatikan bahwa Rusia, Kazakhstan, Iran, dan beberapa negara Timur Dekat yang lebih kecil juga tidak muncul, juga bagian Antartika. Jelas perangkat lunak tidak dengan benar memotong poligon yang hanya sebagian tersembunyi.
whuber
Versi Qgis yang mana? Bisakah Anda juga memberikan tautan langsung ke lapisan yang telah Anda unduh dari Natural Earth? Maka kami dapat mencoba mereproduksi masalah Anda. Terima kasih!
Stéphane Henriod
Itu adalah proyeksi yang sangat aneh. Berikan tautan agar kami dapat mengunduh dan memeriksanya.
Ger
Ok saya melihatnya dan menghapus komentar saya sebelumnya karena mereka jelas ada di sana. apa yang tampak bahwa dalam CRS WGS 84 diproyeksikan berada di bola dunia, maka separuh dunia tidak terlihat, dalam CRS WGS84 Pseudo Mercator Tampaknya benar. seperti halnya CRS lainnya, menunjukkan semua daratan.
Ger

Jawaban:

12

Alasan sederhana mengapa QGIS tidak dapat menggambar poligon ini adalah karena beberapa simpul berada di bagian belakang bola dunia, dan QGIS tidak dapat menggambar poligon tertutup dengan yang lain. Fungsi GDAL ogr2ogr di latar belakang diprogram untuk memulai seluruh fitur ketika kesalahan tersebut terjadi.

Jadi, Anda memiliki dua solusi:


Solusi 1: Klip poligon Anda ke belahan bumi

Anda perlu Numerical Digitizedan CAD Toolsplugin untuk itu.

  • Atur CRS proyek ke proyeksi orto
  • buat layer titik baru dalam proyeksi yang sama
  • dengan plugin Numerical Digitize, buat poin-poin berikut:
x y
6370000 0
0 6370000
-6370000 0
0 -6370000

(juga harus bekerja dengan Add delimited text layer)

  • aktifkan gertakan pada layer titik
  • dengan CAD Tools, pilih tiga poin pertama dan buat busur darinya
  • lakukan hal yang sama untuk poin 3 - 4 - 1 untuk belahan bumi selatan
  • ubah CRS proyek menjadi WGS84
  • Simpan layer CAD sebagai WGS84 dan tambahkan ke kanvas
  • Simpan layer batas Anda juga sebagai WGS84 dan tambahkan ke kanvas
  • konversikan garis CAD ke layer poligon baru
  • hapus semua kecuali layer poligon
  • klip batas-batas dunia ke lapisan poligon CAD
  • atur CRS proyek kembali ke ortho

Anda harus mendapatkan gambar ini: vektor dunia dalam proyeksi ortho


Solusi 2: Konversi data vektor Anda menjadi raster

  • di Pengaturan, nonaktifkan on-the-fly-reprojection
  • Simpan layer batas Anda sebagai WGS84 dan tambahkan itu ke kanvas
  • Gunakan Raster -> Convert -> Rasterizepada layer WGS84 pilih x = 360 dan y = 170 sebagai dimensi untuk raster (atau n * 360 dan n * 170)
  • Gunakan Raster -> Projection -> Reprojectproyeksi ortho dengan nama lain dan tambahkan ke kanvas. Anda akan mendapatkan beberapa kesalahan, tetapi sisanya akan melakukan raster. Jangan repot-repot melihat kotak abu-abu
  • Klik kanan pada layer raster -> Properties, tab Style
  • pilih warna semu
  • di tab transparansi, pilih 0 untuk transparansi 100%
  • Hapus raster pertama
  • atur CRS proyek ke orto

Anda harus melihat gambar berikut: masukkan deskripsi gambar di sini

Metode yang sama berfungsi dengan raster, seperti yang Anda lihat di gambar avatar saya ;-)


EDIT

Untuk mendapatkan proyeksi orto yang bagus yang berpusat pada titik yang bukan pada khatulistiwa, lakukan pemangkasan dalam proyeksi aeqd dengan parameter yang sama dengan orto. Anda akan mendapatkan hasil ini:

masukkan deskripsi gambar di sini

AndreJ
sumber
Apakah pendekatan pertama perlu disesuaikan ketika proyeksi ortografi mencakup salah satu kutub (seperti dalam gambar avatar Anda)? Saya mengalami masalah ketika memproyeksikan lapisan CAD ke WGS84 dalam kasus itu, karena poligon yang dihasilkan tidak menutupi tiang
Jake
Kamu benar. Menggunakan proyeksi aeqd alih-alih WGS84 untuk kliping berfungsi untuk kasus ini. Memotong bola tampaknya lebih mudah daripada ellipsoid.
AndreJ
Ah ya, itu ide yang bagus! Namun, itu masih belum menjadi peluru perak: Saya mencoba menggunakan pendekatan itu dengan landdataset Natural Earth 1: 110M dengan proyeksi yang berpusat pada 30 ° N, 110 ° E, dan mengalami masalah ketika memproyeksikan dataset ke aeqd : Poligon besar terbalik dan merusak kliping. Ada ide?
Jake
Titik antipodial aeqd harus diletakkan di laut untuk menghindari artefak. Pusat aeqd tidak harus memiliki titik yang sama dengan orto akhir, tetapi harus terletak di dalam lingkaran kliping.
AndreJ
0

Lihat komentar di atas, mereka hanya pergi ke sisi lain dunia. poligon dari negara-negara masih ada tetapi tidak terlihat kecuali bola dunia berputar. Saya tidak yakin tentang bagaimana Anda memutar bola bumi dalam keadaan ini dan pemetaan umumnya 2 dimensi (tidak termasuk countours dll).

Saya akan mengatur CRS Anda ke negara tempat Anda ingin overlay data. Misalnya saya akan menggunakan grid Irlandia atau grid OSGB, atau sebagaimana dinyatakan di atas WGS84 Pseudo Mercator.

Ger
sumber
3
Jessica ingin gambar seluruh dunia sebagai lingkaran. Proyeksi yang Anda usulkan tidak melakukan itu.
AndreJ
suara turun agak keras jika Anda bertanya kepada saya.
Ger
Itu bukan oleh saya ...
AndreJ
Keren. Saya hanya tidak mengerti mengapa orang tidak memberikan suara pada saran. Saya punya seekor lebah di topi saya tentang itu dan itu saja.
Ger
4
Pemungutan suara tidak boleh dilakukan secara pribadi . Seluruh jaringan SE bergantung pada suara naik dan turun untuk memberikan jawaban terbaik ke bagian atas pertanyaan. Saya memilih jawaban karena "set CRS ke negara ... data overlay" mengabaikan keinginan OP untuk menjaga agar Samudra Atlantik tetap terpusat pada peta.