Select to view content in your preferred language

Create Delta File from replica geodatabase

950
5
04-21-2022 02:38 PM
JohnCowardin
New Contributor II

Doing some testing and prototyping, I have created a replica in a feature service on our ArcGIS Server (version 10.9.1), using the ArcGIS REST API createReplica operation. The database is not versioned but is enabled for archiving. I downloaded the generated mobile geodatabase and did an edit. Now I'd like to synchronize the changes back to the server, using the REST API synchronizeReplica operation.

In the Synchronize Replica documentation of the ArcGIS Rest APIs, the "edits" parameter details state that the "editsUploadID" and "editsUploadFormat" can be used to specify the edits in a delta file. I'm just trying to figure out how to generate that delta file. I have tried "Export Data Change Message" in ArcGIS Pro but am getting a generic error:

ERROR 000286: An error was encountered while executing ExportReplicaSchema.
Failed to execute (ExportDataChangeMessage).

Is there a way, e.g., in ArcGIS Pro, to extract just the changed features/rows in a format that can be used in the synchronizeReplica operation (sqlite or json)?

0 Kudos
5 Replies
AdamDunlap
New Contributor III

Any updates on this issue?  I'm having the same issue... in AGS Pro 3.0

0 Kudos
SandeepKuniel1
New Contributor III

Any updates on this?

arcgis pro is able to create the delta file, not sure how? I am trying to do it using Python

0 Kudos
jpcowardin
New Contributor

Unfortunately I did not find a solution to this issue. I haven't looked at this in over a year, so not sure if there is anything new in ArcGIS Pro. I was writing an ArcGIS Pro add-in and I ended up using the REST API to create the replica, because it had more control over the parameters than the out-of-the-box ArcGIS Pro command. To sync the data edits, instead of using the REST API directly, I instead used the Pro SDK GenerateOfflineMap SyncrhonizeReplicas() and RemoveReplicas() methods. This worked correctly on the layers in the map that had been programmatically created and downloaded with the REST API directly.

SandeepKuniel1
New Contributor III

Nice, ArcGIS expects us to swim through all api's & sdk's..mix and match them to make the solution work 🙂

Let me try this approach aswell, thank you the quick reply...this is alrdy looking like a spaghetti to me:)

0 Kudos
SandeepKuniel1
New Contributor III

Well, i got one more solution to this:)
My requirement was to generate and sync using batch routines.
So ended up using ArcGIS runtime libraries.
Using GeodatabaseSyncTask to create and sync. Does it beautifully.
Also generated the clipped basemap, something similar to what ArcGIS collector would do.
if anyone has a better solution, please let me know.
Ideally this should be an out of the box geoprocessor.

0 Kudos