Использование функциональности ArcGIS в Python без запуска ArcMap (например, отдельный редактор / среда)?

26

Я пытаюсь сделать следующий шаг в программировании ArcGIS с Python и посмотреть, возможно ли на самом деле запустить мой скрипт / код без загрузки ArcMap и вставить их в окно Python. Я полагаю, я бы сделал это представление какой-то IDE, специфичной для Python, которая загружает что-то из ArcGIS.

Как бы я получил это сделать?


Обновление: краткое изложение решения

Я пошел по маршруту Eclipse + PyDev. Вот мои заметки по установке и настройке:

Скачать Eclipse

Это немного сбивает с толку, учитывая все возможные варианты (Java, Java EE, C / C ++ и т. Д.). Я пошел с C / C ++, так как это то, что мне знакомо. Это не имеет большого значения, так как PyDev устанавливается после этого шага. Выберите то, что вы хотите.

Установите PyDev

PyDev будет установлен через Eclipse. Связанные инструкции работали отлично.

Настроить PyDev

Приведенный выше вопрос дает скриншот конфигурации Windows, в то время как эта ссылка из блога ESRI содержит больше информации для систем Unix, хотя это с 2008 года.

Запустил тестовый скрипт

Запустил скрипт, над которым я работал, и он сработал. По-видимому, существуют некоторые различия в выполнении кода таким образом, как получить доступ к шейп-файлам, рабочему пространству и т. Д., Требуется больше ясности. Больше узнать здесь.

mindless.panda
источник
Признаюсь, это кажется чуть ли не вопросом Python, а также выдает мое незнание среды Python, но, надеюсь, ответ будет полезен для тех, кто не знаком с ArcGis + Python!
mindless.panda
Я думаю, что с помощью IDLE было бы проще. Я думаю, что в этой ситуации PyDev немного переборщил. Возможно, вы также захотите построить некоторые модели в Model Builder и экспортировать их в виде файлов .py. Таким образом, вы почувствуете код Python.
РК
Это просто повторение того, что я сказал! Это лучшее, хотя не правда ли. Ключ к его использованию заключается в том, что вы можете создавать объекты и классы, которые не поддерживаются другими способами. Это позволяет вам действительно сосредоточиться на создании кода для взлома, который можно развернуть на сервере. Удачи!
Волосатые
2
Бессмысленно, только один ответ здесь упоминает решение Eclipse + PyDev. Есть ли причина, по которой вы не проголосовали?
whuber
Никто. Я принял предложение «Затмения», потому что так я и предпочитал. Я только ответил на свой вопрос, чтобы задокументировать процесс установки. По какой причине мой ответ должен быть отредактирован в вопросе? Возможно, это должен быть CW?
mindless.panda

Ответы:

11

Лучший способ использования Python, который я нашел, - это использование Eclipse с PyDev. Это хорошая среда разработки для разработки с возможностью встроенной отладки, а не отладки линейной отладки, и она позволила мне создавать очень профессиональные серверные приложения для управления данными в больших масштабах.

На мой взгляд, IDLE хорош только для тестирования скриптов и не подходит для разработки сложных объектно-ориентированных решений.

Это также невероятно легко настроить.

волосатый
источник
Много ли связано с тем, чтобы Eclipse + PyDev работал с функциональностью ArcGIS? Другие ответы, кажется, указывают на некоторые особенности использования Python без установленной Arc?
mindless.panda
Ничего подобного, просто убедитесь, что у вас установлен рабочий стол arcgis, и настройте Eclipse для работы с PyDev, и вы в отъезде. На настройку потребовалось 5 минут, а затем все, что вам нужно сделать, это указать arcpy в вашем скрипте. Серьезно, я не видел более легкий и лучший способ сделать это.
Волосатая
15

Я только начал разбираться с Python и arcpy, и я нашел PyScripter действительно полезным. Это полноценная Python IDE

mapoholic
источник
2
Лучший IDE, который я когда-либо использовал, это PyScripter, и он бесплатный!
Хорнбидд
2
PyScripter действительно великолепен. Отличное завершение кода, подсветка синтаксиса, поиск и замена, вкладки для отображения нескольких скриптов PY. Гораздо полезнее, чем IDLE на мой взгляд.
RyanDalton
15

Если я понимаю вопрос, вы хотите запускать свои скрипты автономно вне сеанса ArcMap. Совершенно выполнимо. Сохраните ваш код в файл Python (.py). Что касается редактирования, вы можете использовать IDLE или любой текстовый редактор (даже Блокнот) в этом отношении. Иногда, когда вы начинаете, проще использовать текстовый редактор, чтобы вы могли сосредоточиться на изучении кода, а не на IDE. Убедитесь, что вы правильно настроили переменные окружения PATH , чтобы они включали ваш установочный каталог Python, например:

C:\Python26\ArcGIS10.0\Lib\site-packages\;C:\Python26\ArcGIS10.0;C:\Python26\ArcGIS10.0\Scripts

Затем нужно просто открыть командную строку («Пуск»> «Выполнить»> набрать «cmd» [без кавычек]) и набрать:

python c:\path\to\python\script.py

Теперь это предполагает, что у вас есть все пути к данным, жестко запрограммированные в скрипте.

Это основы. Конечно, это намного больше, например, использование входных параметров.

Чед Купер
источник
3
просто комментарий относительно IDLE или стандартного текстового редактора. Лично я нахожу PythonWin гораздо более простым способом работы, поскольку он обладает лучшими возможностями отладки, что очень важно при обучении. См. Инструкции по установке PythonWin с ArcGIS 10. Вам необходимо убедиться, что вы устанавливаете версию PythonWin с DVD-диска ArcGIS, иначе она может нарушить установку Python.
Стивен Лид
6

Когда ArcGIS устанавливает, он устанавливает свою собственную версию python (т.е. вам не нужно импортировать зависимости) .. обязательно используйте эту ..

Я использую Python CLI в качестве калькулятора, а также запускаю сохраненные скрипты.

Python как калькулятор великолепен, так как вы можете определять переменные ... Я получил этот совет из уроков по питону http://docs.python.org/

У меня есть ярлык для командной строки через командную строку на панели задач% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Я использовал запланированные задачи Windows, чтобы выполнить некоторые операции обслуживания с помощью сценариев, которые я экспортировал из компоновщика моделей, а затем взломал некоторые изменения во встроенных программах Python, такие как применение дат к именам файлов для резервных копий.

woodwa
источник
5

Я считаю, что IDE для Python поставляется с установкой ArcGIS-10. Он называется IDLE и представляет собой простой, но эффективный инструмент для взаимодействия с ArcPy без открытия самого экземпляра ArcMap. Вы сможете найти его в каталоге «Python 2.6» вашей установки ArcGIS в меню «Пуск». Просто убедитесь, что import arcpyперед выполнением чего-либо определенного для пакета! Любой пример сценария, который вы видите в справочнике ArcPy для автономных сценариев, будет работать в интерфейсе IDLE.

Nathanus
источник