Изучаете ArcPy?

Ответы:

71

Этот вопрос был преобразован в вики сообщества, а вики заблокированы, потому что это пример вопроса, который ищет список ответов и кажется достаточно популярным, чтобы защитить его от закрытия. Его следует рассматривать как особый случай, и его не следует рассматривать как тип вопроса, который поощряется на этом или любом сайте Stack Exchange, но если вы хотите внести в него больше контента, сделайте это, отредактировав этот ответ. ,


Посмотрите посты здесь и на других сайтах, которые используют скрипты Python, и постарайтесь разобрать их и посмотреть, какие методы авторы используют для выполнения своей задачи. Наш сборочный FAQ по ArcPy стоит того, чтобы его просмотреть.

Вы найдете образовательным, чтобы попытаться решить проблемы других людей. У нас есть самосборный список оставшихся без ответа вопросов в ArcPy, чтобы помочь вам найти их.

Документация ArcGIS:

Прочитайте файлы справки !! 90% ArcPy - это то же самое, что и инструменты GUI, только вы запускаете их с помощью Python. Все файлы справки имеют пример кода Python внизу.

Интернет Книги:

Онлайн курсы:

Учебники:

Документация Python:

Доклады:

Бумажные книги:

Сообщества пользователей:

Блоги:

Образец кода:

Инструменты / Интегрированные среды разработки (IDE) - некоммерческие:

Модули / Каркасы:

Также ознакомьтесь с этими общими советами для новых программистов на Python в этом ответе на статью «Экспорт mxds в pdfs с помощью ArcPy?». ,

blah238
источник
1
Старый вопрос, но я новичок в ArcPy и думал, что добавлю то, что мне недавно помогло. Этот сериал на YouTube был очень полезным для меня лично. Видео короткое, и я просто посмотрел их все в один вечер на скорости 2х, чтобы понять, как работает ArcPy (не занимался какими-либо упражнениями, просто смотрел видео). [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1
Я также получил эту книгу. Это хорошее приличное вступление, и оно, конечно, было полезно для меня, но определенно не хватает глубины и продвинутых тем. Тем не менее, я лично думал, что это стоило того, чтобы использовать ~ 25 долларов (не заплатил бы за это больше, чем ~ 35 долларов, но это мое мнение). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1
14

Я настоятельно рекомендую прочитать Программирование ArcGIS 10.1 с помощью Python Cookbook .

введите описание изображения здесь

Исходя из моего собственного опыта, вы не можете строго изучить пакет arcpy для сайта, не привлекая в конечном итоге более широкие концепции из языка программирования Python. Фактически, я сначала попытался использовать подход, к которому вы стремитесь, когда я начал использовать пакет сайта arcpy для автоматизации процессов в ArcGIS. Тем не менее, я быстро обнаружил, что пролистываю документацию по Python в поисках лучших подходов, например, для манипулирования путями, такими как with os.path.join(). Я также обнаружил, что избегал невероятно мощных библиотек Python, таких как NumPy и SciPy, принимая альтернативы ESRI. В итоге я бы порекомендовал следующие шаги для изучения основ Python, дополненных пакетом arcpy site:

  1. Во-первых: используйте IDE, например PythonWin или PyScripter, для выполнения всех ваших сценариев! Людям требуется слишком много времени, чтобы понять, что они могут реализовывать и отлаживать скрипты вне окна Python ArcGIS.
  2. Выполняйте даже самые простые задачи, используя Python. Например, определите рабочую область и создайте базу геоданных программно. Не начинайте создавать сложные сценарии.
  3. Сначала все ваши сценарии можно использовать с помощью arcpy - просто имейте в виду, что для многих задач существуют более эффективные и эффективные методы. Всегда ищите лучшую альтернативу с чистым Python, если это необходимо.
  4. Найти программные решения для запросов на этом сайте. Это определенно поможет завершить ваши способности, так как подвергает вас проблемам за пределами вашей зоны комфорта.
  5. Наконец, как только вы поймете, что хорошо разбираетесь в Python, возьмите курс обучения под руководством инструктора из ESRI, например, Введение в сценарии геообработки с использованием Python . Да, эти курсы дороги, но они ценны и действительно подкрепят то, что вы уже изучили. Только не входите в один из этих курсов без хорошего понимания основных понятий.
Аарон
источник
6

Я часто обучаю людей использованию ArcMap, и наш учебный курс знакомит людей с Python и arcpy. Я так стараюсь заставить людей читать файл справки! Что это за люди, которые не читают файл справки, это сводит меня с ума!

Если вы открываете файл справки какого-либо инструмента геообработки, он всегда дает образец кода Python с использованием этого инструмента. Это отличный способ научиться взаимодействовать с модулем arcpy в среде Python.

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

Hornbydd
источник
3
Это. Да. В мире ArcGIS много документации. Люди потратили много времени на написание этой документации. Меня немного смущает, когда люди сталкиваются с проблемой составления длинного вопроса в Интернете, который получает ответ, который является просто ссылкой на документацию, когда человек мог использовать поисковую систему, написав значительно меньшее количество слов, и попал на ту же самую страницу помощи.
Джейсон Шайрер
3

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

om_henners
источник
7
Я бы предостерег от этого. С этим подходом вам придется много чего делать (экспортер вставляет много ненужных, странных имен переменных и т. Д., А некоторые вещи просто не работают при экспорте из ModelBuilder), и я считаю, что простой акт ввод инструкций и функций заставляет вас учиться более эффективно, чем когда инструмент делает это за вас.
blah238
6
Альтернатива - щелкнуть правой кнопкой мыши результат геообработки и щелкнуть «Копировать как фрагмент Python», если вы просто хотите получить синтаксис вызова функции (особенно полезно для таких вещей, как сопоставления полей).
blah238
Да, справедливо - это неплохо, если вы соединяете только пару операций (возможно, пару буферов, за которыми следует клип), но, как вы говорите, это становится ужасно быстро для больших моделей. Мне очень нравится идея скопировать скрипт gp как фрагмент.
om_henners
Я не думал об этом для полевых карт. Я должен попробовать это.
Джей Гварнери
1
+1 это всегда хороший прием, особенно если вам нужно, например, научиться интегрировать синтаксис переклассификации в ваш скрипт.
Аарон