Cuando comencé a trabajar con Python y ArcGIS 9.3, supuse que habría una manera simple de obtener una imagen ráster en una matriz Python para poder manipularla antes de almacenarla como otra imagen ráster. Sin embargo, parece que no puedo descubrir cómo hacer esto.
Si es posible, ¿cómo?
arcpy
raster
arcgis-9.3
robintw
fuente
fuente
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/RasterToNumPyArray/000v0000012z000000/
ArcGIS 10 tiene la capacidad de escribir y leer matrices numPy.
fuente
fmark ya respondió la pregunta, pero aquí hay un ejemplo de código OSGEO Python que escribí para leer un ráster (tif) en una matriz NumPy, reclasificar los datos y luego escribirlos en un nuevo archivo tif. Puede leer y escribir cualquier formato compatible con gdal.
fuente
¿Acceso a ArcObjects desde Python? discute la integración de arcobjects con python.
Quizás el código en este ejemplo podría adaptarse para que pueda llamarse desde python.
No estoy seguro de si hay una manera de pasar una matriz por referencia a Python. Si lo hay, entonces valdría la pena probar IPixelBlock.PixelDatabyRef .
fuente
Puede guardar su ráster como una cuadrícula ascii de ESRI y leer / manipular ese archivo con numpy.
Esto proporciona algunos puntos de partida: http://sites.google.com/site/davidpfinlayson2/esriasciigridformat
Pero cuidado: parece que el formato de cuadrícula ascii no siempre sigue las especificaciones, por lo que leerlos correctamente cada vez puede ser un desafío.
fuente
No estoy seguro de que pueda manipular el ráster píxel por píxel, pero puede usar los objetos de geoprocesamiento junto con la API de Python.
Puede usar cualquier caja de herramientas para ese tipo de manipulación. Un script de muestra sería:
Aquí hay un seguimiento de su pregunta . Aún no es posible. No estoy seguro en la versión 10.0.
fuente
La forma más fácil sería convertir el ráster a netCDF y luego abrirlo y recorrer la cuadrícula. Hice casi lo mismo para un proyecto que involucra convertir rásteres en datos de características basados en datos asignados a las celdas de ráster. Observé esto por años, y llegué a la conclusión de que recorrer los datos de la cuadrícula sería más fácil con netCDF.
fuente