Saya mencoba membuat tampilan seperti bola menggunakan qgis dan proyeksi "dunia dari luar angkasa" http://spatialreference.org/ref/sr-org/6980/ (terutama proyeksi-ortho). ArcGIS membungkus bentuk dengan benar tetapi QGIS (2.01) menghasilkan artefak jahat.
Saya harus menghasilkan bola secara teratur dengan sudut yang berbeda, jadi apakah ada orang di luar sana yang punya ide bagaimana memperbaiki masalah ini?
qgis
arcgis-desktop
shapefile
coordinate-system
pengguna1523709
sumber
sumber
Jawaban:
Seperti yang dikatakan Andre, agar ini berfungsi, Anda harus memotong layer Anda sebelum memproyeksikannya. Andre menjelaskan metode manual , yang bekerja dengan baik untuk banyak kasus: Proyeksikan shapefile Anda ke proyeksi sama rata dengan parameter yang sama dengan proyeksi ortografis, buat lingkaran kliping yang menutupi belahan bumi yang akan terlihat dalam proyeksi ortografi, dan jepitkan shapefile dengan itu. Namun, metode itu memerlukan sedikit upaya manual, dan tidak berfungsi untuk semua parameter proyeksi, karena memproyeksikan ke proyeksi azimuth yang sama dapat menyebabkan masalah yang sama seperti memproyeksikan ke proyeksi ortografis.
Berikut ini skrip (sekarang juga tersedia sebagai plugin QGIS Klip ke Belahan ) yang menggunakan pendekatan yang sedikit berbeda: Lapisan kliping dibuat dalam sistem referensi koordinat dari shapefile asli dengan memproyeksikan lingkaran dari ortografis ke CRS sumber, tetapi juga tambahan pastikan untuk menutupi seluruh belahan yang terlihat, termasuk tiang yang terlihat.
Inilah yang terlihat seperti lapisan kliping untuk proyeksi ortografis yang berpusat pada 30 ° N, 110 ° E:
Script kemudian klip lapisan yang dipilih saat ini dengan lapisan kliping, dan menambahkan lapisan yang dihasilkan ke proyek. Lapisan itu kemudian dapat diproyeksikan ke proyeksi ortografis, baik dengan cepat atau dengan menyimpannya dalam CRS ortografis:
Ini skripnya. Pastikan untuk menyimpannya di jalur Python Anda, misalnya sebagai 'cliportho.py'. Kemudian Anda dapat mengimpornya menggunakan konsol QGIS Python
import cliportho
. Untuk memotong sebuah layer, panggilcliportho.doClip(iface, lat=30, lon=110, filename='A.shp')
.sumber
Anda harus memotong data poligon Anda ke belahan dunia yang terlihat, karena QGIS tidak melakukannya sendiri.
Saya menulis tutorial di sini:
Ke mana perginya poligon setelah memproyeksikan peta di QGIS?
EDIT
Gambar yang Anda perlihatkan sebenarnya bukan proyeksi ortho, karena menunjukkan seluruh dunia, dan tidak hanya separuh yang terlihat seperti yang terlihat dari luar angkasa. Untuk peta dunia, pemotongannya sedikit lebih mudah, seperti dijelaskan di sini:
QGIS menampilkan file bentuk negara dunia yang berpusat di laut pasifik menggunakan Robinson, Miller Cylindrical atau proyeksi lainnya
sumber