Als ich anfing, mit Python und ArcGIS 9.3 zu arbeiten, ging ich davon aus, dass es eine einfache Möglichkeit gibt, ein Rasterbild in ein Python-Array zu übertragen, damit ich es bearbeiten kann, bevor ich es wieder als anderes Rasterbild speichere. Ich kann jedoch nicht herausfinden, wie das geht.
Wenn es möglich ist, wie dann?
arcpy
raster
arcgis-9.3
robintw
quelle
quelle
http://help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#/RasterToNumPyArray/000v0000012z000000/
ArcGIS 10 bietet die Möglichkeit, numPy-Arrays zu schreiben und zu lesen.
quelle
fmark hat die Frage bereits beantwortet, aber hier ist ein Beispiel für einen OSGEO-Python-Code, den ich geschrieben habe, um ein Raster (tif) in ein NumPy-Array zu lesen, die Daten neu zu klassifizieren und sie dann in eine neue tif-Datei zu schreiben. Sie können jedes von gdal unterstützte Format lesen und schreiben.
quelle
Zugriff auf ArcObjects über Python? diskutiert die Integration von Arcobjects mit Python.
Möglicherweise könnte der Code in diesem Beispiel so angepasst werden, dass er von Python aus aufgerufen werden kann.
Ich bin nicht sicher, ob es eine Möglichkeit gibt, ein Array byref an Python zurückzugeben. Wenn ja , dann wäre IPixelBlock.PixelDatabyRef einen Versuch wert.
quelle
Sie können Ihr Raster als ESRI-ASCII-Raster speichern und diese Datei mit numpy lesen / bearbeiten.
Dies bietet einige Ausgangspunkte: http://sites.google.com/site/davidpfinlayson2/esriasciigridformat
Aber aufgepasst - es scheint, dass das ASCII-Rasterformat nicht immer den Spezifikationen entspricht, daher kann es eine Herausforderung sein, sie jedes Mal richtig zu lesen.
quelle
Ich bin nicht sicher, ob Sie das Raster Pixel für Pixel bearbeiten können, aber Sie können die Geoverarbeitungsobjekte in Verbindung mit der Python-API verwenden.
Sie können jede Toolbox für diese Art der Manipulation verwenden. Ein Beispielskript wäre:
Hier ist eine Antwort auf Ihre Frage . Immer noch nicht möglich. Nicht sicher in Version 10.0.
quelle
Am einfachsten wäre es, das Raster in netCDF zu konvertieren, es dann zu öffnen und durch das Raster zu gehen. Ich habe das Gleiche für ein Projekt getan, bei dem Raster in Feature-Daten umgewandelt wurden, die auf Daten basieren, die den Rasterzellen zugewiesen wurden. Ich habe mir das ewig angesehen und bin zu dem Schluss gekommen, dass das Gehen der Rasterdaten von netCDF einfacher wäre.
quelle