Antworten:
Wenn Sie diese Funktion nicht in Ihr GIS integriert haben, aber einige grundlegende Rasteroperationen ("Kartenalgebra") ausführen können, gibt es immer noch eine Lösung.
Bei der Berechnung wird an jedem Punkt die Steigung der Route ermittelt . Wenn Sie dies ohne Diskretisierungsfehler genau wüssten , würden Sie die Sekante der Steigung integrieren. In einem Gitter wird das Integral geschätzt, indem der Durchschnitt der Sekante für die von der Route abgefangenen Zellen erhalten und der Durchschnitt mit der Länge der Route multipliziert wird. (In der Kartenalgebra wäre dies ein "zonaler Durchschnitt" multipliziert mit der Routenlänge.)
Die Steigung der Route ist nicht die gleiche wie die Steigung des DEM! Es hängt genau davon ab, wie die Route über die Oberfläche führt. Sie benötigen daher vollständige Informationen über die "Richtung" der Oberfläche, die in Bezug auf Auftreffen und Neigen, Neigung und Aspekt oder mithilfe eines Einheitsnormalenvektors ( dh eines 3D- Vektorfelds senkrecht zur Oberfläche) beschrieben werden können. Am zuverlässigsten ist es, das Problem auf ein Problem zu reduzieren, bei dem Sie das normale Vektorfeld kennen. Dies bedeutet, dass Sie in jeder Zelle ein Dreifach von Zahlen haben - natürlich dargestellt als drei separate Gitter -, die ich nennen werde (Nx, Ny, Nz). Die Richtung der Route (in der Ebene) kann als Einheitsvektor (x, y, t) dargestellt werden, wobei (x, y) seine Richtung auf der Karte angibt. Der Wert von t ist der "Anstieg" in vertikaler Richtung:die Geschwindigkeit, mit der die Route ansteigen muss, um an der Oberfläche zu bleiben . Da also die 2D-Geschwindigkeit der Route - ihr "Lauf" - gleich Sqrt (x ^ 2 + y ^ 2) ist, ist die Steigung gegeben durch
(1) tan (Steigung) = Anstieg / Lauf = t / Sqrt (x ^ 2 + y ^ 2) .
In den Berechnungen wird t ein Gitter sein, aber der Nenner Sqrt (x ^ 2 + y ^ 2) ist nur eine Zahl. Wenn Sie es mit der folgenden Formel (4) berechnen, ist es gleich 1, sodass Sie es vergessen können: t ist die Tangente des Neigungsgitters der Route und sec (Steigung) = sqrt (1 + t ^ 2) ist die Gitter, dessen zonalen Durchschnitt Sie berechnen.
Es ist leicht, t zu finden. Per Definition ist der Richtungsvektor (x, y, t) senkrecht zum Normalenvektor. Das heisst
0 = x * Nx + y * Ny + t * Nz, also
(2) t = - (x · Nx + y · Ny) / Nz .
Bei der Berechnung sind Nx, Ny und Nz Gitter, aber x und y sind Zahlen. Daher ist t wie beabsichtigt ein Gitter . (Es wird keine Probleme mit der Division geben, da es für Nz = 0 nicht möglich ist: Das wäre eine perfekt vertikale Klippe, die auf einem DEM nicht dargestellt werden kann.)
Also: Wie findet man den Normalenvektor (Nx, Ny, Nz) und den Richtungsvektor (x, y)? In der Regel berechnet ein GIS Steigung (en) und Aspekt (a) Gitter aus dem DEM. Drücken Sie jedes als Winkel aus. Dies sind im Grunde sphärische Koordinaten für den Einheitsnormalenvektor. Für Aspekte östlich von Norden wird die Einheitsnormale durch die übliche Umwandlung von sphärischen in kartesische Koordinaten erhalten.
(3) (Nx, Ny, Nz) = (sin (s) * sin (a), sin (s) * cos (a), cos (s)) .
In dieser Berechnung sind s und a Gitter , daher werden drei separate Kartenalgebraausdrücke beschrieben, um drei Gitter Nx, Ny und Nz zu erstellen.
Beachten Sie zur Überprüfung, dass bei einer Steigung von Null (s = 0) der Normalenvektor (0,0,1) ist und wie gewünscht gerade nach oben zeigt. Wenn der Aspekt Null ist, ist der Normalenvektor (0, sin (s), cos (s)), der offensichtlich nach Norden zeigt (y-Richtung) und sich von der Vertikalen um einen Winkel von s neigt, was impliziert, dass sich die Oberfläche von neigt die Horizontale um einen Winkel von s: das ist in der Tat seine Neigung.
Schließlich sei die Peilung der Route b (ein konstanter Winkel östlich von Norden). Sein Richtungsvektor ist
(4) Lager = (x, y) = (sin (b), cos (b)).
Beachten Sie, dass das Lager ein Paar ist Zahlen , nicht ein Paar von Gittern, weil es die Richtung der Route beschrieben.
Mit zunehmender Auflösung des DEM können Sie mehr lokale Abweichungen in den Steigungen beobachten, wodurch sich die geschätzte Steigung erhöht, wie @johanvdw feststellt. Ich habe dieses Phänomen untersucht, indem ich hochauflösende DEMs sukzessive vergröberte und DEMs eines Bereichs aus verschiedenen Quellen verglich. Ich fand heraus, dass in Gebieten mit hoher Neigung die Unterschiede bei den Neigungsschätzungen erheblich sein können . Dies führt zu erheblichen Unterschieden bei den Schätzungen der Überlandroutenlänge. Andernfalls sind die Unterschiede in Gebieten mit gleichmäßig geringer Neigung möglicherweise ohne Bedeutung.
Eine Möglichkeit, den Effekt der Auflösung für Ihr DEM zu bewerten, besteht darin, eine ähnliche Studie durchzuführen. Es erfordert wenig Aufwand. Schätzen Sie beispielsweise die Überlandlänge einer Route mithilfe des DEM und schätzen Sie die Länge erneut, nachdem Sie dieses DEM in 2 x 2 Blöcke zusammengefasst haben (Vergröberung um den Faktor 2). Wenn es einen unwichtigen Unterschied zwischen den beiden Schätzungen gibt, sollte es Ihnen gut gehen. Wenn der Unterschied wichtig ist, kann es sich lohnen, ein DEM mit feinerer Auflösung für Ihre Arbeit zu erhalten. (Es gibt ausgefeiltere Methoden, um die Steigungs- und Längenschätzungen durch Ausnutzung des vorhandenen DEM zu verbessern, aber ich würde zu lange brauchen, um sie hier zu beschreiben.)
SAGA GIS hat dafür ein Modul: Interaktives Profil
http://www.saga-gis.org/saga_modules_doc/ta_profiles/index.html
Die resultierenden Punkte enthalten die Entfernung und die Überlandentfernung. Wenn das DEM eine gröbere Auflösung hat, ist Ihre Überlandentfernung immer etwas geringer (es sei denn, Sie haben seltsame Randbedingungen), aber in Wirklichkeit ist dieser Unterschied höchstwahrscheinlich nicht wichtig. Wenn die Fläche ziemlich flach ist, sind sogar die Überlandentfernung und die Normalentfernung fast gleich: Wenn die Neigung zwischen zwei Punkten entlang Ihrer Linie z. B. 20% beträgt, ist die Überlandentfernung nur 2% höher als die Normalentfernung (sqrt () 1 ^ 2 + 0,2 ^ 2) = 1,019).