Was ist die beste Organisationsstruktur für die Freigabe von ArcGIS-Python-Code und Geoverarbeitungswerkzeugen? Oder sind Code-Sharing und Sharing-Tools getrennte Fragen?
Esri verfügt über eine für Arcgis 9.3 und 10.0 veröffentlichte Struktur für Methoden zum Verteilen von Tools :
An anderen Orten sagen die Leute jedoch Dinge wie Also do avoid distributing your code the way its done in Arc Scripts or Code Galleries
zugunsten der einheimischen Python Distutils . Esri scheint keinen entsprechenden Distributing Tools-Artikel für 10.1 ( ref ) zu haben, der dem Gegenargument etwas Gewicht verleiht.
Was sagt GIS.se?
Update: Obwohl dies vielleicht zu spät ist, geht es in dieser Frage eher um bewährte Methoden für die Datei- und Ordnerstruktur, bevor die für die Freigabe verwendeten Tools (arcgis online, Google Drive, Dropbox, Github, Bitbucket usw.) angesprochen werden abspielen.
Update2: Und wird sich niemand für den Ansatz von Orphan Distutils aussprechen?
quelle
Antworten:
In 10.1 und 10.2 scheinen die von Ihnen abgebildeten Toolshare-Ordner nicht mehr dokumentiert zu sein.
Ich vermute, dies liegt daran, dass die aktuelle Empfehlung darin besteht, Geoverarbeitungspakete anstelle von Toolshare-Ordnern zu verwenden:
In Bezug auf die organisatorischen Best Practices befinden sich die von mir verwendeten Toolboxes und der von ihnen verwendete Python-Code in derselben Ordnerstruktur, die auch weiterhin für die Verteilung verwendet werden kann, z. B. die Toolshare-Ordnerstruktur.
quelle
Ich habe Google Drive verwendet , um Python-Skripte und Skript-Tools für Kollegen freizugeben. Alle Skripte werden in einem freigegebenen Ordner zusammen mit einer ArcGIS-Toolbox gespeichert, die alle verknüpften Skriptwerkzeuge (und Modelle) enthält. Dieser Ansatz bietet mehrere Vorteile: 1) Alle arbeiten mit denselben Skriptversionen. 2) Sie können Schreib- oder Leseberechtigungen festlegen. 3) Die Zusammenarbeit zwischen verschiedenen Arbeitsplätzen, Universitäten und Ländern ist mit Google viel einfacher Fahren Sie, als zu versuchen, den Benutzerzugriff auf einem Server festzulegen, den Sie möglicherweise verwalten oder nicht.
quelle
In Esris ArcGIS Pro-Dokument " Erweitern der Geoverarbeitung über Python-Module" wird gezeigt, wie Sie ein Distutils-freundliches Projekt strukturieren, einschließlich der Erstellung von Windows- und Linux-Binärinstallationsprogrammen.
(Hinweis: Dies ist für die gemeinsame Nutzung von Skripten und Tools gedacht. Es ist kein gutes Modell für die gemeinsame Nutzung von Skripten, Karten und Daten als einzelnes Paket.)
Quellprojektlayout:
Wird dies auf dem Endbenutzersystem unter
C:\Path\to\ArcGIS\Desktop\python
Sie erwähnen Pip nicht, aber wenn ich die Beispiele studiere, sehe ich nicht, warum es nicht funktionieren würde. Beispiel: Für die gemeinsame Bearbeitung und / oder ein Toolset, das sich häufig ändert, installieren Sie es mit
pip install --editable X:\path\to\src
,pip install --editable http://github.com/project/path/to/master
quelle