Ich habe zwei Karten für die gleiche Fläche (1) eine Raster Landnutzungskarte und (2) ein Shapefile mit Tausenden von Teilwassereinzugsgebieten. Ich versuche, den Landnutzungstyp aus dem Raster (Karte 1) jedem Teilwassereinzugsgebiet (Karte 2) basierend auf der Mehrheitsregel zuzuordnen. Ich habe versucht, räumliche Join, aber das Ergebnis scheint falsch zu sein. Was ist der beste Weg, um es entweder in ArcMap oder durch Arcpy zu tun?GIS/ArcPy: Landnutzungsdaten aus einem Raster extrahieren und Shigfile Polygonen zuweisen
1
A
Antwort
0
Ich würde empfehlen, Zonal Statistics as Table (Spatial Analyst) zu verwenden, um diese Aufgabe zu erfüllen. Hier ist der allgemeine Arbeitsablauf:
- Führen Sie Zonal Statistics as Table mithilfe der Statistik "Majority".
- Treten Sie der Tabelle mit dem Wendepunkt Klasse Feature Join Field (Data Management)
import arcpy, os
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
# Your watershed feature class
watersheds = r'C:\path\to\your\geodatabase.gdb\watersheds'
# Your land cover raster
raster = r'C:\path\to\your\landcover_raster.tif'
# The workspace where the output table will go
zone_table = r'C:\path\to\your\geodatabase.gdb'
# Perform the zonal statistics and output a table
arcpy.sa.ZonalStatisticsAsTable (watersheds, 'watershed_id', raster, zone_table, 'DATA', 'MAJORITY')
# Join the table to the watershed feature class by the OBJECTID field (for feature class)
arcpy.JoinField_management(watersheds, 'watershed_id', zone_table, 'OBJECTID', 'MAJORITY')
+0
danke! es hat super funktioniert !! –
Verwandte Themen
- 1. einen Wert zuweisen in einem Raster-Header
- 2. Python 2d Raster: Werte zuweisen im Raster
- 3. Abfolge benachbarter Zellen aus einem Raster holen
- 4. Ändern von Rasterwerten mit räumlichen Polygonen
- 5. Erstellen von Punkten aus einem Raster mit R
- 6. Extrahieren von Text aus einem contentEditable div
- 7. Reflexionen und andere Transformationen mit Java Polygonen
- 8. Bild aus dem Raster
- 9. Wie Stunden und Minuten aus einem datetime.datetime Objekt extrahieren?
- 10. Dateiname und Pfad aus einem laufenden Prozess extrahieren
- 11. Extrahieren bestimmter Spalten aus einem Datenrahmen
- 12. So extrahieren Sie Daten aus einem Promise
- 13. Extrahieren von Geheimnissen aus einem eingebetteten Chip
- 14. Einen Wert aus einem URL-Fragment extrahieren
- 15. HowTo MimeType aus einem Byte extrahieren []
- 16. Extrahieren von Daten aus einem HTML-Code
- 17. Extrahieren bestimmte Informationen aus einem Array
- 18. Extrahieren von verbundenen Objekten aus einem Bild in Python
- 19. Extrahieren von Tagen aus einem numpy.timedelta64 Wert
- 20. Extrahieren eines Funktionsaufrufnamens aus einem Funktionsaufruf
- 21. Extrahieren neuer Elemente aus einem RSS-Feed
- 22. URLs aus einem String extrahieren mit PHP
- 23. postgersql 8.2 Wochennummer aus einem Datumsfeld extrahieren
- 24. Eindimensionales Array aus einem Multidimension-Array extrahieren
- 25. PDF-Formularfeldnamen aus einem PDF-Formular extrahieren
- 26. Extrahieren ergibt sich aus einem `lmermod` Objekt
- 27. Extrahieren von Elementen aus einer Liste und Zuweisen von ihnen zu Variablen
- 28. Extrahieren von Farben aus einem Bild
- 29. Extrahieren von Dateinamen aus einem Pfad MYSQL
- 30. Extrahieren von Text aus einem Div-Tag
beschreiben Können Sie besser mit, was über die Ergebnisse, die Sie bekam „scheint falsch“? Ein räumlicher Join wäre die erste Methode, die ich auch versuche, also würde ich mehr Details benötigen, um bei der Fehlerbehebung zu helfen. – Erica
Mein Ziel ist es, die Landnutzung mit der maximalen Fläche im Überlappungsbereich zu identifizieren und diese Landnutzung im Polygon der Formdatei zuzuweisen. Beim räumlichen Join habe ich 'INTERSECT' als Match-Option verwendet. In der "Feldzuordnung der Join-Funktionen" habe ich "Modus" als "Zusammenführungsregel" verwendet. Andere Optionen der Zusammenführungsregel sind Frist, Last, Min, Max, Anzahl, Summe, Mittelwert, StD, Median und Range. Wenn ich 'Mode' verwende, gibt es den 'land use' Typ, der meistens im überlappenden Bereich auftritt. Aber mein gewünschtes Ergebnis ist, den Landnutzungstyp zu finden, der im Überlappungsbereich die größte Fläche aufweist. –