<\/HEAD>
Wir begeben uns auf eine Reise zum Meeresgrund, aber die eigentliche Botschaft hier ist die Fähigkeit von ArcGIS Data Interoperability, sich mit dem Web (oder überall) zu verbinden und Feature- und Mediendaten in eine Geodatabase-Feature-Class mit Anhängen zu bringen, ohne programmieren zu müssen. Nun, nur ein kleines bisschen, aber Sie müssen sich nicht wie ein Programmierer um die Details kümmern.<\/P>
<\/P>
Ein Kollege kam auf mich zu und fragte, ob ArcGIS Data Interoperability CSV-Positions- und Zeitdaten von Missionen eines Tauchfahrzeugs sowie zugehörige Medieninhalte zusammenführen und alles in eine Geodatabase bringen kann. In der Produktion werden alle Datenquellen im Web sein. Kein Problem. Data Interoperability dreht sich nicht nur um Formate und Transformationen, sondern auch um Integrationen und deren Erstellung ohne Programmierung.<\/P>
<\/P>
<\/P>
<\/P>
Python kommt als letzter Schritt ins Spiel, der viel komplizierte ETL-Arbeit vermeidet. Die Kombination eines ETL-Tools und ein wenig ArcPy ist ein enormer Produktivitätsmultiplikator für alle Interoperators da draußen. Erkunden Sie den Beitrag nach dem Download, wie die CSV- und Medienquellen sehr einfach zusammengeführt werden – unten ist das gesamte 'Programm':<\/P>
<\/P>
<\/P>
<\/P>
ArcGIS Data Interoperability hat einen großartigen 'Verkaufspunkt', nämlich dass Sie codierte Workflows vermeiden und das visuelle Programmierparadigma von Workbench nutzen können, um Daten von A nach B in der gewünschten Form zu bringen. Ich zeige Kollegen oft, wie man Integrationsprobleme effizient mit Data Interoperability löst, und es ist immer erfreulich zu sehen, dass sie verstehen, dass Herausforderungen nicht mit Code bewältigt werden müssen.<\/P>
<\/P>
Niedrigstufige Programmierung ist das, was wir vermeiden wollen.<\/STRONG> ArcGIS-Geoverarbeitungswerkzeuge sind als Python-Funktionen zugänglich; die Verwendung von Geoverarbeitungswerkzeugen auf diese Weise ist einfach ein Befehlszeilenaufruf dessen, was Sie im Geoverarbeitungsfenster und in der Analyse-Ribbon-Werkzeuggalerie usw. zur Verfügung haben. Wenn das neu für Sie ist, schauen Sie sich zuerst das Get Count<\/STRONG>-Werkzeug aus dem Systemtoolbox an und verwenden Sie dann das Ergebnis im Python-Fenster.<\/P><\/P>Hier ist die Werkzeugerfahrung:<\/P><\/P>
<\/P>
<\/P><\/P>Jetzt im Katalogfenster History-Ansicht klicken Sie mit der rechten Maustaste auf das Ergebnis und senden es an das Python-Fenster:<\/P><\/P>
<\/P>
<\/P><\/P>Sie sehen den Python-Ausdruck, der dem Werkzeug entspricht:<\/P><\/P>
<\/P><\/P>Beachten Sie, dass ich keinen Code geschrieben habe...<\/STRONG><\/P><\/P>Wohin will ich damit? Die Konzepte von ArcGIS Data Interoperability unterscheiden sich etwas vom Kern-Geoverarbeitung darin, dass Eingabe- und Ausgabe-Parameter<\EM> <\STRONG>häufig übergeordnete Arbeitsbereiche sind und nicht Feature-Typen oder Tabellen darin. Häufig schreiben Sie z.B. in Geodatabases, wobei der Ausgabeparameter des ETL-Werkzeugs die Geodatabase<\EM> ist, nicht die Feature-Classes oder Tabellen selbst, obwohl diese im ETL-Werkzeug konfiguriert sind.<\P><\P>Was wenn Sie vor, während oder nach Ihrem ETL-Prozess etwas tun müssen, wofür es ein leistungsfähiges ArcGIS-Geoverarbeitungswerkzeug gibt, das aber in Workbench schwer umzusetzen wäre?<\P><\P>Sie verwenden hochstufige ArcGIS-Python-Funktionen, um diese Arbeit in Workbench zu erledigen.<\STRONG>
Ich werde gleich ein einfaches, kraftvolles Beispiel geben, aber zuerst einige Workbench-Python-Tipps.<\p>
Workbench erlaubt Ihnen die Konfiguration Ihrer Python-Umgebung; um Konflikte mit Pros Paketverwaltung zu vermeiden, verwenden Sie einfach die Standardeinstellungen:<\p>
Unter Tools>FME Options>Translation<\STRONG> stellen Sie sicher, dass Sie Pros Python-Umgebung bevorzugen:<\p>

In Ihrem Workbench prüfen Sie Ihre Python-Kompatibilität wird diese Präferenz verwenden.<\p>

Jetzt wissen Sie, dass die ArcGIS-Python-Umgebung verwendet werden kann.<\p>
Für meinen Anwendungsfall gebe ich ein echtes Beispiel (unten angehängt), bei dem ich Geodatabase-Anhänge erstellen und laden muss. Das können wir nicht vollständig in Workbench machen (außer wie ich Ihnen zeigen werde), weil es die Anhänge-Beziehungsklasse nicht erstellen kann. Man könnte dies manuell vor dem Laden der Daten tun, aber dann müssen Sie immer noch Bilder in Blob-Daten umwandeln, Verknüpfungskennungen verwalten und andere Dinge erledigen, die Kopfschmerzen bereiten. Also verwenden wir ArcPy. Manuelle Schritte schließen auch das Erstellen neuer Geodatabases mit dem ETL-Werkzeug aus, was ich unterstützen möchte.<\p>
Das Beispiel schreibt eine Feature-Class mit Anhängen sowie eine Tabelle zum Laden dieser Anhänge. Sie können die Verarbeitung untersuchen, aber das Schlüsselelement ist das Shutdown-Skript nach Abschluss unter Tool Parameters>Scripting>Shutdown Python Script<\STRONG>.<\p>
Hier ist das eingebettete Skript:<\p>

Das ist nicht viel Code: ein paar Importe, Zugriff auf das Wörterbuch jeder Workbench-Sitzung zur Laufzeit für Ausgabepfade und nur zwei Zeilen Aufruf von Geoverarbeitungswerkzeugen als Funktionen zum Laden der Anhänge.<\STRONG>
Dies ist eine großartige Möglichkeit, die leistungsfähige ArcGIS-Python-Umgebung in ETL-Werkzeuge zu integrieren.<\STRONG> Scharfe Augen werden auch einen skriptierten Parameter im Arbeitsbereich bemerken. Dieser verwendet kein ArcPy und vermeidet daher keine niedrigstufige Programmierung. Er diente lediglich dazu, flexibel einen Ordner zum Herunterladen von Bildern zur Laufzeit zu erstellen. Es gibt verschiedene Möglichkeiten Python in Workbench zu verwenden<\A>, aber ich möchte hier betonen: Beginnen Sie mit der einfachen und leistungsstarken Methode – verwenden Sie ArcGIS-Geoverarbeitung dort, wo es Arbeit spart. Viel Spaß!<\STRONG>