Building Cross Street Data Into Geocoding Locators

2020
2
03-23-2022 11:32 AM
BruceHarold
Esri Regular Contributor
3 2 2,020

Public safety geocoders in particular like to give cross-street names to first responders navigating to street addresses, their local knowledge helps them decide what streets 'book end' the block they are heading for.

Building a locator that does this starts with getting cross street data into your street centerline feature class you are using for locator reference data.  Here are some streets in Redding, California where I have derived cross street fields for a feature class, the pop-up relates to the selected street segment and I have redlined the cross street fields:

Inspecting Cross Streets Made By The ToolInspecting Cross Streets Made By The Tool

 

ArcGIS Data Interoperability comes to the rescue here.  In the past I have done all sorts of math in Python to calculate data structures I can query for cross streets but I much prefer the no-code approach.  If you go way back in ArcGIS like some people I know you may recall that edge-node topology was baked into the storage model for linear features.  It is no longer in a geodatabase, nor is it easy to make - except with Data Interoperability.  So that is what I did in the ETL tool in the post download (requires Pro 2.9+ and Data Interoperability):

 

The ETL Tool That Makes Cross StreetsThe ETL Tool That Makes Cross Streets

 

I'll let you surf the tool yourselves but in thumbnail I read in street reference data, send the geometry, ObjectID and a street name attribute into some processing that figures out cross streets, then join these back onto the street features and write out a new feature class.  I 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.

 

Cross Streets Returned By The LocatorCross Streets Returned By The Locator

 

In production street centerlines would often be used as one primary table in a locator that also uses point address data and zone features, and to access the cross street values from a geocode service you might have to use a category filter of 'Street Address'.

If you need help putting this together please contact your local Esri representative or use the comments feature in this post, I'll be listening!

2 Comments