Beispielpunktalgorithmus für das Höhenprofil

10

Bei der Erstellung eines Höhenprofils müssen Stichproben aus dem zugrunde liegenden Raster entnommen werden. Wenn das Ziel darin besteht, ein Profil von maximaler Qualität zu erstellen, wie sollten die Positionen der Stichprobenpunkte bestimmt werden? Welcher Ansatz sollte zur Interpolation dieser Stichprobenpunkte gewählt werden?

Matthew Snape
quelle

Antworten:

6

Wenn Sie ein Profil mit maximaler Qualität erstellen möchten, muss Ihr Algorithmus grundsätzlich jede einzelne Zelle enthalten, die von Ihrem Abfragepfad durchschnitten wird, und dann wird es zu einem einfachen 2D-Kurvenanpassungsproblem . Wenn Sie jedoch nur eine Teilmenge dieser Punkte abtasten und ein Profil erstellen möchten, das optisch ansprechender ist, stellen Sie möglicherweise fest, dass dieses Papier aus der Geocomputation viele verschiedene Interpolationstechniken für die Stichprobenerhebung sowie die dahinter stehende Mathematik enthält.

Ragi Yaser Burhum
quelle
7

Ein Höhenprofil berechnet den Schnittpunkt zweier Flächen . Eines davon ist ein vertikales Blatt, das durch einen Pfad bestimmt wird. (Das heißt, es besteht aus allen Koordinaten (x, y, z), wobei sich (x, y) auf dem Pfad befindet und z eine beliebige Zahl ist.) Die andere ist die durch das Raster-DEM dargestellte Oberfläche. Als solches kommt es darauf an, die über Punkten auf der Kurve liegenden z-Werte zu finden. Dies macht es identisch mit dem Problem der Interpolation von Werten aus dem Raster. Insbesondere, obwohl es viele Eigenschaften des einfacheren eindimensionalen Problems der Anpassung einer Kurve an (Entfernung, Höhe) Daten teilt, ist dies nicht der Falldie gleiche Situation. Wenn Sie es als solches betrachten, werden wahrscheinlich nicht optimale Höhenprofile erstellt, da Sie die Informationen in der vollständigen 2D-Ausdehnung der Rasterdaten auf beiden Seiten der Kurve nicht genutzt haben.

Offensichtlich sind hier alle Überlegungen relevant, die mit Interpolationsflächen verbunden sind . Es gibt viele konkurrierende Methoden, jede mit Vor- und Nachteilen, jede für unterschiedliche Verwendungszwecke geeignet und jede mit ihrer eigenen "Qualität". Dazu gehören (ohne darauf beschränkt zu sein):

Dies sind alles Algorithmen, um einen Wert z (x, y) aus den Daten zu schätzen, wenn ein beliebiger Ort (x, y) gegeben ist, der nicht unbedingt mit einem Datenpunkt übereinstimmt. So wird übrigens ein Raster-Dataset gezeichnet : Um die Farbe eines bestimmten Pixels (u, v) auf dem Bildschirm oder Papier (der Karte) zu bestimmen, werden die Weltkoordinaten (x, y) des Pixels berechnet. Der Wert z (x, y) wird mit dem Interpolator berechnet und dieser Wert mit einer Rampe oder einer Nachschlagetabelle in eine Farbe umgewandelt. (Aus Effizienzgründen vermute ich, dass viele GIS diese Prozedur nicht bei jedem Pixel ausführen. Stattdessen nehmen sie eine regelmäßige Teilstichprobe der Pixel, ermitteln ihre Farben und führen dann eine einfache Interpolation der Farbe über den Bildschirm oder das Papier durch.)

Wir können uns die Pixel als Bestimmung einer regelmäßigen Stichprobe planarer Orte für die Interpolation vorstellen. Das Erstellen eines Höhenprofils beinhaltet eine ähnliche Überlegung: Wo befinden sich die "Pixel" entlang des Pfades? Die Antwort wird auf die gleiche Weise entwickelt, wie wir die entsprechende Frage für die Kartenerstellung beantworten würden: Welchen Maßstab benötigen Sie? Bei großen Maßstäben (weit vergrößert) benötigen Sie eine viel genauere Abtastung. Bei kleinen Maßstäben können Sie mit größerem Abstand probieren. Wenn Sie klug sind, können Sie sogar adaptive oder rekursive Methoden verwenden, um die Abtastung darauf zu konzentrieren, wo die Z-Werte am schnellsten variieren, die größte Krümmung aufweisen oder Extremwerte erreichen. Wenn Sie nicht so clever sind oder nicht die beste Darstellung benötigen, können Sie eine Reihe von Werten mit gleichem Abstand entlang des Pfads in Abständen d (0) <d (1) <... <d (n) erstellen. entlang des Pfades und interpolieren Sie aus den nahegelegenen Rasterwerten die entsprechenden Höhen z (0), z (1), ..., z (n). Sie würden dann die Paare (d (0), z (0)), ..., (d (n), z (n)) und fair in einer Art Kurve um sie herum - normalerweise ein Spline - unter der Annahme, dass die Variationen z (i + 1) - z (i) ausreichend klein sind, so dass die Anpassung der Kurve keine Rolle spielt. (Die adaptiven Methoden untersuchen diese Variationen und erhalten mehr interpolierte Werte in Zwischenabständen, in denen große Variationen auftreten.)

Dies bringt uns zum Kern der Frage: Wie sollten die anfänglichen Probenabstände sein? Die Antwort hängt von der beabsichtigten Skala des Höhenprofils, der Genauigkeit der DEM-Werte, der Genauigkeit, mit der die Kurve an den DEM-Standorten registriert wird, und der Variationsrate der Höhen entlang und in der Nähe des Profils ab. Im Allgemeinen erfordern größere Maßstäbe (dh Vergrößern), bessere Genauigkeiten bei den Höhen und Georeferenzierungen sowie höhere Variationsraten engere Abstände. Da diese auf komplexe Weise interagieren, gibt es keine allgemeine Regel für den besten Abstand . Zu Beginn können Sie jedoch davon ausgehen, dass ein Abstand, der feiner als die Rasterzellengröße ist, Ihnen nicht viel bringt. Somit,Wenn Sie es sich leisten können, das Höhenprofil mit diesem relativ engen Abstand zu berechnen, können Sie dies auch tun . Es könnte übertrieben sein, aber was nun?

Beachten Sie, dass solche Methoden die interpolierten Höhenwerte bestenfalls genau wiedergeben . Dies ist fast immer eine verschlechterte Version der Höhen, die das Raster darstellt. Beispielsweise erreichen viele DEMs in Berggebieten nicht die Höhe der Peaks, da die Peaks normalerweise zwischen Rasterzellen liegen. Wenn Sie zwischen den Unterpeakhöhen interpolieren, erhalten Sie normalerweise eine Art gewichteten Durchschnitt, der immer noch kleiner als die Peakhöhe ist. Daher erreicht das Höhenprofil eines Pfades, der genau über einen Berggipfel führt, selten die Gipfelhöhe. (Kubische Faltung und einige Formen des Krigings (einschließlich stochastischer Simulation mit Kriging)) können milde Formen dieses Problems überwinden. Wenden Sie sich an sie, wenn Sie die statistischen Merkmale des Höhenprofils reproduzieren möchten, anstatt sich mit einer "besten Anpassung" zufrieden zu geben, die die Extreme mittelt.

whuber
quelle
danke whuber. Muss der Abstand überhaupt festgelegt werden?
Matthew Snape
1
@Matthew Der Abstand kann, wie bereits erwähnt, an die Höhen und deren Änderungen angepasst werden. Die Qualität anderer Abstände, wie zufälliger Abstände oder beliebiger Abstände, ist schwer zu beurteilen. Es ist jedoch nicht wichtig, externe Informationen zu verwenden, um einige der Stichprobenpunkte zu platzieren. Wenn Sie beispielsweise eine Stream-Ebene haben, können Sie alle Stream-Kreuzungen in Ihre Punkte aufnehmen, um sicherzustellen, dass Sie die lokalen Minima der Höhe entlang des Pfads abtasten. Für bestimmte spezielle Zwecke funktionieren Abstände mit gleicher Höhe gut.
whuber
An einigen Stellen verläuft die Profillinie jedoch in kurzer Entfernung durch mehrere Zellen. Bei anderen verläuft die Profillinie weniger (wenn Sie mit der Achse fahren). Sicherlich wird ein festes Intervall dies nicht berücksichtigen?
Matthew Snape
@Matt Der Punkt ist, dass das bloße Durchlaufen von Zellen nicht relevant ist. Jedes räumliche Interpolationsverfahren kann an den unendlich vielen Punkten des Pfades eine Höhenschätzung liefern. Dies reduziert Ihr Problem um eine Dimension: Der Interpolator liefert die Höhe als Funktion der Entfernung (Sie können sie in kartesischen Koordinaten grafisch darstellen), und das Problem besteht darin, diese Grafik abzutasten. Mit anderen Worten, wenn Sie einen Interpolator ausgewählt haben, können Sie genauso gut fragen: "Ich habe eine Funktion y = f (x). Wie kann ich sie am besten grafisch darstellen?" Mein Rat ist, (a) einen guten Interpolator zu wählen und (b) gut zu zeichnen!
whuber