Когда я начинал работать с Python и ArcGIS 9.3, я предполагал, что будет простой способ вставить растровое изображение в массив Python, чтобы я мог манипулировать им, прежде чем сохранить его как другое растровое изображение. Тем не менее, я не могу понять, как это сделать.
Если это возможно, то как?
arcpy
raster
arcgis-9.3
robintw
источник
источник
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/RasterToNumPyArray/000v0000012z000000/
ArcGIS 10 имеет возможность писать и читать numPy массивы.
источник
fmark уже ответил на вопрос, но вот несколько примеров кода Python для OSGEO, который я написал, чтобы прочитать растр (tif) в массив NumPy, переклассифицировать данные и записать их в новый файл tif. Вы можете читать и писать любой формат, поддерживаемый GDAL.
источник
Доступ к ArcObjects из Python? обсуждается интеграция arcobjects с python.
Возможно, код в этом примере можно адаптировать так, чтобы его можно было вызывать из python.
Я не уверен, есть ли способ передать массив byref обратно в python. Если есть, то стоит попробовать IPixelBlock.PixelDatabyRef .
источник
Вы можете сохранить свой растр как сетку ESRI ascii и читать / манипулировать этим файлом с помощью numpy.
Это обеспечивает некоторые отправные точки: http://sites.google.com/site/davidpfinlayson2/esriasciigridformat
Но будьте осторожны - кажется, что формат сетки ascii не всегда соответствует спецификациям, поэтому правильное их чтение каждый раз может быть проблемой.
источник
Я не уверен, что вы можете манипулировать растровым пикселем за пикселем, но вы можете использовать объекты геообработки в сочетании с Python API.
Вы можете использовать любой набор инструментов для такого рода манипуляций. Пример сценария будет:
Вот продолжение вашего вопроса . Все еще невозможно. Не уверен в версии 10.0.
источник
Самый простой способ - преобразовать растр в netCDF, а затем открыть его и пройтись по сетке. Я сделал то же самое для проекта, включающего превращение растров в данные объектов, основанные на данных, присвоенных растровым ячейкам. Я смотрел на это целую вечность и пришел к выводу, что ходить по сетке данных будет проще от netCDF.
источник