Wie aktualisiere ich die Dienstdefinition eines Feature-Dienstes in ArcGIS Online (AGOL)?

8

Hier ist mein Workflow:

  • Erstellen Sie eine Datei-Geodatabase mit vielen Daten
  • Erstellen Sie eine MXD, um diese Daten anzuzeigen
  • > Datei> Freigeben als> Dienst in ArcMap
  • in ArcGIS Online veröffentlichen *
  • Das Dataset und seine Definitionen werden auf ArcGIS.com hochgeladen

Dies funktioniert alles einwandfrei und ich kann über einen Feature-Layer in der JSAPI auf die Features zugreifen. Im Hintergrund erstellt ArcGIS Online unter "Mein Inhalt" Einträge für Dienstdefinitionen und Funktionen.

Meine Frage:

Ich habe jetzt die Symbologie im MXD aktualisiert. Wie kann ich die neue Symbologiedefinition in ArcGIS Online einbinden?

  • Eine Möglichkeit besteht darin, den vorhandenen Dienst zu löschen und neu zu erstellen. Dazu muss jedoch das große Dataset erneut hochgeladen werden, obwohl keine Änderungen an den Daten vorgenommen wurden.
  • Ich habe versucht, > Freigeben> Dienstdefinition speichern , dies schlägt jedoch fehl, da der Dienst bereits vorhanden ist (auch wenn ich die vorhandene Dienstdefinition lösche, während der vorhandene Funktionsdienst beibehalten wird).
  • ArcMap fordert mich auf, den vorhandenen Dienst zu überschreiben. Werden die Daten dadurch jedoch nicht erneut hochgeladen?

Vielen Dank

* aka ArcGIS.com aka ArcGIS für Organisationen aka AGOL

Stephen Lead
quelle
Ich habe gerade einen kurzen Test gemacht. Erstellen Sie eine Karte in ArcMap und legen Sie die Symbologie fest. Datei> Freigeben als> Dienst> Veröffentlichen eines Dienstes> in Meine gehosteten Dienste. Ich habe mich für Feature Access und kein gekacheltes Mapping entschieden. In Mein Inhalt in ArcGIS.com werden zwei Elemente angezeigt: "Dienstdefinition" und "Funktionen". Sehen Sie das auch? Ich kann die Dienstdefinition aktualisieren, indem ich beim Anzeigen des Elements in Mein Inhalt auf die Schaltfläche Aktualisieren klicke. Wie Sie bereits erwähnt haben, enthält die neu aktualisierte .mxd-Datei jedoch Daten (in einer gepackten .sd-Datei).
Alex Tereshenkov
@AlexTereshenkov Wie generieren Sie zuerst die neue * .sd-Datei, um die Schaltfläche Aktualisieren zu verwenden? Hier stecke ich fest - ArcMap erlaubt mir nicht, es zu erstellen, da der "alte" Dienst noch vorhanden ist. Vielen Dank
Stephen Lead
Ah, tut mir leid, dass ich es nicht erwähnt habe. Ich verwende einfach einen anderen Namen und benenne die SD-Datei dann manuell um. Es funktioniert dann einwandfrei, den Link "Aktualisieren" in ArcGIS.com zu verwenden, um die SD-Datei hochzuladen, die denselben Namen haben sollte.
Alex Tereshenkov
Aber auch hier enthält die .sd-Datei die .gdb mit den Quelldaten, und ehrlich gesagt weiß ich nicht, wie ich das vermeiden soll.
Alex Tereshenkov
ah - Ich wusste nicht, dass die * .sd-Datei auch die Daten enthält (ist das neu?). Es sieht also so aus, als gäbe es keine Möglichkeit, nur die Definition zu aktualisieren.
Stephen Lead

Antworten:

3

Für alle, die dies jetzt finden, hat sich die Landschaft leicht verändert, seit dies zum ersten Mal beantwortet wurde. Es ist jetzt möglich, Ihre Symbologie direkt über ArcGIS Online zu aktualisieren. Wenn Sie zu dem betreffenden Feature-Layer-Element gehen und auf die Registerkarte Visualisierung klicken, können Sie die Symbologie aktualisieren, indem Sie auf die Stilschaltfläche des betreffenden Layers klicken und den Layer speichern.

Sie können sogar eine zweite Ansicht der Daten mit unterschiedlicher Symbologie erstellen, indem Sie eine Feature-Layer-Ansicht erstellen . Auf diese Weise können Sie eine andere Konfiguration des Feature-Layers erstellen. Dies bedeutet, dass Sie die Symbologie ändern, Filter hinzufügen, Bearbeitungsberechtigungen ändern usw. können, jedoch keine zweite Version der Daten erstellen können, da die Daten des zugrunde liegenden Feature-Layers weiterhin angezeigt werden.

MKelly
quelle
5

Es scheint mir, dass es bei der aktuellen Version von AGOL nicht möglich ist.

Sie können beim Erstellen einer SD-Datei nur einen anderen Namen verwenden und die SD-Datei dann manuell umbenennen. Es funktioniert dann einwandfrei, den Link "Aktualisieren" in ArcGIS.com zu verwenden, um die SD-Datei hochzuladen, die denselben Namen haben sollte. Darüber hinaus ist die SD-Datei nur ein Archiv, das Sie entpacken und durchsuchen können.

Es scheint mir jedoch, dass es keine Möglichkeit gibt, nur die Symbologie für einen Dienst auf AGOL zu aktualisieren, ohne die Daten nicht erneut hochzuladen, da sie auf .sd basieren. Sie wissen wahrscheinlich, dass Sie die Symbologie für einen Dienst direkt in ArcGIS.com Map Viewer ändern können, aber es gibt einige Einschränkungen, was Sie tun können.

PS. Wenn Sie zufällig mit Daten arbeiten möchten, die Sie für den Map-Cache erstellen möchten (Tiled Mapping-Funktion für einen Service), erstellen Sie zuerst ein gekacheltes Paket in ArcMap, indem Sie eine Option aktivieren , und laden Sie es dann auf AGOL hoch, ohne die beim Caching verwendeten Credits zu verbrennen.

Alex Tereshenkov
quelle
@ Stephen Lead, danke für die Bearbeitung der Antwort. Ich werde meine Antwort in einem Fall bearbeiten, in dem ich herausfinden werde, wie das geht. Ich wette, viele Leute wären daran interessiert.
Alex Tereshenkov
1
+1 für die Warnung vor dem Verbrennen von Credits für das Regenerieren von Kacheln beim Ersetzen einer gekachelten .sd
brichins
Wow ..... so viele Credits auf diese Weise gespeichert .... Danke ...
umbe1987
1

Sie können die Service-URL einfach bearbeiten, indem Sie den JSON direkt aktualisieren. Hier besteht jedoch ein großes Risiko. Bewahren Sie daher den ursprünglichen JSON in einer Datei auf. Ich verwende diese Methode, um die Schemas, Vorlagen usw. zu aktualisieren. Sie können sie jedoch wahrscheinlich zum Aktualisieren der Symbologie ausprobieren. Lassen Sie mich wissen, ob dies funktioniert.

http://blogs.esri.com/esri/arcgis/files/2014/10/How-to-Update-Hosted-Feature-Service-Schemas1.pdf

Stella
quelle