For first responders, the difference between life and death can come down to how long it takes for them to respond to a call. When speed is of the essence, navigating the best route to their destination is a top priority. For this reason, public safety geocoders focus on identifying cross-street information to better optimize those routes and “bookend” their destination. This task can be accomplished by building a geocoding locator that uses reference data which includes cross-street fields and returns these as custom output fields. This article will focus on how to build this cross-street data into reference data using ArcGIS Data Interoperability.
The process of building a street centerline locator returning cross-streets starts with a street centerline feature class. For example, here are some streets in Redding, California where we have derived cross-street fields for a feature class. The pop-up relates to the selected street segment, and we have highlighted the added cross-street fields:
Rather than doing all sorts of math in Python to calculate data structures, we can utilize ArcGIS Data Interoperability to query cross-street information using a no-code approach. This works especially well with TopologyBuilder transformer. For seasoned veterans of ArcGIS, you may remember that arc-node topology was baked into the storage model for polyline and polygon features. That type of topology is no longer included in a geodatabase, nor is it easy to create, except when using ArcGIS Data Interoperability. With ArcGIS Data Interoperability we are able to do this in the ETL tool in the post download (requires Pro 3.3 and ArcGIS Data Interoperability extension):
In the thumbnail we can write out a new feature class by:
- Reading in street reference data
- Sending the geometry
- Including the ObjectID
- Adding a street name attribute
We can then process that information to figure out cross-streets and join them back onto the street features. We don’t include the data but it is publicly available so you can test drive the tool for yourself after repairing paths.
In the download toolbox there is also a model that creates a locator (also included) with custom output fields for cross streets, and here it is in action with a ‘What’s Here?’ query in a map.
You can get to the area by a geocode to 2500 CELESTIAL ST, Redding, 96002 with the supplied locator.
In production, street centerlines would often be used as one primary table in a geocoding locator that also uses point address data and zone features. To access the cross-street values from a geocode service you might have to use a category filter of ‘Street Address’.
And that’s it. Thanks to ArcGIS Data Interoperability and its no-code approach, we were able to easily identify the desired information. Utilizing ArcGIS Data Interoperability to build cross-street data into geocoding locators was the right choice since it simplified the process, saved us time by extrapolating the requested data, and didn’t require us to write a Python script to do it. For a more in-depth look at this process or if you have any questions, please visit our Esri Community website.
For more information on ArcGIS Data Interoperability and its capabilities, please feel free to reach out to your local Esri representative or visit us on our website. If you are interested in trying ArcGIS Data Interoperability for yourself, you can download a trial on Esri.com.
Article Discussion: