Ao começar a trabalhar com Python e ArcGIS 9.3, presumi que haveria uma maneira simples de obter uma imagem rasterizada em uma matriz Python, para que eu possa manipulá-la antes de armazená-la novamente como outra imagem rasterizada. No entanto, não consigo descobrir como fazer isso.
Se é possível, então, como?
arcpy
raster
arcgis-9.3
robintw
fonte
fonte
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/RasterToNumPyArray/000v0000012z000000/
O ArcGIS 10 tem a capacidade de escrever e ler matrizes numPy.
fonte
O fmark já respondeu à pergunta, mas aqui está um exemplo de código OSGEO Python que escrevi para ler uma varredura (tif) em uma matriz NumPy, reclassificar os dados e gravá-los em um novo arquivo tif. Você pode ler e escrever qualquer formato suportado pelo gdal.
fonte
Acessando o ArcObjects a partir do Python? discute a integração de arcobjects com python.
Talvez o código neste exemplo possa ser adaptado para poder ser chamado de python.
Não tenho certeza se existe uma maneira de passar uma matriz byref de volta para python. Se houver, vale a pena tentar IPixelBlock.PixelDatabyRef .
fonte
Você pode salvar sua varredura como uma grade ascii ESRI e ler / manipular esse arquivo com numpy.
Isso fornece alguns pontos de partida: http://sites.google.com/site/davidpfinlayson2/esriasciigridformat
Mas cuidado - parece que o formato da grade ASCII nem sempre segue as especificações, portanto, lê-las corretamente sempre pode ser um desafio.
fonte
Não sei se você pode manipular o pixel raster por pixel, mas pode usar os objetos de geoprocessamento em conjunto com a API python.
Você pode usar qualquer caixa de ferramentas para esse tipo de manipulação. Um script de amostra seria:
Aqui está um acompanhamento da sua pergunta . Ainda não é possível. Não tenho certeza na versão 10.0.
fonte
A maneira mais fácil seria converter a varredura em netCDF, abri-la e percorrer a grade. Fiz a mesma coisa em um projeto que envolve transformar rasters em dados de recursos com base nos dados atribuídos às células raster. Eu olhei para isso por séculos e cheguei à conclusão de que andar com os dados da grade seria mais fácil com o netCDF.
fonte