Skip to main content

 

Hi Everyone,

I’m working on an integration workflow between an editable polygon feature class in an enterprise geodatabase and an asset tracking the same asset in an Asset Management System (which will be where the majority of the info is populated). We cannot write directly to the Asset Management System database, and need to write/get to it via API.

The GIS feature class has a few attributes that are not in the layer in the Asset Management System and vice versa therefore it is not a straightforward cloning. That being said, I will have the attributes/fields required in the GIS Feature layer already so that new fields/attributes themselves don’t need to be created in the FC. However, we want to set up an integration as the diagram shows above.

So the lifecycle of the asset will start in GIS, whereby a user will trace out a polygon in GIS and the fields such as Geometry, Object ID and Asset ID will get autogenerated as a result. The user would then fill out the few GIS only fields in GIS that are not available within the same in the Asset Management System.

In order to achieve this, I would create an FME script with a ChangeDetector transformer that would have the Asset Management API Reader in the Original Port and the GIS Feature Layer reader in the Revised Port. 

Then the FME Script would create new records within the layer in the Asset Management System via API if the Asset ID does not exist in the Asset Management System.

The FME script would carry over the autogenerated and GIS only fields to the layer in the Asset Management System table via API. The editor would then populate the remainder of the fields/attributes in the Asset Management System directly.

--

Since we want to maintain the GIS layer as well, we would then need another separate FME script to write back from the Asset Management System to the GIS layer and the specific new record(s) that were initially drawn in the first step.

So this second FME script would pull in fields/attributes from the Asset Management System API based on Asset ID and populate them into the records initially drawn to update the GIS feature class.

In this case I would use a similar ChangeDetector transformer and switch the order of the Input and Revised Ports and have the GIS Feature Layer Reader as the Input then the Asset Management System API Reader in the Revised port and configure the Attributes to carry over the fields/attributes that are entered in from the Asset Management System entries into the GIS Feature Layer.

Am I missing anything in the above proposed workflow by any chance? 

Any tips would be greatly appreciated!

Be the first to reply!

Reply