Czy istnieje różnica w wydajności między uruchomieniem skryptu Python w oknie Pythona a uruchomieniem go jako narzędzia skryptowego Python z przybornika w ArcGIS Desktop 10.0?
Czasami muszę korzystać z ArcPy i mieć uruchomiony ArcGIS. Z mojego niedawnego doświadczenia mogę uruchomić ten sam skrypt za pomocą przybornika i okna Pythona, a przybornik wydaje się być nieco szybszy.
arcpy
arcgis-10.0
performance
python-script-tool
python-window
Ostra papryczka
źródło
źródło
CURRENT
słowa kluczowego, aby uzyskać dostęp do bieżącego dokumentu mapy w narzędziu skryptowym, o ile jest on uruchamiany w toku.import arcpy
zajmie dużo czasu jako samodzielny skrypt (lub część przybornika), podczas gdy w ArcMap jest już częścią przestrzeni nazw okna pytona.Odpowiedzi:
Zarówno Michael Markieta, jak i gm70560 są poprawne. Jeśli uruchamiasz duże zadania geoprzetwarzania, zdecydowanie zrobiłbym to za pomocą autonomicznego skryptu python, najlepiej uruchamianego z wiersza poleceń, a nie IDE. W przypadku tego rodzaju zadań narzut związany z importowaniem ArcPy jest tego wart.
Jednak małe zadanie, szczególnie wymagające interwencji użytkownika, jest zwykle szybsze i wygodniejsze w ArcMap - chyba że musisz otworzyć ArcMap specjalnie do tego celu, w którym to przypadku masz nakład na uruchomienie samego ArcMap oraz trochę przestoju, z którym możesz się połączyć wszystkie bazy danych, do których odwołuje się MXD (które, jeśli są w powolnym połączeniu sieciowym, mogą być uciążliwe).
Podobnie, przetwarzanie wsadowe nawet małych zadań jest, moim zdaniem, lepiej wykonywane w samodzielnym skrypcie Python niż za pomocą przybornika w ArcMap, ponieważ bierzesz to trafienie importu tylko raz i nie masz narzutu ArcMap.
Po przeprowadzeniu wielu zautomatyzowanych geoprzetwarzania za pomocą skryptów Python domyślnie uruchomiłbym je jako samodzielne procesy, ponieważ podoba mi się dodatkowa szybkość i elastyczność. Większość zadań, które działają szybciej w przyborniku, jest zwykle na tyle mała, że zwaliłbym je w ModelBuilder, nie zawracając sobie głowy pisaniem kodu.
źródło