Extrahieren von Raster-DEM-Erhöhungen in Vektorattributtabellen in ArcGIS Desktop?

11

Ich habe ein ArcMap 10-Projekt mit mehreren Ebenengruppen. Eine Ebene ist ein Raster-DEM, eine andere Ebenengruppe besteht aus einer Reihe von Vektor-Shapefiles (einschließlich Punkten, Linien und Polygonen). Der Client möchte, dass alle Vektordaten Z-Werte enthalten.

Das Auffüllen der Attributtabellen für die Vektordaten mit X- und Y-Werten ist einfach genug, aber wie fülle ich die Z-Werte auf?

Gibt es eine Möglichkeit, mit dem Feldrechner die Höhenwerte für jedes Vektormerkmal aus der DEM-Ebene zu "erfassen"?

Ich sollte hinzufügen, dass wir keine Lizenz für die Erweiterungen 3D Analyst oder Spatial Analyst haben.

Brad Torr
quelle
In ArcGIS ist dies ohne 3D-Analysten (oder räumliche Analysten) nicht möglich. Selbst wenn Sie Zugriff auf 3D Analyst hatten, können Sie dies nur für Punkte und Polylinien tun, sofern dies Höhenkonturen mit denselben Höhenwerten sind. Mit dem Werkzeug "Form interpolieren" werden 3D-Features erstellt, die jedoch unterschiedliche Höhen aufweisen. Sie können diese Informationen nur dann einfach in Z-Wert-Attribute konvertieren, wenn die Features perfekt flache Höhen haben. Alles in Punkte umzuwandeln, dann Form zu interpolieren und XYZ zu berechnen, würde funktionieren.
Jakub Sisak GeoGraphics

Antworten:

15

In ArcGIS habe ich dies bisher nur mit Punktvektoren gemacht. Ich bin mir nicht sicher, wie Sie dies mit Polygonen oder Linien-Features tun würden. Leider benötigen Sie Spatial Analyst. Unter Spatial Analyst Tools \ Extraction \ Extract Multi Values ​​to Points und Extract Values ​​to Points gibt es ein Tool . Das Extrahieren mehrerer Werte in Punkte ist besser, da Sie damit den Z-Feldnamen umbenennen können, in den Sie Ihre Werte extrahieren. Wenn Sie Werte in Punkte extrahieren, können Sie dies nicht tun. Ich habe Probleme damit in ArcMap (das Tool stürzt ab), aber es funktioniert gut in ArcCatalog.

Die (kostenlose) Hawths Analysis Tools- Erweiterung für ArcMap verfügte über ein Intersect Point Tool , die Entwicklung der Erweiterung wurde jedoch vor einigen Jahren eingestellt. Es wurde von der Geospatial Modeling Environment abgelöst , die ich nie verwendet habe.

SAGA-GIS (Freeware-Standalone-Software) verfügt unter Shapes über zwei Funktionen : Raster \ Rasterwerte zu Punkten und Formen hinzufügen - Raster \ Rasterwerte zu Formen hinzufügen , die wahrscheinlich das tun können, was Sie möchten. Dies ist die Beschreibung des Werkzeugs Gitterwerte zu Formen hinzufügen:

Räumliche Verknüpfung: Ruft Informationen aus den ausgewählten Gittern an den Positionen der Formen der ausgewählten Formebene ab und fügt sie der resultierenden Formebene hinzu. Für Punkte ähnelt dies dem Modul "Rasterwerte zu Punkten hinzufügen". Für Linien und Polygone werden Durchschnittswerte aus störenden Gitterzellen berechnet. Für Polygone bietet das Modul "Rasterstatistik für Polygone" erweiterte Optionen.

SAGA ist meiner Meinung nach die beste Wahl.

Hoffe das hilft!

hendra
quelle
2
Die Geodatenmodellierungsumgebung verfügt über die folgenden Tools, die den Trick ausführen können: 1) isectpolyrst (Polygone mit Raster schneiden) 2) isectlinerst (Linien mit Raster schneiden) 3) isectpntrst (Punkte mit Raster schneiden). Diese Werkzeuge können manchmal etwas temperamentvoll sein, aber sie werden die Arbeit erledigen.
Aaron
Beachten Sie, dass die Geodatenmodellierungsumgebung nur mit ArcGIS 10.3 und
Tung
1

Ich habe dies nicht für Polygone versucht, aber es funktioniert wirklich gut für Punkte. Wenn Sie in Arcmap 10 Zugriff auf ein 3D-Analystenwerkzeug haben, können Sie nach dem Werkzeug Interpolate Shape suchen. Anschließend wählen Sie Ihre Rasterdatei aus und Ihre Vektorebene passt die z-Werte an, wenn Sie Höhen in Fuß und Ihr DEM in Metern wünschen, und lassen Sie diese laufen . Sobald dies abgeschlossen ist, suchen Sie nach dem Werkzeug ADD XY und wählen Ihre neu erstellte Ebene aus. Anschließend werden Ihre X-, Y- und Z-Werte in dieser Ebenenattributtabelle berechnet.

Pete
quelle
0

Vielleicht können Sie gdallocationinfo verwenden , um alle Z-Werte abzurufen , indem Sie die X-, Y-Werte übergeben. Sobald Sie die Z-Werte haben, verwenden Sie den Feild-Rechner, um den Z-Wert zu den Punkten hinzuzufügen, aus denen jedes Feature besteht. Es würde einige Skripte geben, aber theoretisch sollte dies funktionieren.

Dango
quelle
0

Abhängig von Ihren Einheiten oder der erforderlichen Auflösung können Sie das DEM-Raster jederzeit direkt aus der Toolbox in ein Polygon-Shapefile exportieren und dann eine räumliche Verknüpfung durchführen - dies ist für Punkte am einfachsten. Wenn Sie Z-Werte für Linien oder Polygone benötigen, benötigen Sie offensichtlich definierte Segmente oder Unterteilungen von Polygonen bei jeder Höhenänderung, wie vom vektorisierten DEM-Gitter angegeben. Dies kann über Standard-Geoverarbeitungswerkzeuge und räumliche Verknüpfungen erfolgen. Sie müssen jedoch genau auf Ihre Auflösungsanforderungen und den Verarbeitungsaufwand achten, den ein großer Datensatz benötigt.

Labyrinth
quelle
0

Ich empfehle, eine 3D Analyst-Lizenz zu erwerben und Oberflächeninformationen hinzufügen zu verwenden . Oder verwenden Sie Interpolate Shape, gefolgt von Add Z Information, wodurch einige Funktionen NA-Werte zurückgeben können, ohne das gesamte Programm zum Absturz zu bringen. Ansonsten gibt es zwei bewährte kostenlose Methoden , die mehr Beinarbeit erfordern. Es ist möglich, diese in QGIS zu implementieren , sodass Sie Ihre bequeme GIS-Umgebung nicht verlassen müssen.

Adam Erickson
quelle
0

Das ESRI-Tool, das Sie verwenden möchten, ist "Z-Informationen hinzufügen". Vielleicht können Sie eine Testversion erhalten und sehen, ob das Tool für Sie von weiterem Nutzen ist. Wenn das Erhalten der 3D Analyst-Erweiterung keine Option ist, fällt Ihnen (außer einer Programmierlösung) nur ein, dass Sie Ihre Daten aus ESRI entfernen und eine der kostenlosen Optionen wie SAGA-GIS / qGIS "Add Grid" verwenden Wert für Formen "oder" Rasterstatistik für Polygone "ist nicht so flexibel wie ESRIs, macht aber dasselbe, wenn Sie nach der durchschnittlichen Höhe entlang des Polygons / der Linie suchen.

user67765
quelle
-1

Ich weiß, wie man das für Punkte macht. Linien und Polygone unterscheiden sich, weil sie mehrere Gitterzellen des DEM kreuzen. Sie können Punkte entlang der Linien oder ähnliches machen und Werte für diese extrahieren. In Arc benötigen Sie einen räumlichen Analysten, um die Werte abzurufen. Sie können sie jedoch über Qgis (kostenlos) abrufen, obwohl dies nicht so nützlich ist. Sie müssen in der Lage sein, mit Excel-Dateien zu arbeiten und diese aus Shapefiles hin und her zu konvertieren. Das Qgis generiert ein Shapefile, das nur die extrahierten Punkthöhen enthält. Sie müssen dieses also kopieren und als Excel-Datei in Ihre Originaltabelle einfügen (mit den X-, Y-Werten, damit Sie es wieder in ein Shapefile mit zurücksetzen können "x, y Daten anzeigen"). Sie müssen Ihre Projektionen im Auge behalten, um sicherzustellen, dass Sie die richtige auswählen, wenn Sie zurück in Shapefile konvertieren.

Michael
quelle
Seien Sie bei der Beantwortung einer Frage bitte genau, anstatt auf andere Richtungen zu zeigen. Beispielsweise benötigt der Benutzer eine Antwort in ArcGIS (nicht QGIS).
Farid Cheraghi