Spatial relationships automatically update features based on their location relative to other features to help aid general editing and maintaining these relationships. These are used to speed up filling out information when adding new features. It is most often used to update a child record with a parent records ID number. For example it can update play ground equipment with the park id. The spatial relate can update any fields, whether or not they are linked to lucity and it can use non-Lucity feature classes to update Lucity feature classes.
Triggering a Spatial Relationship update
There are three ways in which spatial relationships are triggered:
Within an ArcMap edit session, when a feature is created or an existing feature's geometry 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 tool is used, it automatically checks for spatial relationships.
Built-in Spatial Relationships
The following spatial relationships are managed by the Lucity integration and do not need to be created.
Address/Parcel - The Address/Parcel relationship is automatically managed by Lucity.
Facility - The Endpoint relationships for Irrigation Pipes are managed by Lucity.
Facility - The relationship between a Room and a Facility is automatically calculated based on Floor the Room is attached to.
Park - The Endpoint relationships for Irrigation Pipes are managed by Lucity.
Sewer - The Endpoint relationships for Sewer Pipes are managed by Lucity.
Storm - The Endpoint relationships for Storm Pipes are managed by Lucity.
Streets - Editing a Street Segment updates the To and From Node IDs.
Water - The Endpoint relationships for Water Pipes are managed by Lucity.
Types of Spatial Relationships
From Intersect: Finds any features in the Related Feature Class that intersect the from point of the feature in the selected feature class. This relationship only works for polyline, edge, or complex edge features.
To Intersect: Finds any features in the Related Feature Class that intersect the To Point of the feature in the selected feature class. This relationship only works for polyline, edge, or complex edge features.
Is Contained by: Finds any features in the selected feature class that are contained by features in the Related Feature Class. The Related Feature Class must be a polygon feature class.
Intersects: Finds the first feature in the Related Feature Class that intersects the feature in the selected feature class.
To Intersect Distance: Finds the first feature in the related feature class that intersects the feature in the currently selected feature class. It then calculates the distance along the related feature between the intersection location and to point. If the selected feature class is of a polyline geometry type then it requires the 'to point' of the selected feature to intersect the related feature. This relationship type requires the related feature class to be a polyline geometry type.
From Intersect Distance: Finds the first feature in the related feature class that intersects the feature in the currently selected feature class. It then calculates the distance along the related feature between the intersection location and the from point. If the selected feature class is of a polyline geometry type then it requires the 'to point' of the selected feature to intersect the related feature. This relationship type requires the related feature class to be a polyline geometry type.
Midpoint Intersect: Finds any feature in the related feature class that intersects the midpoint of the feature in the selected feature class. This relationship is designed for polyline, edge, or complex edge features as the selected feature class, and a polygon feature for the related feature class.
Force Related Feature to Self-Update: This relationship finds any features that intersect the feature in the selected feature class and adds them to the edit cache so that they are synched to the desktop even if the records have not changed. This is used primarily for the street segment feature class (as selected feature class) and the street intersection feature class (as Related Feature Class). This forces the intersections to automatically recalculate the intersection configurations for the diagram in the desktop Intersection module when street segments are changed.
Is Within Distance of: Finds all features in the Related Feature Class that are with a specified distance of the feature in the selected feature class.
Reverse Geocode: This relationships uses the asset's location and the current geolocator to find the asset's address. It then populates the assets Address fields in Lucity. It will also update Address fields in ArcMap if they are linked to the Address fields in Lucity but this is not required.
Point - Finds the address for the point.
Line - Finds the address for the lines midpoint.
Polygon - Finds the address for the polygons centroid.
Considerations
Which features require data from other features?
Which features would benefit from having data pulled over from other features?
Select the Feature Class the spatial relate will be updating and right-click on the node.
Click Add > Spatial Relationship.
An entry will be added under the Feature class configuration and the Spatial Relationship form will be displayed.
Populate the Field to Update with the Field name of the field in the selected feature class that will be automatically updated.
Use the Related Feature Class field to select the feature class that is being related to the selected feature class. If the feature class is in a different workspace you will need to enter the information manually.
Note: The Related Feature Class MUST be stored in the same geodatabase as the selected feature class.
Populate the FC Field Name with the field name of the field in the Related Feature Class that contains the value that will updated the Field to Update field.
Populate the Relationship Type using the drop down list of predefined relationships.
Populate the Distance value.
Required only if the relationship type "Is Within Distance Of" has been selected. The field is used to specify a distance for this relationship type.
Never Overwrite a Non-Null Value
Optional. Check this box to ensure that data populated in the Field to Update field of the selected feature class is never overwritten if a value already exists.
Update Value to Null if No Relationship is Found
Optional. Check this box to allow the Field to Update field to be set to null if no relationship is found.
If the spatial relationship will be triggered by a GIS Task you will need to specify the Service that contains related feature class... Use the drop down to select a map or feature service from the list.
This list of services comes from the Lucity Administration Tool > GIS > Map Services.
This is only required if the related feature class is in a different service than the data the task is updating.
This information will be saved when another node is selected of the form is closed.
Note: Spatial Relationships can be edited anytime after saving them
To delete a spatial relationship from a feature class, select the spatial relationship listed under the feature class from the tree on the Geodatabase Configuration form.
Right-Click on the spatial relationship and choose Delete.