Solved

Esri Utility network reader subtype layer


The Esri ArcGIS Portal Feature Service Reader has most of the capabilities needed to read from a Utility Network including being able to set branch versioning. However there doesn't seem to be a way to resolve domains that are defined at the subtype. The Utility Network uses the subtype layer concept where domains can be applied differently on each field by subtype. Is accessing the subtype domains something the FME can/will support?

icon

Best answer by sammy 19 January 2024, 17:53

View original

18 replies

Badge +2

@jimmybowden29​ Have you tried the reader parameter Resolve Domains? This should return the resolved domain description for the domain code. i.e. attribute Material would also return Material_resolved. Or is this not returning the correct value.

@jimmybowden29​ Have you tried the reader parameter Resolve Domains? This should return the resolved domain description for the domain code. i.e. attribute Material would also return Material_resolved. Or is this not returning the correct value.

@Mark Stoakes​  Yes Resolve domains works when the domain is applied at the field level. However with the subtype layers of the Utility Network domains can be applied to individual subtypes only.

For example the field material has no domain applied as shown in the first image. But the subtypes Water Main and Service have different domains applied (image 2) and these don't resolve in the FME workbench(image 3). It's an issue that Esri doesn't even handle very well.imageimage.pngimage

Badge +2

@jimmybowden29​ OK - this looks like something we need to support.

@Mark Stoakes​ 

Hi Mark

We are also struggling with this exact same issue. Should I be logging a ticket with my vendor to escalate to Safe?

 

Cheers

Badge +2

@Mark Stoakes​ 

Hi Mark

We are also struggling with this exact same issue. Should I be logging a ticket with my vendor to escalate to Safe?

 

Cheers

@grahamwood_hwc​ We have a change request logged for this issue - FMEENGINE-74348. I think the only workaround at the moment is to build the lookup table by exporting the domains. I think you can either export the UN to a file Geodatabase and then use the steps suggested in this article or export using the Feature Service REST API and FME HTTPCaller.

Badge +5

I was wondering if a workaround would be to read the json of the feature service layer and create a lookup from there, rather than having to export the UN. Each subtype shows up in the JSON:

 

"id": 1,

  "name": "Service Pipe",

  "domains": {"tracerwire": {

   "type": "codedValue",

   "name": "7_Yes_No",

   "description": "Valid Yes, No values",

   "codedValues": [

   {

    "name": "Unknown",

    "code": 0

   },

   {

    "name": "Yes",

    "code": 1

   },

   {

    "name": "No",

    "code": 2

   }

   ],

   "mergePolicy": "esriMPTDefaultValue",

   "splitPolicy": "esriSPTDuplicate"

  },

 

 

If a domain is assigned to all subtypes then it shows as inherited

 "lifecyclestatus": {"type": "inherited"},

 

I was thinking about using the resolve domains in the feature reader and then creating the rest of the domain resolved attributes from the json... If anyone is quicker with json than I am, post the results here...

Badge +2

@jimmybowden29​ @grahamwood_hwc​ We have added support for domains that are defined at the subtype for ArcGIS Online to FME 2023 (beta build 23210). Beta builds are available here if someone wants to test this - wait for build 23210.

(You can have multiple versions of FME Desktop installed - just use a different install folder, i.e. c:\\apps\\fme2023beta)

Thanks @Mark Stoakes​ 

 

we have downloaded and tested this and found ESRI Utility Network Asset Type Field resolves but the Asset Group field doesn't.

 

Badge +2

Thanks @Mark Stoakes​ 

 

we have downloaded and tested this and found ESRI Utility Network Asset Type Field resolves but the Asset Group field doesn't.

 

@grahamwood_hwc​ Thanks for taking a look. I think the Asset Group might be a subtype so there might be additional work for us to do there.

Badge +2

@grahamwood_hwc​ Thanks for taking a look. I think the Asset Group might be a subtype so there might be additional work for us to do there.

@grahamwood_hwc​ support for resolving subtypes should also be addressed in the latest FME 2023 beta builds (build 23221 or higher)

@grahamwood_hwc​ Thanks for taking a look. I think the Asset Group might be a subtype so there might be additional work for us to do there.

Hi @Mark Stoakes​ ,

I'm testing this on behalf of @grahamwood_hwc​ , I've installed Build 23226. This build won't let me add a portal feature service reader if Resolve Domains is set to Yes. It works as expected if set to NO,

 

Error Log below:

Python Exception <AttributeError>: 'int' object has no attribute 'code'

Failed to obtain any schemas from reader 'ARCGISPORTALFEATURES' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information

Workspace generation failed. Parameter file was C:\\Users\\delores\\AppData\\Local\\Temp\\FME_1675988125684_31536.

 

Badge +2

@grahamwood_hwc​ Thanks for taking a look. I think the Asset Group might be a subtype so there might be additional work for us to do there.

@sam.delore​ @grahamwood_hwc​ this was a problem with earlier builds of FME 2023 betas. I couldn't reproduce the error here on our Portal with FME(R) 2023.0.0.0 (20230216 - Build 23239 - WIN64) but the latest FME 2023 beta download should work for you (any build higher than 23231).

imageAimageBNote that the resolved subtype is represented as a format attribute:

arcgisonline_subtype_code 2

arcgisonline_subtype_name Service

similar to the Geodatabase reader.

If you can't get this to work perhaps log a support request with your FME provider

@Mark Stoakes​ I would very much like to download the 2023 beta version you referenced above so that I can test reading in "_Resolved" domain descriptions that are stored at the subtype level. However, there are no beta versions avaiable to download. Any idea when Safe will post a beta version?

Badge +2

@Mark Stoakes​ I would very much like to download the 2023 beta version you referenced above so that I can test reading in "_Resolved" domain descriptions that are stored at the subtype level. However, there are no beta versions avaiable to download. Any idea when Safe will post a beta version?

@londonhb185​ FME 2023 betas will be available again shortly after 13 April.

Badge +10

I was wondering if a workaround would be to read the json of the feature service layer and create a lookup from there, rather than having to export the UN. Each subtype shows up in the JSON:

 

"id": 1,

  "name": "Service Pipe",

  "domains": {"tracerwire": {

   "type": "codedValue",

   "name": "7_Yes_No",

   "description": "Valid Yes, No values",

   "codedValues": [

   {

    "name": "Unknown",

    "code": 0

   },

   {

    "name": "Yes",

    "code": 1

   },

   {

    "name": "No",

    "code": 2

   }

   ],

   "mergePolicy": "esriMPTDefaultValue",

   "splitPolicy": "esriSPTDuplicate"

  },

 

 

If a domain is assigned to all subtypes then it shows as inherited

 "lifecyclestatus": {"type": "inherited"},

 

I was thinking about using the resolve domains in the feature reader and then creating the rest of the domain resolved attributes from the json... If anyone is quicker with json than I am, post the results here...

If you need to create your own lookup tables from the UN JSON, I have written a blog that shows how to do this using FME Desktop or Data Interoperability.

 

https://www.esri.com/arcgis-blog/products/utility-network/data-management/exporting-subnetworks-using-data-interoperability-part2/

 

While waiting for full support for UN domains and subtypes reader you could use this approach.

Userlevel 1
Badge +6

Has there been any update for resolving the Asset Group Subtype?

I am using Workbench 2023.1 and I am running into the same issue (Asset Type resolving but Asset Group not resolving). I am reading in Utility Network data with an Esri ArcGIS Portal Feature Service Reader. Currently, I am using a look up table to get the description for that field but would prefer to not have to do that for each of table/feature class in Utility Network.

Userlevel 1
Badge +6

Has there been any update for resolving the Asset Group Subtype?

I am using Workbench 2023.1 and I am running into the same issue (Asset Type resolving but Asset Group not resolving). I am reading in Utility Network data with an Esri ArcGIS Portal Feature Service Reader. Currently, I am using a look up table to get the description for that field but would prefer to not have to do that for each of table/feature class in Utility Network.

Actually, I only just saw the comment to expose "arcgisonline_subtype_name" format attribute and that appeared to work so I do not need the look up table for the Asset Group subtypes anymore. Yay!

Badge +5

I am still having trouble getting a domain resolved that is at the subtype level. Maybe I’m doing something wrong?  
 

FME2023.1 (build 23619)

Using the Feature Reader transformer: Portal Feature Service of my UN data, layer is PipelineLine

Looking at the attribute material:

In the schema result from the reader I see 

attribute name: material

attribute name: material_resolved

But in the data result I only see

material: PL

and no material_resolved attribute that I can find.

 

 

Reply