Sure, we all have our Lucity asset inventory linked to GIS. If you want to know where a specific asset is located, you can simply refer to the map and locate it. However, there are some situations in which knowing the address nearest the asset comes in handy. With Lucity version 2015r2 we’ve added a new Reverse Geocode spatial relationship type that will facilitate the process of assigning addresses to your Lucity asset inventory records.
Unlike other Lucity spatial relationship types, the Reverse Geocode does not use a related feature class, instead it uses an address locator. In the case of an Esri® ArcMap edit session it uses the active locator in the map, which can be found on the Geocoding toolbar.
There are no restrictions for the type of locator; it can be a custom locator created by your organization or it could be Esri’s World Geocode Service.
What it does
The Reverse Geocode spatial relate type will calculate the x/y coordinates of the feature to determine the address associated at that location. It then checks if the feature class has address fields linked to Lucity, if so, it will update the feature class fields with the address information. If the feature class doesn’t contain address fields then it simply updates directly to the address fields in Lucity. This means that unlike other spatial relationships you don’t have to have these address fields in your feature class.
Setting up a Reverse Geocode Spatial Relate
- Just like any other Lucity spatial relationship, Reverse Geocode relates are
added in the Lucity Geodatabase Configuration tool in ArcCatalog. Select the desired feature class node, right-click and select Add>>Spatial Relationship.
- On the Spatial Relationships Properties tab, fill out the following information:
- Relationship Type: Select Reverse Geocode from the drop down list.
- Distance Value: This is used as a buffer with the asset’s x/y in determining the address. You may need to experiment with this value based upon how your address locator was created. For example, a locator created using a polygon parcel feature class vs. a point address feature class will have different results given the buffer. It is advised to always go with a larger distance value as the locator will typically return the closest address if more than one exist within the buffered area.
- Never overwrite a non-null value: Check this box to lock down address information currently associated to the feature. This prevents the existing address associated to a feature from getting overwritten.
- Update value to null if no relationship is found: Check this box if you wish for the address to be set to null for features where the reverse geocode could not determine an address.
Once created, the Reverse Geocode will be triggered during the following three situations:
- Within an ArcMap edit session, when a feature is created or when an existing feature’s shape is changed.
- Within an ArcMap edit session using the Update Spatial Relationships tool on the Lucity GIS Edit toolbar. This tool is typically used if the data was imported using a non-Lucity import tool or was added during a non-Lucity edit session.
- When the Lucity Data Loader is used.
Reverse Geocode Process
- Verifies that there is a default locator in the map. If not, the process is terminated.
- Determines what the Lucity address fields are for the specific asset inventory module. If the asset inventory module doesn’t contain address information then the process is terminated.
- Determines if the feature class has fields mapped to the Lucity address fields found in previous step.
- If address fields are not in the GIS and the feature doesn’t have a Common ID specified, the process will terminate (since it won’t be able to determine the corresponding record in Lucity)
- If Never overwrite a non-null value setting is TRUE and address fields are already populated, the process will terminate
- Calculates X/Y for feature.
- For point geometries, it will simply use the point x/y value
- For line geometries, it will use the midpoint of the line
- For polygon geometries, it will calculate the centroid. It then checks if the centroid intersects the polygon.
- If so, it uses the x/y of the centroid.
- If not (situations like where a polygon is shaped like the letter U), then it uses the x/y of the label point. The label point is an Esri calculated point that is guaranteed to intersect the polygon feature.
- Passes the X/Y calculated value and the spatial relationship distance value (think of this as a buffer) to the locator and gets results.
- If the locator didn’t return an address and the Update value to null if no relationship is found setting is set to FALSE then the process will terminate.
- Updates the address fields. If the feature class was found to have the address fields (step 3) then these address fields are updated for the feature in the GIS; otherwise, the address fields in the Lucity asset inventory module are directly updated.
Lastly, while the Reverse Geocode spatial relate is supported in the Lucity ArcMap synchronization process with version 2015r2, it isn’t supported with Lucity GIS Scheduled Tasks. We plan to add this functionality to GIS Scheduled Tasks with version 2016. More detailed information on each of these settings can be found here. Please leave a comment below if you have any questions or suggestions.