Skala dan faktor Z tidak berpengaruh pada analisis hillshade di QGIS

10

Saya menggunakan SRTM DEM untuk membuat hillshade di QGIS 2.2.0. Namun, hillshade yang dihasilkan tampaknya dibesar-besarkan secara vertikal. Juga, mengubah pengaturan untuk skala dan z-factor tidak berpengaruh pada hillshade yang dihasilkan. Saya telah mencoba kedua opsi di QGIS, Analisis-> DEM (model Terrain) dan analisis Terrain -> Hillshade. Kedua metode memberikan hasil yang sama.

Apakah ini insiden yang terisolasi, bug, atau saya kehilangan sesuatu?

PyMapr
sumber
4
Ketika Anda menggunakan DEM dengan koordinat latlon dalam derajat desimal dan unit vertikal dalam meter Anda harus mengatur skala (rasio unit vertikal ke unit horizontal) ke 111120. Saya mencoba dengan beberapa DEM dari Aster saya tidak punya masalah. Pengaturan ini berlaku tidak hanya untuk hillshading tetapi juga untuk perhitungan kemiringan. Semoga ini bisa membantu
Gerardo Jimenez
@ GerardoJimenez, saya sudah mencobanya dan berhasil. Terima kasih
PyMapr
@ GerardoJimenez, Thanderbolt Anda harus mengirim dan menjawab untuk pertanyaan ini dan Thunderbolt harus menerimanya untuk menghapus pertanyaan ini dari tidak dijawab.
SS_Rebelious

Jawaban:

12

Jawaban @ Gerardo hanya tepat di garis katulistiwa. The gdaldem doc mencatat nilai-nilai skala adalah untuk "proyeksi LatLong dekat khatulistiwa"

Untuk menghitung skala atau faktor Z (kebalikan skala) di lintang lain untuk dem dengan unit vertikal dalam meter, Anda dapat menggunakan persamaan berikut:

s=111320*cos(latitude*pi/180)
z=1/(111320*cos(latitude*pi/180))

di mana: 111320 adalah panjang satu derajat di garis khatulistiwa dalam meter (berdasarkan WGS84, Anda dapat menggunakan 111111 jika itu lebih mudah diingat, atau Anda memiliki apresiasi sejarah ) dan lintang adalah garis lintang di tengah DEM Anda.

Anda dapat dengan cepat menghitung faktor skala / z di Excel / Libre Office Calc dengan rumus berikut:

For -s scale parameter
=111320*COS(latitude*PI()/180)
or
=111320*COS(RADIANS(latitude))

For -z z factor parameter
=1/(111320*COS(latitude*PI()/180)
or
=1/(111320*COS(RADIANS(latitude))

Anda bahkan dapat menggunakan pencarian Google sederhana:

111320 * cos(latitude deg)
or
1/(111320 * cos(latitude deg))

Misalnya skala dan faktor z untuk Latitude = 38.5S

Untuk DEM dengan satuan vertikal dalam kaki, cukup konversikan panjang satu derajat di ekuator dalam meter menjadi kaki, yaitu 3,28 * 111320 = 365130. Jadi persamaan Anda menjadi:

s=365130*cos(latitude*pi/180)
z=1/(365130*cos(latitude*pi/180))

Atau, Anda dapat memproyeksikan ulang DEM Anda ke sistem terkoordinasi yang diproyeksikan (juga disarankan oleh dokumen gdaldem).

pengguna2856
sumber
Jawaban ini sangat membantu saya hari ini tetapi saya agak bingung tentang istilah yang digunakan dalam QGIS. Ketika saya pergi ke Raster - Analisis Medan - Lereng saya mendapatkan bidang bernama "faktor Z" tetapi di sini saya harus memasukkan nilai yang disebut "skala" di sini dan bukan nilai terbalik yang disebut "faktor Z" di sini. Anda tidak dapat memasukkan angka yang sangat kecil yang saya dapatkan ketika menghitung invers dengan perhitungan di atas dan nilai default sudah memberitahu Anda bahwa itu harus menjadi angka yang besar tetapi masih sedikit membingungkan karena saya pikir kedua istilah "skala" versus "faktor z" tidak dapat digunakan secara sinonim.
Taya
@Taya Saya tidak melihat bidang "Z Factor" di alat Raster-> Analysis-> DEM (Terrain Models) dari menu di dalam QGIS 2.14. Saya hanya melihat bidang Skala. Mungkin itu bug di versi QGIS sebelumnya ...? Sunting: Ahh, Anda menggunakan plugin analisis terrain , itu pasti bug di plugin.
user2856
Saya akan menyarankan beberapa perubahan pada jawaban ini: 1. Untuk sebagian besar aplikasi Anda akan menggunakan faktor skala s atau faktor z, bukan keduanya (sepertinya pilihan yang lebih logis dan bekerja lebih baik di QGIS). 2. Faktor skala utara-selatan selalu 111320, tetapi faktor skala timur-barat adalah 111320*cos(latitude*pi/180). Pada lintang tinggi perbedaan ini akan menciptakan masalah yang signifikan dan Anda mungkin perlu memproyeksikan kembali ke sistem koordinat meter (misalnya, UTM) sebelum menghitung. Di lintang rendah, Anda dapat mencoba membelah perbedaan: s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp
4

Ketika bekerja dengan DEM dalam koordinat lat panjang dengan unit mereka dalam derajat desimal dan unit vertikal dalam meter Anda harus mengatur skala "(rasio unit vertikal ke unit horizontal) ke 111120. Dalam

http://www.gdal.org/gdaldem.html

mereka bahkan menyarankan bahwa pengaturan ini untuk DEM dengan koordinat lantlon dan satuan vertikal dalam kaki, skala harus diatur ke 370400

Pengaturan ini juga mempengaruhi perhitungan kemiringan.

Gerardo Jimenez
sumber