Lorsque j'ai commencé à travailler avec Python et ArcGIS 9.3, j'ai supposé qu'il y aurait un moyen simple d'obtenir une image raster dans un tableau Python afin de pouvoir la manipuler avant de la stocker à nouveau en tant qu'autre image raster. Cependant, je n'arrive pas à trouver comment procéder.
Si c'est possible alors, comment?
arcpy
raster
arcgis-9.3
robintw
la source
la source
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/RasterToNumPyArray/000v0000012z000000/
ArcGIS 10 a la capacité d'écrire et de lire des tableaux numPy.
la source
fmark a déjà répondu à la question, mais voici un exemple de code OSGEO Python que j'ai écrit pour lire un raster (tif) dans un tableau NumPy, reclasser les données puis les écrire dans un nouveau fichier tif. Vous pouvez lire et écrire n'importe quel format pris en charge par gdal.
la source
Accéder à ArcObjects à partir de Python? discute de l'intégration d'arcobjects avec python.
Peut-être que le code de cet exemple pourrait être adapté pour pouvoir être appelé à partir de python.
Je ne sais pas s'il existe un moyen de renvoyer un tableau byref à python. S'il y en a, alors IPixelBlock.PixelDatabyRef vaudrait la peine d'essayer.
la source
Vous pouvez enregistrer votre raster en tant que grille ascii ESRI et lire / manipuler ce fichier avec numpy.
Cela fournit quelques points de départ: http://sites.google.com/site/davidpfinlayson2/esriasciigridformat
Mais attention - il semble que le format de la grille ascii ne suive pas toujours les spécifications, donc les lire correctement à chaque fois peut être un défi.
la source
Je ne suis pas sûr que vous puissiez manipuler le raster pixel par pixel, mais vous pouvez utiliser les objets de géotraitement en conjonction avec l'API python.
Vous pouvez utiliser n'importe quelle boîte à outils pour ce type de manipulation. Un exemple de script serait:
Voici un suivi de votre question . Toujours pas possible. Pas sûr de la version 10.0.
la source
Le moyen le plus simple serait de convertir le raster en netCDF, puis de l'ouvrir et de parcourir la grille. J'ai fait à peu près la même chose pour un projet impliquant la transformation de rasters en données d'entités basées sur les données affectées aux cellules raster. J'ai regardé cela pendant des siècles et je suis arrivé à la conclusion que parcourir les données de la grille serait plus facile avec netCDF.
la source