There is a small but helpful implementation of CU tracking processor I want to share with you. Unlike comprehensive asset management systems that processor is a basic subtask which can be configured on post design task and updates custom CU information database table.
Related CU_INFO table populated with CU information
Few principles taken as basis for development:
- Subtask must be configurable. Special rules should be applied depends on CU ID, parent feature class and custom coded domain values.
- Considered to work in ArcMap environment as well as in GDBM
- Provide additional information if mismatched found or CU cannot be processed for some reason. Populate a log with verbose information
Configuration contains three parts:
- First set of rules combines GIS feature classes and custom coded domain values with CU IDs and description. Rule set determines if current CU needs to be processed. Configuration rules use simple user friendly format and were imported from excel spreadsheet to DB tables, what makes them easy to read and update.
- Second set of rules is mapping Work Function with the tracking action. There are four tracking action hardcoded: Add, Remove, Transfer and None.
- Third is a verbose log file path
Coded domain values with CU information for given subtype. Configuration says that transformer bank has subtype of 31, CUs within ID listed in given coded domain will be processed.
Given the CU info table is a versioned table, each record has CU and work flow information, and related parent Global ID. Table has multiple relationships with the GIS feature classes, thus designer is able to manage “attached” CUs through versions and that table can be consumed from another software to get CUs information. Short and simple work flow can be presented by the following handy diagram.
Michael Young says:
Konstantin this is very interesting. I have a design where all the cu’s have lost their connections to the actual features in the design. After reading your article I’m wondering if this would help me reconnect all the cu’s to their respective features in the design?
Hope the answer is yes!
Mike Young
Konstantin Korchakov says:
Mike, unfortunatly, this will not work for designs with already lost CUs since this implemetation tracks CUs and build relationships between CUs and features while CUs sit within design tree. I believe, once CU lost connection with design tree, there is no way to get it back unless you have already duplicated that relationship. Particularly this customization has nothing to do with writing to design tree and only fires once on design post task, but such customization could help you if you’re losing CUs consistently (within code or data migration), so with another custom code you could analyze collected data and populate design tree. But I would rather first look into a reason why designs are losing CUs than building one more customization on top of the issue.