Używasz funkcji ArcGIS w Pythonie bez uruchamiania ArcMap (np. Osobny edytor / środowisko)?

26

Próbuję zrobić kolejny krok w programowaniu ArcGIS za pomocą Pythona i sprawdzić, czy rzeczywiście można uruchomić mój skrypt / kod bez konieczności ładowania ArcMap i wklejania ich do okna Pythona. Wyobrażam sobie, że zrobiłbym ten widok jakiegoś IDE specyficznego dla Pythona, który ładuje coś z ArcGIS.

Jak miałbym to zrobić?


Aktualizacja: Podsumowanie rozwiązania

Pojechałem trasą Eclipse + PyDev. Oto moje uwagi na temat instalowania wszystkiego i uruchamiania go:

Pobierz Eclipse

Jest to nieco mylące, biorąc pod uwagę wszystkie różne dostępne smaki (Java, Java EE, C / C ++ itp.). Korzystałem z C / C ++, ponieważ to jest mi znane. To naprawdę nie ma znaczenia, ponieważ PyDev zostanie zainstalowany po tym kroku. Wybierz, co chcesz.

Zainstaluj PyDev

PyDev zostanie zainstalowany przez Eclipse. Połączone instrukcje działały idealnie.

Skonfiguruj PyDev

Powyższe pytanie zawiera zrzut ekranu konfiguracji systemu Windows, podczas gdy ten link z blogu ESRI zawiera więcej informacji na temat systemów uniksowych, chociaż pochodzi on z 2008 roku.

Uruchomiłem skrypt testowy

Uruchomiłem scenariusz, nad którym pracowałem i zadziałało. Wydaje się, że istnieją pewne różnice w wykonywaniu kodu w ten sposób w dostępie do plików kształtów i obszaru roboczego itp., Wymagana jest większa dokładność. Więcej informacji tutaj.

bezmyślna panda
źródło
Przyznaję, że wydaje się to bardziej pytaniem Python, a także zdradza moją niewiedzę o środowisku Python, ale mam nadzieję, że odpowiedź przyda się innym, którzy są nowi w ArcGis + Python!
mindless.panda
Myślę, że użycie IDLE byłoby łatwiejsze. Myślę, że PyDev to trochę przesada. Możesz także zbudować niektóre modele w programie Model Builder i wyeksportować je jako pliki .py. W ten sposób poczujesz kod Pythona.
RK
To po prostu powtórzenie tego, co powiedziałem! To jest najlepsze, prawda? Kluczem do używania go w ten sposób jest to, że możesz tworzyć obiekty i klasy, których niektóre inne sposoby nie obsługują. Pozwala to naprawdę skoncentrować się na budowaniu kodu łamliwego, który można wdrożyć na serwerze. Powodzenia!
Hairy
2
Bezmyślny, tylko jedna odpowiedź tutaj wspomina o rozwiązaniu Eclipse + PyDev. Czy istnieje powód, dla którego nie głosowałeś?
whuber
Żaden. Zaakceptowałem sugestię Eclipse, ponieważ tak właśnie wybrałem. Odpowiedziałem tylko na moje pytanie, aby udokumentować proces instalacji. Czy jest jakiś powód, dla którego moja odpowiedź powinna być edytowana w pytaniu? Może to powinien być CW?
bezmyślna.

Odpowiedzi:

11

Najlepszym sposobem, w jaki znalazłem użycie Pythona, jest użycie Eclipse z PyDev. Jest to dobre IDE do programowania i pozwala na debugowanie w linii, a nie na debugowanie linii poleceń, i pozwoliło mi zbudować bardzo profesjonalne aplikacje do zarządzania danymi na dużą skalę.

IDLE jest zawsze tak dobry do testowania skrawków, moim zdaniem, i nie jest dobry do projektowania złożonych rozwiązań obiektowych.

Jest również niezwykle łatwy w konfiguracji.

Włochaty
źródło
Czy jest wiele związane z uruchomieniem Eclipse + PyDev z funkcją ArcGIS? Inne odpowiedzi wydają się wskazywać na pewne osobliwości związane z używaniem Pythona nie zainstalowanego w Arc.
bezmyślna.
Żadne, po prostu upewnij się, że masz zainstalowany Arcgis Desktop, i skonfiguruj Eclipse do pracy z PyDev i jesteś daleko. Skonfigurowanie go zajęło 5 minut, a następnie wszystko, co musisz zrobić, to zajrzeć do skryptu. Serio, nie widziałem łatwiejszego, lepszego sposobu na zrobienie tego.
Hairy
15

I właśnie rozpoczął , by uporać się z Python i arcpy i znalazłem PyScripter naprawdę użyteczne. Jest to w pełni rozbudowane IDE Pythona

mapoholic
źródło
2
Najlepszym IDE, jakiego do tej pory używałem, jest PyScripter i jest bezpłatny!
Hornbydd,
2
PyScripter jest naprawdę świetny. Doskonałe uzupełnianie kodu, wyróżnianie składni, wyszukiwanie i zamiana, zakładki do pokazywania wielu skryptów PY. Moim zdaniem znacznie bardziej użyteczny niż IDLE.
RyanDalton
15

Jeśli rozumiem pytanie, chcesz uruchamiać skrypty osobno, poza sesją ArcMap. Całkowicie możliwe. Zapisz kod w pliku Python (.py). Jeśli chodzi o edycję, możesz do tego użyć IDLE lub dowolnego edytora tekstu (nawet Notatnika). Czasami, gdy zaczynasz, łatwiej jest użyć edytora tekstu, abyś mógł skupić się na nauce kodu, a nie IDE. Upewnij się, że zmienne środowiskowe PATH są poprawnie skonfigurowane, aby zawierały katalog instalacyjny Pythona, na przykład:

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

Następnie wystarczy otworzyć wiersz polecenia (Start> Uruchom> wpisz „cmd” [bez cudzysłowów]) i wpisz:

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

Zakłada się, że wszystkie ścieżki danych są zapisane w skrypcie.

To są podstawy. Jest oczywiście znacznie więcej, na przykład użycie parametrów wejściowych.

Chad Cooper
źródło
3
tylko komentarz dotyczący IDLE lub standardowego edytora tekstu. Osobiście uważam, że PythonWin jest znacznie łatwiejszym sposobem pracy, ponieważ ma lepsze możliwości debugowania - kluczowe podczas nauki. Zobacz instrukcje dotyczące instalowania PythonWin za pomocą ArcGIS 10. Musisz upewnić się, że instalujesz wersję PythonWin z płyty ArcGIS DVD, w przeciwnym razie może ona przerwać instalację Python.
Stephen Lead
6

Podczas instalacji ArcGIS instaluje własną wersję Pythona (tzn. Nie trzeba importować zależności). Pamiętaj, aby użyć tej wersji.

Używam CLI Pythona jako kalkulatora, a także do uruchamiania zapisanych skryptów.

Python jako kalkulator jest świetny, ponieważ możesz definiować zmienne. Mam tę wskazówkę z samouczków Pythona http://docs.python.org/

Mam skrót do interfejsu wiersza polecenia za pomocą wiersza polecenia na pasku zadań% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Użyłem zaplanowanych zadań systemu Windows do wykonania pewnych czynności konserwacyjnych za pomocą skryptów, które wyeksportowałem z konstruktora modeli, a następnie zhakowałem kilka zmian we wbudowanych pythonach, takich jak zastosowanie dat do nazw plików dla kopii zapasowych.

woodwa
źródło
5

Wierzę, że IDE dla Pythona jest dostarczane z instalacją ArcGIS-10. Nazywa się IDLE i jest prostym, ale skutecznym narzędziem do łączenia się z ArcPy bez otwierania instancji samej ArcMap. Powinieneś go znaleźć w katalogu „Python 2.6” instalacji ArcGIS w menu Start. Pamiętaj tylko, aby import arcpyprzed wykonaniem czegokolwiek konkretnego dla pakietu! Każdy przykład skryptu, który widzisz w dokumentacji ArcPy dla samodzielnych skryptów, będzie działał w interfejsie IDLE.

Natanus
źródło