Uczysz się ArcPy?

37

Gdzie mogę zacząć uczyć się ArcPy?

PolyGeo
źródło

Odpowiedzi:

71

To pytanie zostało przekonwertowane na Wiki Wiki i wiki zablokowane, ponieważ jest to przykład pytania, które szuka listy odpowiedzi i wydaje się być wystarczająco popularne, aby chronić je przed zamknięciem. Powinno to być traktowane jako szczególny przypadek i nie powinno być postrzegane jako rodzaj pytania, które jest zachęcane w tej lub dowolnej witrynie Stack Exchange, ale jeśli chcesz wnieść do niego więcej treści, możesz to zrobić, edytując tę ​​odpowiedź .


Przejrzyj posty tutaj i na innych stronach internetowych, które używają skryptów Pythona, i spróbuj je zdekonstruować i zobacz, jakich technik używają autorzy, aby wykonać swoje zadanie. W tym celu warto zapoznać się z najczęściej zadawanymi pytaniami dotyczącymi ArcPy .

Przekonanie, że próbujesz rozwiązać problemy innych ludzi, będzie dla ciebie pouczające. Mamy zestawioną listę pytań bez odpowiedzi na ArcPy, aby pomóc Ci je znaleźć.

Dokumentacja ArcGIS:

Przeczytaj pliki pomocy !! 90% ArcPy jest tym samym, co używanie narzędzi GUI, tyle że uruchamiasz je za pomocą Pythona. Wszystkie pliki pomocy mają na dole przykładowy kod Python.

Książki online:

Kursy online:

Poradniki:

Dokumentacja Python:

Prezentacje:

Książki papierowe:

Społeczności użytkowników:

Blogi:

Przykładowy kod:

Narzędzia / zintegrowane środowiska programistyczne (IDE) - niekomercyjne:

Moduły / ramy:

Zobacz także ogólne wskazówki dla nowych programistów Python w tej odpowiedzi na temat Eksportowania plików mxds do plików PDF za pomocą ArcPy? .

blah238
źródło
1
Stare pytanie, ale jestem nowy w ArcPy i pomyślałem, że dodam to, co mi ostatnio pomogło. Ta seria YouTube była dla mnie bardzo pomocna. Filmy są krótkie, a ja oglądałem je wszystkie w ciągu jednego wieczoru z prędkością 2x, aby poznać smak działania ArcPy (nie zawracałem sobie głowy wykonywaniem jakichkolwiek ćwiczeń, po prostu oglądałem filmy). [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1
Mam też tę książkę. Jest to dobre intro i na pewno było dla mnie pomocne, ale zdecydowanie brakuje mu głębi i zaawansowanych tematów. Mimo to osobiście uważałem, że warto było użyć ~ 25 $ (nie zapłaciłbym za to więcej niż ~ 35 $, ale to moja opinia). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1,
14

Bardzo polecam przeczytanie Programowania ArcGIS 10.1 z Python Cookbook .

wprowadź opis zdjęcia tutaj

Z mojego własnego doświadczenia nie można ściśle nauczyć się pakietu witryny arcpy bez ostatecznego wprowadzenia większych pojęć z języka programowania Python. W rzeczywistości najpierw próbowałem zastosować podejście, które wymykasz się, gdy zacząłem używać pakietu witryny Arcpy do automatyzacji procesów w ArcGIS. Szybko jednak zacząłem przeglądać dokumentację Pythona, szukając lepszych podejść, na przykład do manipulowania ścieżkami, na przykład za pomocą os.path.join(). Odkryłem również, że unikałem niesamowicie potężnych bibliotek Pythona, takich jak NumPy i SciPy, akceptując alternatywy ESRI. Podsumowując, poleciłbym następujące kroki, aby poznać podstawy języka Python uzupełnione przez pakiet witryny arcpy:

  1. Po pierwsze: użyj IDE, takiego jak PythonWin lub PyScripter, aby wykonać całe skrypty! Zbyt wiele osób zbyt długo zdaje sobie sprawę, że mogą implementować i debugować skrypty poza oknem python ArcGIS.
  2. Wykonuj nawet najprostsze zadania za pomocą Pythona. Na przykład zdefiniuj obszar roboczy i utwórz programowo geobazę. Nie zaczynaj od tworzenia skomplikowanych skryptów.
  3. Na początku możesz wykonywać wszystkie skrypty przy użyciu arcpy - pamiętaj, że istnieją lepsze, bardziej wydajne metody dla wielu zadań. W razie potrzeby zawsze szukaj lepszej alternatywy z czystym Pythonem.
  4. Znajdź programowe rozwiązania dla zapytań na tej stronie. To z pewnością pomoże uzupełnić twoje umiejętności, ponieważ naraża cię na problemy poza twoją strefą komfortu.
  5. Na koniec, gdy już uwierzysz, że dobrze znasz język Python, weź kurs prowadzony przez ESRI, taki jak Wprowadzenie do skryptów geoprzetwarzania za pomocą języka Python . Tak, te kursy są drogie, ale są cenne i naprawdę wzmocnią to, czego już się nauczyłeś. Po prostu nie wchodź na jeden z tych kursów bez dobrego zrozumienia głównych pojęć.
Aaron
źródło
6

Często szkolę ludzi w korzystaniu z ArcMap, a nasze szkolenie wprowadza ludzi w Pythona i Arcpy. Tak bardzo staram się, aby ludzie czytali plik pomocy! Co to takiego, że ludzie nie czytają pliku pomocy, doprowadza mnie to do szału!

Jeśli otworzysz plik pomocy dowolnego narzędzia do geo-przetwarzania, zawsze daje on próbkę kodu Pythona za pomocą tego narzędzia. Jest to świetny sposób na naukę interakcji z modułem arcpy w środowisku Python.

Dla początkujących jest bezpłatny i wbudowany w plik pomocy aplikacji. Jeśli chcesz robić bardziej wyrafinowane rzeczy, wybierz zasoby, które zostały zebrane w tym wątku.

Hornbydd
źródło
3
To. Tak. W świecie ArcGIS jest dużo dokumentacji. Ludzie poświęcają dużo czasu na pisanie tej dokumentacji. Jest to dla mnie trochę mylące, gdy ludzie mają problem z przygotowaniem długiego pytania w Internecie, które otrzymuje odpowiedź, która jest tylko linkiem do dokumentacji, gdy dana osoba mogła skorzystać z wyszukiwarki, napisać znacznie mniejszą liczbę słów, i dotarłem do tej samej strony pomocy.
Jason Scheirer,
5

Python dla ArcGIS strona zasobów jest dobrym początkiem. Dostępnych jest również wiele książek . Jeśli nie masz żadnej wiedzy w języku Python. Python.org byłby również dobrym zasobem.

Craig
źródło
3

Jedyne, co chciałbym dodać, to zbudować coś w programie do budowania modeli i wyeksportować do skryptu Python, aby dać Ci wyobrażenie o tym, jak różne komponenty pasują do siebie.

om_henners
źródło
7
Przestrzegałbym przed tym. Z tym podejściem wiąże się wiele porządków (eksporter wstawia wiele cruft, dziwnych nazw zmiennych itp., A niektóre rzeczy po prostu nie działają po wyeksportowaniu z ModelBuilder) i uważam, że prosty akt wpisywanie instrukcji i funkcji zmusza Cię do uczenia się bardziej efektywnie niż pozwalanie na to, aby narzędzie zrobiło to za Ciebie.
blah238,
6
Alternatywą jest kliknięcie prawym przyciskiem myszy wyniku geoprzetwarzania i kliknięcie „Kopiuj jako fragment kodu w Pythonie”, jeśli chcesz tylko uzyskać składnię wywołania funkcji (szczególnie przydatne w przypadku mapowania pól).
blah238,
Tak, słuszna uwaga - nie jest źle, jeśli sklejasz tylko kilka operacji razem (może kilka buforów, a następnie klip), ale jak mówisz, robi się brzydko dla większych modeli. Podoba mi się pomysł skopiowania skryptu gp jako fragmentu kodu.
om_henners,
Nie pomyślałem o tym w przypadku mapowania pola. Będę musiał to wypróbować.
Jay Guarneri
1
+1 jest to zawsze dobra sztuczka, szczególnie jeśli musisz na przykład nauczyć się integrować składnię przeklasyfikowania ze swoim skryptem.
Aaron