Wie erstelle ich Punkte am Rand der Ergebnisse des Sichtfelds?

8

Gibt es in ArcGIS ein Werkzeug oder Modul oder mehrere Werkzeuge, mit denen Sie die Erstellung von Punkten an den Außenkanten eines Ansichtsfensters automatisieren können?

Ich versuche, Daten über die Höhen auf den entferntesten Stellen eines Sichtschuppens zu sammeln. Wenn ich Punkte habe, kann ich die Höhenwerte in die Attributtabelle extrahieren und dann vom ursprünglichen Punkt aus Anstiegs- / Laufberechnungen durchführen, um möglicherweise ein Horizontdiagramm in etwas wie Excel zu erstellen.

Ist das möglich?

CodeSpatial
quelle
Die gewünschten Punkte unterscheiden sich von den in_observer_features?
Artwork21
5
Konvertieren Sie Ihr Ansichtsfenster in Polygone und führen Sie dann Feature-Scheitelpunkte in Punkte auf den Polygonen aus. Verwenden Sie für eine genauere Lösung die Editor-Symbolleiste, um regelmäßige Punkte entlang einer Polylinie zu erstellen, die das Ansichtsfenster abgrenzt.
Aaron
2
Ein zonales Höhenmaximum nach Aspekt des negativen Abstands zum Beobachter, wie durch das Sichtfeld maskiert, erzeugt eine Tabelle von (Peilungs-, Höhen-) Paaren; Wenn Sie es zeichnen, wird der Horizont ohne weitere Berechnung angezeigt.
whuber
3
@ Aaron Es ist schwierig zu bestimmen, was eine "Polylinie, die das Sichtfeld abgrenzt" sein könnte, da viele Sichtfenster sehr unregelmäßige, nicht verbundene Merkmale sind.
whuber

Antworten:

8

Ein Profil des Horizonts zeigt die scheinbare Höhe der Land-Himmel-Abgrenzung gegen die Blickrichtung (den "Azimut").

Beispiel

In diesem Diagramm misst die "angepasste Höhe" den Blickwinkel (dargestellt als 1000-fache Tangente). Es wurde von einem DEM erhalten, indem zuerst das Sichtfenster für einen 20-Meter-Feuerturm an einem Ort nahe der Mitte berechnet wurde:

Sichtschuppen

Dieses hügelschattierte DEM wurde mit Standard-Geländefarben (blau = niedrig, braun und grau = hoch) gefärbt und bis zum Sichtfenster maskiert. Die Tangente des Blickwinkels kann ermittelt werden, indem die Höhe des Turms vom ursprünglichen DEM subtrahiert und die Ergebnisse durch die Entfernung dividiert werden. Hier ist eine entlarvte Version mit Hügelschatten. Die größten Änderungen (relativ zum ursprünglichen DEM) treten natürlich in der Nähe des Beobachterstandorts auf:

Höhenwinkel

Die endgültige Berechnung muss die maximale Betrachtungshöhe in alle Richtungen erfassen. Da wir das Entfernungsraster bereits berechnet haben, können die Blickrichtungen einfach durch Berechnung seines Aspekts ermittelt werden:

Aspekt der Entfernung

Dies sind Winkel zwischen 0 und 360 Grad. Unterteilen Sie sie in diskrete Betrachtungswinkelbereiche. Eine einfache Berechnung reicht aus: Nehmen Sie zum Beispiel den ganzzahligen Teil, um Ein-Grad-Bereiche zu erhalten. Schließlich erzeugt ein zonales Maximum (wobei sichergestellt wird, dass nur die für das Sichtfeld maskierten Betrachtungshöhen und -aspekte verwendet werden) eine Tabelle mit den Ergebnissen:

Zonale Maximaltabelle

Dies sind die Daten, die zu Beginn dieser Antwort aufgezeichnet wurden (um 180 Grad angepasst, da der Aspekt eines Abstandsgitters die Umkehrung der tatsächlichen Peilung des Gesichtspunkts ist).


Zusammenfassend sind die Berechnungen:

  1. Der Blick selbst.

  2. Ein euklidisches Distanzgitter für den Beobachterstandort.

  3. Eine relative Höhe ( dh eine Subtraktion ) geteilt durch das Entfernungsgitter, um die Betrachtungshöhe zu erhalten.

  4. Der Aspekt des Distanzgitters.

  5. Eine diskretisierten Version der Seitengitterzone zu schaffen.

  6. Eine zonale Zusammenfassung der Ansichtshöhe (Zonen sind Aspekte).

Alle außer den ersten - die bereits in der Frage verfügbar sind - sind schnelle Operationen, die selbst bei enormen DEMs bequem durchzuführen sind.


Bei der Berechnung der Betrachtungshöhe können Sie die Erdkrümmung und die Lichtbrechung durch die Atmosphäre kompensieren, indem Sie weiter entfernte Höhen um eine quadratische Funktion der Entfernung verringern und so ein realistisches Profil dessen erhalten, was tatsächlich gesehen wird. Siehe "Krümmungs- und Brechungskorrekturen" in der Hilfe zu ArcGIS Spatial Analyst .

whuber
quelle
1
Vielen Dank! Dies ist ein großartiger Start für mich. Wie haben Sie das oben gezeigte Horizontdiagramm erstellt? Ist das etwas in ArcGIS? Gibt es eine Möglichkeit, die Werte aus dem Plot zu extrahieren? Speziell die Höhe und der entsprechende Azimut?
CodeSpatial
1
Das Diagramm wurde aus den Daten erstellt, die in der endgültigen Tabelle als Felder [Wert] und [Max] angezeigt werden. Jede Software, die aus (x, y) Daten einen Plot erstellt, funktioniert. Dieser wurde von Mathematica gemacht.
whuber
1
OK, ich verstehe. Wie führe ich die in "3", "5" und "6" genannten Berechnungen in ArcGIS durch? Ich verstehe, warum sie notwendig sind, bin mir aber bei der Ausführung nicht sicher.
CodeSpatial
2
Ich habe in der Zusammenfassung für Sie Hyperlinks zum Hilfesystem eingefügt.
whuber
1
Ist das eine ArcView 3.3-Tabelle, die ich mir ansehe? Genial! :)
Hornbydd