Если у меня есть, скажем, прямоугольный растровый файл с географической привязкой, загруженный в документ ArcMap 10 (.tiff с ассоциированным tfw), как мне легко найти его центральную точку и сохранить эту точку в векторном слое точек?
Кроме того, если у меня есть несколько таких растров в моем документе ArcMap, как мне применить процесс ко всем из них?
К сожалению, у меня нулевой опыт работы с Python. Поэтому с программным решением все в порядке, но мне понадобятся конкретные инструкции о том, как загрузить существующий скрипт в ArcGIS 10 и запустить его для растров в вопросах. (Кстати, растры все в отдельных слоях).
Ответы:
Хотя оригинальный вопрос был для 10.0, я обновил код ниже для 10.3.1.
Скопируйте и вставьте его в окно python в arcmap, чтобы создать функцию RasterCenter:
Затем вы можете использовать окно Python для создания вашего класса объектов, вызвав
Так, например, если у вас есть растр с именем DEM, вы вызываете RasterCenter ("dem") в окне python, и он добавляет слой с именем "dem_center" с одной точкой в центре растра. Слой хранится в памяти, поэтому, если вы хотите сохранить его, экспортируйте его.
Чтобы продвинуться еще дальше, вы можете сохранить сценарий в файле .py и поместить файл .py в путь поиска для python. например, сохраните его как RasterCenter.py и поместите в PYTHONPATH (обычно это место C: \ Python26 \ ArcGIS10.0 \ Lib)
Тогда вы могли бы сделать:
источник
Очень легко, просто получить свойства растров и определить центральную точку из min, max x и y
И обычная проверка ошибок и т.д ....
Затем добавьте в свою таблицу баллов updateCursor
источник