Jaka jest najlepsza struktura organizacyjna do udostępniania kodu python ArcGIS i narzędzi geoprzetwarzania? Lub nawet, czy dzielenie się kodem i narzędziami do dzielenia się osobnymi pytaniami?
Esri ma Metody dystrybucji struktury narzędzi , opublikowane dla Arcgis 9.3 i 10.0:
Jednak w innych miejscach ludzie mówią takie rzeczy, jak Also do avoid distributing your code the way its done in Arc Scripts or Code Galleries
na rzecz rodzimego języka Python Distutils . Wydaje się, że Esri nie ma odpowiedniego artykułu o narzędziach dystrybucyjnych dla 10.1 ( ref ), co nadaje pewną wagę kontrargumentowi.
Co mówi GIS.se?
Aktualizacja: choć może za późno, ale sedno tego pytania dotyczy bardziej dobrych praktyk dotyczących struktury plików i folderów, zanim pojawią się narzędzia używane do udostępniania (arcgis online, google drive, dropbox, github, bitbucket itp.) grać.
Aktualizacja 2: i czy nikt nie zabierze głosu w sprawie pozornie sierocych destylin?
źródło
Odpowiedzi:
W wersjach 10.1 i 10.2 przedstawione przez ciebie foldery Toolshare wydają się nie być dokumentowane.
Podejrzewam, że dzieje się tak, ponieważ obecną rekomendacją byłoby używanie pakietów geoprzetwarzania zamiast folderów Toolshare:
Jeśli chodzi o najlepsze praktyki organizacyjne, sposób, w jaki przechowuję skrzynki narzędziowe i dowolny kod Pythona, którego używają, znajduje się w tej samej strukturze folderów, z której nadal można korzystać w celu ich dystrybucji, tj. W strukturze folderów Toolshare.
źródło
Korzystam z Dysku Google do udostępniania skryptów Python i narzędzi skryptowych między kolegami. Wszystkie skrypty są przechowywane w folderze współdzielonym wraz z przybornikiem ArcGIS, który zawiera wszystkie połączone narzędzia skryptów (i modele). Istnieje kilka korzyści z tego podejścia: 1) Wszyscy pracują na tych samych wersjach skryptu, 2) Możesz ustawić uprawnienia do zapisu lub tylko do odczytu, oraz 3) Współpraca, na przykład w różnych miejscach pracy, na uniwersytetach i krajach jest znacznie łatwiejsza dzięki Google Jedź niż próbuj ustawić dostęp użytkownika na serwerze, którym możesz administrować lub nie.
źródło
Dokument ArcGIS Pro Esri. Rozszerzanie geoprzetwarzania za pomocą modułów Python pokazuje, jak zbudować projekt przyjazny dla Distutils, w tym tworzenie binarnych instalatorów Windows i Linux.
(Uwaga: służy do udostępniania skryptów i narzędzi, nie jest to dobry model do udostępniania skryptów, map i danych w jednym pakiecie).
Układ projektu źródłowego:
Staje się to w systemie użytkownika końcowego pod
C:\Path\to\ArcGIS\Desktop\python
Nie wspominają o pip, ale po przestudiowaniu przykładów nie rozumiem, dlaczego to nie zadziałałoby. Np .: w przypadku edycji grupowej i / lub zestawu narzędzi, który często się zmienia, zainstaluj za pomocą
pip install --editable X:\path\to\src
,pip install --editable http://github.com/project/path/to/master
źródło