Hier ist, wo es heute in Australien geregnet hat, ein wenig um Perth, viel in Queensland und für die scharfsinnigen Beobachter ein bisschen am Cape York, um die Garnelen und Krokodile glücklich zu machen. Die Legende zeigt mm Niederschlag.<\/P>
<\/P>
Das Australian Bureau of Meteorology<\/A> veröffentlicht herunterladbare Wetterdaten; mein Szenario ist, dass ich daran interessiert bin, Regenmessbeobachtungen an einen gehosteten Feature Service weiterzugeben, der in der obigen Karte dargestellt ist. Nach ein wenig Recherche finde ich, dass die Daten über FTP verfügbar sind<\/A> mit einem Schema, das in diesem Benutzerhandbuch<\/A> beschrieben wird. Die Daten werden täglich aktualisiert. Obwohl ich die Daten in diesem Blog nicht weiterverbreite, erwähne ich, dass sie unter den Creative Commons<\/A>-Bedingungen lizenziert sind, sodass Sie mein Beispiel implementieren können, wenn Sie möchten.<\/P><\/P>Obwohl die Aktualisierungsrate täglich ist, kann jede Datei Beobachtungen enthalten, die mehr als 24 Stunden umfassen und von mehreren Sensoren an einem Standort stammen. Jedenfalls wollte ich die täglichen Beobachtungen in einen Feature Service in meinem Portal einspeisen; ich könnte die Daten genauso gut an ArcGIS Online senden.<\/P><\/P>Diese periodischen Synchronisationen aus dem Web<\/STRONG> sind überall im GIS zu finden. Datenverwalter machen es einfach, Daten manuell<\/EM> zu erhalten. Ich werde Ihnen zeigen, wie einfach es ist, Synchronisationen mit Data Interoperability zu automatisieren<\/EM>. Ich beschreibe Data Interoperability normalerweise als Esris 'No-Code'-App-Integrationstechnologie. Offenlegung: In diesem Beispiel habe ich in den erstellten FME Workbenches etwas Python verwendet, daher muss ich den Anspruch No-Code<\/STRONG> etwas relativieren, aber ich kann sagen, dass es Low-Code<\/STRONG> ist. Sie können es selbst in den Workbenches sehen.<\/P><\/P>Ich dachte zunächst daran, den geplanten Prozess als Web-Tool zu erstellen und ihn mit Notebook Server zu planen. Das wäre vielleicht am meisten Spaß beim Erstellen gewesen, aber ich erkannte, dass es für meinen Anwendungsfall nicht erforderlich ist. Ich bin auf ein Muster zurückgefallen, über das ich früher gebloggt habe<\/A>, nämlich die Verwendung des Windows Task Schedulers, diesmal jedoch auf einem Server. Warum nicht die Desktop-Software-Methode verwenden? Nun, um eine Maschine mit wahrscheinlich sehr hoher Betriebszeit zu nutzen, von der ich weiß, dass sie außerhalb meiner normalen Arbeitszeiten geplant werden kann.<\/P><\/P>Hier ist der Workbench, der die Aufgabe übernimmt, die BoM-Produktdateien herunterzuladen und Features an den gehosteten Feature Service meines Portals zu senden:<\/P><\/P><\/P><\/P>Und ich kann nicht widerstehen, hier ist das Python-Skript, nicht allzu beängstigend. Es wäre unnötig gewesen, wenn die Dateinamen auf dem FTP-Server stabil wären. Ich hätte einen FTPCaller<\/STRONG>-Transformer verwenden können, aber sie haben Datumsstempel als Teil ihres Namens. Es war einfach leichter, das mit etwas Python zu handhaben. Während ich die Daten heruntergeladen habe, habe ich sie auch ein wenig bereinigt (entfernen von umschließenden Anführungszeichen und Zeilenumbrüchen) und dann alle Beobachtungen in den Stream gesendet.<\/P><\/P><\/P><\/P><\/P>Da sich die Datenquellen nicht ändern, habe ich alle Parameter privat gemacht. Das vereinfacht den Befehl zum Planen. Alles was ich tun muss, ist den Workbench auf den Server zu bringen und sicherzustellen, dass er läuft. Im Post-Download finden Sie drei FMW-Dateien:<\/P><\/P>MakeRainGauges.fmw<\/STRONG><\/P>RefreshRainGauges.fmw<\/STRONG><\/P>RefreshRainGauges - Server Copy.fmw<\/STRONG><\/P><\/P>MakeRainGauges erstellt eine Geodatabase Feature Class, die ich in Pro verwendet habe, um meinen gehosteten Feature Service zu instanziieren. RefreshRainGauges basiert auf MakeRainGauges und unterscheidet sich nur darin, dass es in den Feature Service schreibt und dabei initial trunciert. Das ist der Workbench, den ich planen möchte. RefreshRainGauges - Server Copy unterscheidet sich von RefreshRainGauges nur in seinen Python-Einstellungen zur Verwendung von Python 3.6+. Ich habe diesen Namen auf dem Server nicht verwendet, nur um ihn im Post-Download zu haben.<\/P><\/P>Auf meinem Portalserver gab es ein wenig Einrichtung (ich habe eine einzelne Maschine mit allem darauf installiert – vergessen Sie nicht Data Interoperability zu installieren und zu lizenzieren!). RefreshRainGauges verwendet eine Webverbindung zu meinem Portal. In diesem Blog<\\/A> beschreibe ich wie man eine Portal-Webverbindung erstellt. Diese muss für den arcgis user<\\/STRONG>, der den geplanten Prozess ausführt, auf den Server kopiert werden. Der einfachste Weg ist Methode #2 in diesem Artikel<\\/A>. Als arcgis auf dem Server angemeldet habe ich zuerst eine Desktop-Verknüpfung zu \"C:\\Program Files\\ESRI\\Data Interoperability\\Data Interoperability AO11\\fmeworkbench.exe\"<\\/STRONG> erstellt, Workbench gestartet und dann die Webverbindungs-XML-Datei importiert und das Lesen des Feature Service getestet. Ich habe auch RefreshRainGauges in einen Ordner kopiert und bearbeitet um die Python-Umgebung an den Server anzupassen (das Beispiel wurde mit Pro 2.7 Beta erstellt aber der Server läuft Enterprise 10.8.1). Beim interaktiven Ausführen des Workspace zeigt der Anfang des Logs den Befehl zum Planen:<\\/P><\\/P>Befehlszeile zum Ausführen dieses Workspace:<\\/STRONG>
Obwohl die Aktualisierungsrate täglich ist, kann jede Datei Beobachtungen enthalten, die mehr als 24 Stunden umfassen und von mehreren Sensoren an einem Standort stammen. Jedenfalls wollte ich die täglichen Beobachtungen in einen Feature Service in meinem Portal einspeisen; ich könnte die Daten genauso gut an ArcGIS Online senden.<\/P>
Diese periodischen Synchronisationen aus dem Web<\/STRONG> sind überall im GIS zu finden. Datenverwalter machen es einfach, Daten manuell<\/EM> zu erhalten. Ich werde Ihnen zeigen, wie einfach es ist, Synchronisationen mit Data Interoperability zu automatisieren<\/EM>. Ich beschreibe Data Interoperability normalerweise als Esris 'No-Code'-App-Integrationstechnologie. Offenlegung: In diesem Beispiel habe ich in den erstellten FME Workbenches etwas Python verwendet, daher muss ich den Anspruch No-Code<\/STRONG> etwas relativieren, aber ich kann sagen, dass es Low-Code<\/STRONG> ist. Sie können es selbst in den Workbenches sehen.<\/P><\/P>Ich dachte zunächst daran, den geplanten Prozess als Web-Tool zu erstellen und ihn mit Notebook Server zu planen. Das wäre vielleicht am meisten Spaß beim Erstellen gewesen, aber ich erkannte, dass es für meinen Anwendungsfall nicht erforderlich ist. Ich bin auf ein Muster zurückgefallen, über das ich
Hier ist der Workbench, der die Aufgabe übernimmt, die BoM-Produktdateien herunterzuladen und Features an den gehosteten Feature Service meines Portals zu senden:<\/P>
Und ich kann nicht widerstehen, hier ist das Python-Skript, nicht allzu beängstigend. Es wäre unnötig gewesen, wenn die Dateinamen auf dem FTP-Server stabil wären. Ich hätte einen FTPCaller<\/STRONG>-Transformer verwenden können, aber sie haben Datumsstempel als Teil ihres Namens. Es war einfach leichter, das mit etwas Python zu handhaben. Während ich die Daten heruntergeladen habe, habe ich sie auch ein wenig bereinigt (entfernen von umschließenden Anführungszeichen und Zeilenumbrüchen) und dann alle Beobachtungen in den Stream gesendet.<\/P><\/P><\/P><\/P><\/P>Da sich die Datenquellen nicht ändern, habe ich alle Parameter privat gemacht. Das vereinfacht den Befehl zum Planen. Alles was ich tun muss, ist den Workbench auf den Server zu bringen und sicherzustellen, dass er läuft. Im Post-Download finden Sie drei FMW-Dateien:<\/P><\/P>MakeRainGauges.fmw<\/STRONG><\/P>RefreshRainGauges.fmw<\/STRONG><\/P>RefreshRainGauges - Server Copy.fmw<\/STRONG><\/P><\/P>MakeRainGauges erstellt eine Geodatabase Feature Class, die ich in Pro verwendet habe, um meinen gehosteten Feature Service zu instanziieren. RefreshRainGauges basiert auf MakeRainGauges und unterscheidet sich nur darin, dass es in den Feature Service schreibt und dabei initial trunciert. Das ist der Workbench, den ich planen möchte. RefreshRainGauges - Server Copy unterscheidet sich von RefreshRainGauges nur in seinen Python-Einstellungen zur Verwendung von Python 3.6+. Ich habe diesen Namen auf dem Server nicht verwendet, nur um ihn im Post-Download zu haben.<\/P><\/P>Auf meinem Portalserver gab es ein wenig Einrichtung (ich habe eine einzelne Maschine mit allem darauf installiert – vergessen Sie nicht Data Interoperability zu installieren und zu lizenzieren!). RefreshRainGauges verwendet eine Webverbindung zu meinem Portal. In
\"C:\\Program Files\\ESRI\\Data Interoperability\\Data Interoperability AO11\\fme.exe\" C:\\Users\\arcgis\\Desktop\\RefreshRainGauges.fmw<\\/strong>
<\\/p>
Der Rest ist einfach – erstellen Sie einfach eine Grundaufgabe. Der schwierigste Teil war herauszufinden, wann der Befehl ausgeführt werden soll (ich sehe Datenänderungen bis spät um 1 Uhr UTC also habe ich mich für 18 Uhr Ortszeit auf meinem Server entschieden, der sich im US-West befindet). Stellen Sie sicher, dass die Aufgabe ausgeführt wird auch wenn arcgis nicht angemeldet ist und der arcgis Benutzer benötigt Batch-Auftragsrechte (oder Administratorrechte – was ich auf meiner VM machen kann aber Ihnen wahrscheinlich nicht erlaubt wird).<\\/p>
Das war's – automatisierte Wartung von Daten , die ich mit jedem teilen kann!& nbsp ; Ich beende mit einem Screenshot des Verarbeitungsprotokolls von der Synchronisation letzte Nacht : < \/ p > < p style = " -qt-block-indent : 0 ; text-indent : 0px ; margin : 0px ; " > < img class = " image-5 j-img-centered jive-image " src = " https : \/ \/ us.v-cdn.net \/6038851 \/uploads \/legacyfs \/online \/513000_pastedImage_1.png " style = " display : block ; margin-left : auto ; margin-right : auto ; " \/ > < \/ p > < \/ BODY > < \/ HTML >
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.