New Identify Map Tool for Cityworks Provides a Comprehensive Hierarchical View of Asset Information
November 14, 2018
By Udaya Maddumage, GIS Consultant, POWER Engineers
Although Cityworks has a built-in Identify tool, the results are displayed in a standard attribute table and do not include related records. And, in the case where results are returned from many layers, a new tab in the results view is created for every layer. The exclusion of related records makes it difficult to support some use cases, and the multiple result tabs can lead to a cluttered display which makes it difficult to locate and interpret the results.
In many instances it is useful to show both primary and related records, displayed in a hierarchical view. To support these use cases for one of our clients, POWER developed an enhanced identify tool with the following features:
- Leverages the same functionality as the Identify tool in ArcMap
- Provides three identify options: – top layer, visible layers, and all layers
- Displays the related records of identified features
Figure 1. New POWER Tools Cityworks map toolbar
Figure 2. Identify tool panel – Identify results are pending and clicked coordinates are shown at the bottom of the tool panel.
The end user interacts with the tool by selecting one of the identify options and clicking the “identify” button. This changes the cursor to a guiding tooltip and clears any previous identify results. The user then clicks a single location on the map, causing the coordinates of that location to be displayed at the bottom of the identify tool panel and invoking the identify process.
Each of the “IdentifyTask” API calls required to support an Identify runs asynchronously and returns with its own identify results which are combined into a single results tree. Since the results only contain the primary feature attribute information, the tool then utilizes relationship information and metadata to query the related records. Note that the relationship metadata is loaded and cached at startup to avoid repetitive overhead. Related records are also requested from the server only when a user expands the node for the identified feature in the results tree view. These two optimizations improve the Identify tool performance to provide a fluid user experience.
Figure 3 shows an expanded results list.
Figure 3. Identify results showing an expanded related record.
Cityworks provides a robust toolbox of functionality that can satisfy the requirements of many organizations. However, where enhanced functionality is required, the Cityworks and Esri APIs can be leveraged to satisfy additional use cases and provide additional value to the business.
About the Author:
Udaya is a GIS consultant and a software developer in POWER’s Geospatial and Asset Management group with three years of geospatial experience and over six years of enterprise software development experience. His current focus is Cityworks plugin development, Utility Network web application development and system integration using middleware technologies. Udaya is an expert with ArcGIS APIs, ArcGIS Enterprise, Cityworks APIs and many web-based/cloud-based application development tools and technologies. As a technology enthusiast, he loves solving complex technical challenges with cutting edge technologies and contributing to the online geospatial community. If you have any questions or comments for Udaya, you can contact him at email@example.com.