Select to view content in your preferred language

Taking Network Data offline as simple features with Pre-Planned area

335
7
Jump to solution
04-02-2025 01:41 PM
Labels (1)
JoeHershman
MVP Alum

We are looking into options for designing an offline process.  Our data includes data from a UN but we do not require any UN functionality.  So basically want to take pipes offline as simple features.  We do not want to edit these features, but we do want to be able to do a download sync on them.  

I am testing this out  and am getting an error associated to not have not have the UN extension

You cannot take this map offline or synchronize edits to this map, as you have not been assigned the required user type extensions: [Utility Network Service].

One thing I do notice is that when creating a replica using GeodatabaseSyncTask I can set a value in the parameters for the UtilityNetworkSyncMode to None it indicates that this would be simple features.

However, there is no similar setting with setting up a preplanned area.  There also does not seem to be any override parameters with offline areas.

So is this possible?  It is not feasible for our field crew to have UN extensions, so that is not possible.

 

Thanks,
-Joe
0 Kudos
1 Solution

Accepted Solutions
JenniferNery
Esri Regular Contributor

Hi Joe,

It is possible for field crew without UN extensions to download edits from server by disabling editing capabilities on the feature service. You can check out the "Trace Offline (read-only)" in this part 4 of the blog series.

The utility network sync mode for offline map is determined from this advanced offline setting of the portal item.

advanced_offline_setting.png

This cannot be changed for ahead-of-time workflow with preplanned map area since the geodatabase is generated on the server and only downloaded on the client. But if you have 11.3 with the offline patch, there is a known limitation that it remains read-only despite the portal item advanced offline setting indicating "Trace and edit" for preplanned map area.

 

If you are using on-demand workflow where you generate the offline map on the client by specifying an area of interest, you can still change this utility network sync mode using parameters override. This can also be found in our guide doc.

var task = await OfflineMapTask.CreateAsync(map);
var parameters = await task.CreateDefaultGenerateOfflineMapParametersAsync(areaOfInterest);

var parametersOverride = await task.CreateGenerateOfflineMapParameterOverridesAsync(parameters);

var overrideKey = new OfflineMapParametersKey(map.UtilityNetworks[0]);
var geodatabaseParameters = parametersOverride.GenerateGeodatabaseParameters[overrideKey];
// simple features
geodatabaseParameters.UtilityNetworkSyncMode = UtilityNetworkSyncMode.None;

var job = task.GenerateOfflineMap(parameters, downloadDirectoryPath, parametersOverride);
var result = await job.GetResultAsync();

 

But I think if you want the ability to trace, this should be UtilityNetworkSyncMode.SyncSystemAndTopologyTables with a feature service that is read-only, which will allow you download-only sync.

I hope this helps. 


Jennifer

View solution in original post

0 Kudos
7 Replies
JenniferNery
Esri Regular Contributor

Hi Joe,

It is possible for field crew without UN extensions to download edits from server by disabling editing capabilities on the feature service. You can check out the "Trace Offline (read-only)" in this part 4 of the blog series.

The utility network sync mode for offline map is determined from this advanced offline setting of the portal item.

advanced_offline_setting.png

This cannot be changed for ahead-of-time workflow with preplanned map area since the geodatabase is generated on the server and only downloaded on the client. But if you have 11.3 with the offline patch, there is a known limitation that it remains read-only despite the portal item advanced offline setting indicating "Trace and edit" for preplanned map area.

 

If you are using on-demand workflow where you generate the offline map on the client by specifying an area of interest, you can still change this utility network sync mode using parameters override. This can also be found in our guide doc.

var task = await OfflineMapTask.CreateAsync(map);
var parameters = await task.CreateDefaultGenerateOfflineMapParametersAsync(areaOfInterest);

var parametersOverride = await task.CreateGenerateOfflineMapParameterOverridesAsync(parameters);

var overrideKey = new OfflineMapParametersKey(map.UtilityNetworks[0]);
var geodatabaseParameters = parametersOverride.GenerateGeodatabaseParameters[overrideKey];
// simple features
geodatabaseParameters.UtilityNetworkSyncMode = UtilityNetworkSyncMode.None;

var job = task.GenerateOfflineMap(parameters, downloadDirectoryPath, parametersOverride);
var result = await job.GetResultAsync();

 

But I think if you want the ability to trace, this should be UtilityNetworkSyncMode.SyncSystemAndTopologyTables with a feature service that is read-only, which will allow you download-only sync.

I hope this helps. 


Jennifer

0 Kudos
JoeHershman
MVP Alum

@JenniferNery 

Thank you this is exactly what I needed.  I am still 11.1, so do not have those Advanced Options.

After creating a new service with the pipes layer and setting it to not editable as you describe I was able to do a successful download sync with the pipe layer using a preplanned area. 

This is the workflow we are needing to achieve as pipes are only used for reference, but we do want to see changes from the server.  The features that need to be edited are all standalone layers that are not part of the network.

It was nice to meet you in person at the conference.

Thanks,
-Joe
0 Kudos
JenniferNery
Esri Regular Contributor

I'm glad to have met you finally. Thank you for being an MVP! You've helped fellow developers and given us feedback to improve our API. I can't remember all now but the definition expression affecting `GetFeaturesForElementsAsync` is from you.

Good to know it's working for you now.

Jennifer

0 Kudos
JenniferNery
Esri Regular Contributor

Side note if you're on 11.1, there is a config file you can change to see this advanced option UI see step 4 here: Offline Utility Networks in ArcGIS Maps SDKs for Native Apps: Part 2 Offline Utility Networks in Arc...

Update the config.js file to enable the utility network offline options on your ArcGIS Enterprise Portal.
Find the Home App config.js file in your Portal installation directory.
This can typically be found at the following location: C:\Program Files\ArcGIS\Portal\framework\webapps\arcgis#home\js\arcgisonline.
Using a standard text editor, find the line that reads utilNetworkOfflineOptionsEnabledand change its value from false to true.
Restart Portal for ArcGIS Enterprise.

0 Kudos
RichRuh
Esri Regular Contributor

I want to add one more comment about this workflow.

Starting at 11.3, licensing around this functionality has changed.  You will now be able to download utility network features, including the network, and trace without needing the Utility Network user type extension.  This includes one-way sync from Enterprise to your device with a read-only feature service. (You'll also be able to trace directly against the feature service via web apps or Native Maps SDK apps)

The flip side is that editing any branch-versioned feature service, with or without a utility network (read: including simple features) will require the Advanced Editing user type extension.

0 Kudos
JoeHershman
MVP Alum

So if we are collecting some non-network inspection points, migrating to 11.3 we will need to create new feature classes that are archived without any versioning? 

Our current workflow the tables are branch versioned although we don't use versioning on them and the edits all come from the field directly to DEFAULT.  Have them as simple archived classes should not be an issue, but the change will need to be made.  This is good to know in advance...Thanks

Thanks,
-Joe
0 Kudos
RichRuh
Esri Regular Contributor

That should work. I don't think you can mix versioned and non-versioned feature classes in the same feature service, but creating a second non-versioned feature service should work fine.

0 Kudos