Навчання ArcPy?


Відповіді:


71

Це питання було перетворене на Wiki Wiki та заблоковано, тому що це приклад запитання, який шукає список відповідей і є досить популярним, щоб захистити його від закриття. Це слід розглядати як окремий випадок і не слід розглядати як тип запитання, який рекомендується на цьому або будь-якому сайті Stack Exchange, але якщо ви хочете внести до нього більше контенту, тоді не соромтеся, редагуючи цю відповідь. .


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

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

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

Прочитайте файли довідки !! 90% ArcPy так само, як і використання інструментів GUI, тільки ви запускаєте їх за допомогою Python. Усі файли довідки мають приклад Python-коду внизу.

Інтернет-книги:

Інтернет-курси:

Підручники:

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

Презентації:

Паперові книги:

Спільноти користувачів:

Блоги:

Приклад коду:

Інструменти / інтегровані середовища розвитку (IDE) - некомерційні:

Модулі / рамки:

Дивіться також ці загальні поради для нових програмістів Python у цій відповіді на Експорт mxds в pdfs за допомогою ArcPy? .


1
Старе питання, але я новачок у ArcPy і думав, що додам те, що мені допоміг нещодавно. Ця серія YouTube була особисто корисною для мене. Відео короткі, і я просто дивився їх за один вечір на 2x швидкості, щоб отримати аромат того, як працює 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 .

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

З мого власного досвіду, ви не можете суворо вивчити пакет аркпійських сайтів без врешті-решт залучення великих понять з мови програмування Python. Насправді я спершу спробував застосувати підхід, який ви ухиляєтесь, і я почав використовувати пакет сайту arcpy для автоматизації процесів в ArcGIS. Однак я швидко опинився під час опитування документації Python, шукаючи кращих підходів до, наприклад, маніпулювання шляхами, такими як os.path.join(). Я також виявив, що я уникав неймовірно потужних бібліотек Python, таких як NumPy та SciPy, приймаючи альтернативи ESRI. У підсумку я рекомендую наступні кроки, щоб вивчити основи Python, доповнені пакетом сайту arcpy:

  1. По-перше: використовуйте IDE, такі як PythonWin або PyScripter, щоб виконати всі свої сценарії! Занадто багато людей потребує занадто багато часу, щоб зрозуміти, що вони можуть реалізовувати та налагоджувати сценарії поза вікном пітону ArcGIS.
  2. Виконайте навіть найпростіші завдання за допомогою Python. Наприклад, визначте робочу область та створіть базу геоданих програмно. Не починайте створювати складні сценарії.
  3. Добре робити спочатку всі свої сценарії, використовуючи arcpy - просто пам’ятайте, що існують кращі, ефективніші методи для багатьох завдань. Завжди шукайте кращу альтернативу з чистим Python, якщо це необхідно.
  4. Знайдіть програмні рішення запитів на цьому сайті. Це, безумовно, допоможе закріпити ваші здібності, оскільки піддасть вас проблемам поза зоною вашого комфорту.
  5. Нарешті, як тільки ви вважаєте, що добре розумієте Python, пройдіть курс ESR під керівництвом інструкторів, наприклад, « Вступ до геопроцесорних сценаріїв за допомогою Python» . Так, ці курси дорогі, але вони цінні і дійсно підсилять те, що ви вже навчилися. Тільки не ходіть на один із цих курсів, не розуміючи основних понять.

6

Я часто навчаю людей користуватися ArcMap, і наш навчальний курс знайомить людей з Python та arcpy. Я дуже стараюся, щоб люди читали файл довідки! Що це за люди, які не читають файл довідки, це ганяє мене!

Якщо ви відкриєте файл довідки будь-якого інструмента для обробки географії, він завжди дає зразок коду python за допомогою цього інструменту. Це чудовий спосіб дізнатися, як взаємодіяти з модулем arcpy в середовищі Python.

Для початківців він безкоштовний і вбудований прямо у файл довідки про програму. Як ви хочете робити більш складні речі, тоді перейдіть до ресурсів, які були зібрані на цій темі.


3
Це. Так. У світі ArcGIS є багато документації. Люди вкладають багато часу на написання цієї документації. Мені це трохи заплутано, коли люди переживають проблему розробки довгого питання в Інтернеті, що отримує відповідь, що є лише посиланням на документацію, коли людина могла використати пошукову систему, написавши значно меншу кількість слів, і потрапив на ту саму ту саму довідкову сторінку.
Jason Scheirer


3

Єдине, що я хотів би додати, - це створити щось у конструкторі моделей та експортувати його до сценарію Python, щоб дати вам уявлення про те, як різні компоненти поєднуються разом.


7
Я б застерігав проти цього. З цим підходом потрібно багато очищення (експортер вставляє багато суворих, дивних імен змінних тощо), а деякі речі просто не працюють при експортуванні з ModelBuilder), і я вважаю, що простий акт введення висловлювань та функцій змушує вас вчитися ефективніше, ніж дозволяти інструменту робити це за вас.
blah238

6
Альтернативою є натискання правою кнопкою миші на результаті геообробки та натисканням кнопки "Скопіювати як фрагмент Python", якщо ви просто хочете отримати синтаксис виклику функції (особливо корисно для таких речей, як відображення поля).
blah238

Так, справедливий момент - це непогано, якщо ви тільки склеюєте пару операцій разом (пара буферів, за якими може бути затискач), але, як ви кажете, це стає некрасивим для великих моделей. Мені подобається ідея скопіювати gp-скрипт як фрагмент.
om_henners

Не думав про це для відображення полів. Мені доведеться це спробувати.
Джей Гуарнері

1
+1 це завжди хороший трюк, особливо якщо вам потрібно, наприклад, навчитися інтегрувати перекласифікувати синтаксис у свій сценарій.
Аарон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.