La scala e il fattore Z non hanno alcun effetto sull'analisi delle colline in QGIS


10

Ho usato un DEM SRTM per creare una sfumatura in QGIS 2.2.0. Tuttavia, la risultante sfumatura di collina sembra essere esagerata verticalmente. Inoltre, la modifica delle impostazioni per la scala e il fattore z non ha alcun effetto sulla sfumatura risultante. Ho provato entrambe le opzioni in QGIS, Analisi-> DEM (modelli del terreno) e Analisi del terreno -> Hillshade. Entrambi i metodi hanno dato gli stessi risultati.

È un incidente isolato, un bug o mi sto perdendo qualcosa?


4
Quando stai usando un DEM con coordinate latlon in gradi decimali e unità verticali in metri devi impostare la scala (rapporto tra unità verticali e unità orizzontali) su 111120. Ho provato con un paio di DEM di Aster, non ho problemi. Questa impostazione si applica non solo alla pendenza delle colline, ma anche ai calcoli delle pendenze. Spero che sia d'aiuto
Gerardo Jimenez,

@GerardoJimenez, l'ho provato e ha funzionato. Grazie
PyMapr

@GerardoJimenez, Thanderbolt dovrebbe inviare e rispondere a questa domanda e Thunderbolt dovrebbe accettarla per rimuovere questa domanda senza risposta.
SS_Rebelious

Risposte:


12

@ La risposta di Gerardo è corretta solo all'equatore. Il documento gdaldem nota che quei valori di scala sono per "Proiezioni latenti vicino all'equatore"

Per calcolare la scala o il fattore Z (inverso della scala) ad altre latitudini per un dem con unità verticali in metri, è possibile utilizzare le seguenti equazioni:

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

dove: 111320 è la lunghezza di un grado all'equatore in metri (basato su WGS84, è possibile utilizzare 111111 se è più facile da ricordare o si ha un apprezzamento della storia ) e la latitudine è la latitudine al centro del proprio DEM.

Puoi calcolare rapidamente il fattore scala / z in Excel / Libre Office Calc con le seguenti formule:

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))

Puoi anche utilizzare una semplice ricerca su Google:

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

Ad esempio scala e fattore z per Latitudine = 38.5S

Per i DEM con unità verticali in piedi, è sufficiente convertire la lunghezza di un grado all'equatore in metri in piedi, ovvero 3,28 * 111320 = 365130. Quindi le equazioni diventano:

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

In alternativa, puoi riproiettare il tuo DEM in un sistema coordinato proiettato (suggerito anche dai documenti di gdaldem).


Questa risposta mi ha davvero aiutato oggi, ma sono un po 'confuso riguardo ai termini usati in QGIS. Quando vado su Raster - Analisi del terreno - Pendenza ottengo il campo denominato "fattore Z", ma qui devo inserire il valore che viene chiamato "scala" qui e non il valore inverso che viene chiamato "fattore Z" qui. Non puoi inserire il numero molto piccolo che ottengo quando calcolo l'inverso con il calcolo sopra e il valore predefinito ti dice già che deve essere un numero grande ma è ancora un po 'confuso perché pensavo che entrambi i termini "scala" contro "fattore z" non poteva essere usato come sinonimo.
Taya,

@Taya Non vedo un campo "Fattore Z" nello strumento Raster-> Analisi-> DEM (Modelli terreno) dal menu in QGIS 2.14. Vedo solo un campo Scala. Forse era un bug nelle versioni precedenti di QGIS ...? Modifica: Ahh, stai usando il plugin di analisi del terreno , che deve essere un bug nel plugin.
user2856,

Suggerirei un paio di modifiche a questa risposta: 1. Per la maggior parte delle applicazioni useresti il ​​fattore di scala s o il fattore z, non entrambi (s sembra una scelta più logica e funziona meglio in QGIS). 2. Il fattore di scala nord-sud è sempre 111320, ma il fattore di scala est-ovest è 111320*cos(latitude*pi/180). Ad alte latitudini questa differenza creerà problemi significativi e probabilmente sarà necessario riproiettare in un sistema di coordinate del misuratore (ad es. UTM) prima del calcolo. Alle basse latitudini, si potrebbe provare a dividere la differenza: s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp,

4

Quando si lavora con DEM in lat lunghe coordinate con le loro unità in gradi decimali e le unità verticali in metri è necessario impostare la "scala (rapporto tra unità verticali e unità orizzontali) su 111120. In

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

suggeriscono addirittura che questa impostazione per DEM con coordinate lantlon e unità verticali in piedi, la scala deve essere impostata su 370400

Questa impostazione influisce anche sui calcoli della pendenza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.