Hier sind meine Fachbereichsdaten, die Parzellen-Daten des Bundesstaates New Jersey (~3,5 Millionen Features, 4,4 GB mit 45 Feldern), mit Dank an das NJ-Technikteam für ihre Unterstützung bei der Erstellung dieses Beispiels.
Ich komme gleich dazu, warum eine Parzelle hervorgehoben ist...

Zunächst, bezogen auf den Titel des Beitrags, ist diese Diskussion nicht an ArcGIS Online gebunden, Sie arbeiten möglicherweise mit ArcGIS Enterprise und implementieren diesen Workflow, also bleiben Sie dran. Die Herausforderung, einen gehosteten Feature-Layer mit Big Data zu pflegen, ist allgemein verbreitet.
Das Problem, das wir hier lösen wollen, ist ein Datenupdate auf einen Live-Service anzuwenden, wenn die Update-Transaktion sehr groß ist, in unserem Fall werden mehrere zehntausend Parzellenänderungen mehrmals im Jahr geschrieben, die Features können punktreich sein und das Schema ist breit. Wenn Sie den Service über die Benutzeroberfläche von ArcGIS Pro überschreiben, wird eine Sitzung lange beansprucht, daher lassen Sie uns eine effizientere Automatisierung mit ArcGIS Data Interoperability starten und nur die Delta-Transaktion schreiben.
Konkret wird für größere Transaktionen der empfohlene Changeset-Schreibmodus upsert verwendet. Dies erfordert, dass der Ziel-Feature-Service ein Schlüsselfeld mit einer eindeutigen Einschränkung hat, was bei den Fachbereichsdaten der Fall ist. Upserts werden in 10 MB Blöcken gesendet statt in Feature-Sets mit der maximal vom Service unterstützten Zeilenanzahl (2000 für Polygon-Daten).
Das Pflegen von gehosteten Feature-Services durch Anwenden einer Delta-Transaktion als Änderungen ist ein gut beschrittener Weg, Change Detection in ArcGIS Data Interoperability ist dafür ideal. Es gibt jedoch einige Dinge zu beachten:
- Die eingehenden Daten für das Refresh liegen im File Geodatabase-Format vor
- Der Zielarbeitsbereich ist ein gehosteter Feature-Service
- Die Datensätze sind nicht am selben Ort
Dies impliziert einige Probleme:
- Das lokale Streamen der Daten des gehosteten Feature-Layers zur Berechnung des Changesets würde lange dauern
- Geometrie-, Datums- und numerische Felder müssen in ihrer Genauigkeit übereinstimmen für korrekte Change Detection
- Feine Wertunterschiede erfordern sorgfältige Behandlung
Genauigkeitsübereinstimmungsprobleme können mit ETL-Werkzeugkonfiguration gelöst werden, aber um das Problem ganz zu vermeiden, gehen wir so vor: Wir laden den Ziel-Feature-Service als eigene File Geodatabase herunter, sodass speicherabhängige Genauigkeitsunterschiede keine Rolle spielen. Dann kann das Changeset lokal einfach zwischen zwei File Geodatabase Feature-Classes berechnet und das Delta effizient geschrieben werden.
Hier kommt die hervorgehobene Parzelle in der Karte ins Spiel. Parzellen können komplexe Geometrien haben, Grenzen können mehrere Segmente enthalten und Segmente können true curves sein. Während das Speichern von true curves in gehosteten Feature-Layern unterstützt wird, ist deren Bearbeitung eingeschränkt. Hier einige relevante Eigenschaften meines Ziel-Feature-Services:
{"allowGeometryUpdates" : true,
"supportsTrueCurve" : true,
"supportedCurveTypes" : ["esriGeometryCircularArc"],
"allowTrueCurvesUpdates" : true,
"onlyAllowTrueCurveUpdatesByTrueCurveClients" : true}Daraus können Sie entnehmen, dass zwar theoretisch einige true curve-Bearbeitungen möglich sind, aber Kurven vom Typ esriGeometryEllipticArc nicht zur Bearbeitung unterstützt werden. Und raten Sie mal: Ein kreisförmiges Loch in einer Parzelle hat Ellipsengeometrie. Außerdem ist unser ETL-Werkzeugclient nicht als true curve client bekannt.
Wenn Sie eine Version von ArcGIS Data Interoperability verwenden, die den Esri ArcGIS Feature Service Writer nicht unterstützt, müssen Sie die Admin-Tools des Feature-Service verwenden, um onlyAllowTrueCurveUpdatesByTrueCurveClients auf false zu setzen.
Eine einfache Methode zum Umgang mit true curves besteht darin, sie beim Geometrievergleich oder beim Schreiben in den Feature-Service mit dem ArcStroker-Transformer in Polylinien umzuwandeln, wobei die maximale Abweichung von der true curve kontrolliert wird. Dies ersetzt alle Bogen-Segmente temporär für den Geometrievergleich und dauerhaft für jede aktualisierte oder neue Parzelle durch Polylinien.
Hier sind ein paar Ansichten des Workspaces, der die gesamte Aufgabe erledigt. Zuerst die Main-Ansicht...

...dann der blassgrüne looping custom transformer, der auf den Abschluss eines File Geodatabase Exports wartet...

Der Export der File Geodatabase dauert unterschiedlich lang, abhängig davon wie ausgelastet ArcGIS Online ist. Ich habe das Werkzeug zu einer geplanten Zeit laufen lassen, die sich als 3 Uhr morgens UTC herausstellte. Der Export dauerte 23 Minuten. Ich habe Zeiten von 10 Minuten bis zu einer Stunde gesehen, aber auch Fehler bei Tests während stark frequentierter Zeiten bei ArcGIS Online. Es wird empfohlen, das Werkzeug außerhalb der Stoßzeiten in Nordamerika und Europa zu planen. Daher habe ich 3 Uhr morgens UTC gewählt.
Um "defensive coding" anzuwenden gibt es direkt vor und innerhalb des looping transformers, der auf den Abschluss des Export-Jobs wartet, einige Emailer Transformer die Details zur Job-Einreichung und bei Bedarf Details zum Job-Ausfall senden. Der Esri-Support benötigt sowohl Job- als auch Fehlerinformationen zur Fehlersuche bei Problemen mit Ihrem Service. Bitte eröffnen Sie einen Support-Fall falls Probleme auftreten.
Hier ein Beispiel für eine E-Mail mit Job-Details:
Feature service:
https://services.arcgis.com/FQD0rKU8X5sAQfh8/arcgis/rest/services/NJParcels/FeatureServer
Feature service export job:
9f77069e-e212-46bb-8696-b7ce4f54c882::FQD0rKU8X5sAQfh8
des Service-Items:
4480efce4518473096613597d461e55f
zum Export-Item:
1fc913da28174608b9a65859bcc8b9b0
gestartet zur Ortszeit:
2026-01-26T07:03:23.5436242-08:00
Typ ist Datei und Größe ist 4823392256
So sieht eine Nachricht bei einem Exportfehler aus (die Übersetzung wird dann beendet):
D er Exportjob des Feature-Service ist mit Status failed fehlgeschlagen
Misserfolg war zur Ortszeit 2026-01-26T09:05:01.0944432-08:00
ID des Jobs war 9f77069e-e212-46bb-8696-b7ce4f54c882::FQD0rKU8X5sAQfh8
Status-Anfrage-Antwort war
{"status": "failed","statusMessage": "failed","itemId": "4480efce4518473096613597d461e55f"}
Der Workspace befindet sich im Blogdownload. Sie müssen ihn für Ihre ArcGIS Online-Anmeldedaten, Feature-Service-Daten und Parameter des Emailer Transformers anpassen.
Bitte kommentieren Sie in diesem Board mit Ihren Erfahrungen und Fragen!