Select to view content in your preferred language

Change Asset Package Spatial Reference Deletes all data

138
5
Jump to solution
yesterday
ikavouras
Emerging Contributor

I have downloaded the Sewer Utility Network Essentials.gdb and configured Subtyped and Domains.

When I run the Change Asset Package Spatial Reference it deletes all records from every FC the UtilityNetwork  Dataset.

As a result, when I try to add a new feature in the projected UN (ServiceTerritory Polygon) the record gets a 00000000-0000-0000-0000-000000000000 GlobalID.

Any ideas and workarounds how to:

1. Not loose the data while projecting UN

2. Have GlobalIDs for every new record in the projected FGDB?

Thank you

0 Kudos
2 Solutions

Accepted Solutions
PatrickGCowan
Esri Contributor

With the Change Asset Package Spatial Reference tool, the data in the asset package will always be removed. This behavior is intentional because the recommended workflow is to first reproject the asset package to the desired coordinate system and then load your data afterward. In general, it is best for both the asset package and the data being loaded to use the same coordinate system.

In the asset package, Global ID values are stored as GUIDs. This allows you to preserve existing Global ID values when migrating data. When you create a Utility Network geodatabase from the asset package, these GUID fields are converted to Global ID fields, and any existing values are preserved.

If you add a new feature to the asset package and it receives the default 00000000-0000-0000-0000-000000000000 GUID value, you can open the attribute table, double click to start editing the values and click the + button next to the field value to generate a new GUID.

PatrickGCowan_0-1782824348817.png

If you need to bulk calculate new global ids for your data, you can use this workflow:

https://support.esri.com/en-us/knowledge-base/how-to-calculate-unique-identifier-values-similar-to-g...

Both append and data loading tools do have an option for preserving global ids if your source data has them.

View solution in original post

RobertKrisher
Esri Regular Contributor

Because the asset package is designed for data migration, the "globalid" field in the asset package is actually a GUID. This allows you to map the global id from your source data into this globalid (guid) field in the utility network. If we made it an actual globalid field, it would be managed by the system and you wouldn't be able to preserve your globalids through the data migration process.

View solution in original post

5 Replies
PatrickGCowan
Esri Contributor

With the Change Asset Package Spatial Reference tool, the data in the asset package will always be removed. This behavior is intentional because the recommended workflow is to first reproject the asset package to the desired coordinate system and then load your data afterward. In general, it is best for both the asset package and the data being loaded to use the same coordinate system.

In the asset package, Global ID values are stored as GUIDs. This allows you to preserve existing Global ID values when migrating data. When you create a Utility Network geodatabase from the asset package, these GUID fields are converted to Global ID fields, and any existing values are preserved.

If you add a new feature to the asset package and it receives the default 00000000-0000-0000-0000-000000000000 GUID value, you can open the attribute table, double click to start editing the values and click the + button next to the field value to generate a new GUID.

PatrickGCowan_0-1782824348817.png

If you need to bulk calculate new global ids for your data, you can use this workflow:

https://support.esri.com/en-us/knowledge-base/how-to-calculate-unique-identifier-values-similar-to-g...

Both append and data loading tools do have an option for preserving global ids if your source data has them.

RobertKrisher
Esri Regular Contributor

Because the asset package is designed for data migration, the "globalid" field in the asset package is actually a GUID. This allows you to map the global id from your source data into this globalid (guid) field in the utility network. If we made it an actual globalid field, it would be managed by the system and you wouldn't be able to preserve your globalids through the data migration process.

ikavouras
Emerging Contributor

So, the scenario is that the Asset Package Database will be used as the operational (editing) database, before the UN deployment, where all data are digitized from scratch.

During that phase, before UN deployment, should the GlobalID be reserved for every feature class? And in that case should an attribute rule be added to populate the GlobalID for every feature add in the database?  The alternative option would be to remove the GlobalID functionality and add it in the future, right before deploying the UN. Which one would be the best practice?

Thank you in advance

0 Kudos
RobertKrisher
Esri Regular Contributor

Capturing directly into an asset package is a little unusual for manual editing is a little unusual. Why not deploy the utility network to a local mobile geodatabase and let your user edit it there? Editing in an asset package means you won't have access to any of the tools for populating terminals, associations, or subnetwork controllers. You also won't have any of the built in intelligence of the editing tools to enforce snapping/connectivity rules or validating your topological edits.

Anyways, if you are going to capture in an asset package, you can let the users edit as normal in the asset package. But before deploying it run a script that will find any blank guid columns (the 000... that you mentioned above) and calculate them to a proper value. This can be done by modifying the script Patrick provided to identify GUIDs that need to be recalculated. Doing it incrementally would allow you to deploy the asset package to a mobile geodatabase on a weekly basis to do QaQc (enable network topology, look for errors, then correct them in the source data).

0 Kudos
ikavouras
Emerging Contributor

Thank you both for the quick and detailed reply.

0 Kudos