I'm working with addresses and making a tool to check if structures are on the correct side of the street based on the house number parity matching the road parity. The roads have directionality, so I want the tool to identify if a structure is on the right or left side of the road and then do the parity check with the house number. I've been having trouble programmatically determining the right versus left side of the road. I did find Finding left and right side of line in ArcGIS for Desktop? that suggests linear referencing tools could accomplish this, but there wasn't much specific information about how to actually code the solution, and I haven't had much success making routes and extracting information on my own. I started coding a work around that would check if all structures on one side of the street had the same parity, but I don't think this would be as accurate as if I could determine the right/left side of the road.

Does anybody have any suggestions about how to approach this?


Check out my response to the Working with Street Centerlines and an Address Point Layer. Also look at my Assigning Address Ranges Based on Existing Address Points Blog on Geonet for much more on Linear Referencing and Address Range Assignment/Validation. The Blog gives full step by step instructions for someone who starts out with a normal Centerline layer and Address Point layer on how to derive a Linear Reference layer from the Centerlines and associate address points with the Centerlines in a way that allows for parity validatation, range orientation validation, range value extent validation, and interpolating ranges between adjoining road segments.

I also have posted a toolbar for swapping address range values and for splitting address range values that you can get from my Blog called A Toolbar for Splitting Address Ranges and Managing Address Ranges

  • Thanks so much! I worked through your instructions and I've nearly gotten everything working, but I encountered one inconsistency. Regardless of road directionality, it seems that the East side always generates Negative distances, and the West side always generates Positive distances, so I can't rely on distance parity to accurately identify L/R sides of the street. I''d guess this is due to the coordinate priority parameter when creating routes. Is there a way to have road directionality influence the coordinate priority, or another way to identify road directionality? – mTy Oct 4 '16 at 17:14
  • The route measures should always hold to a single direction regardless of the original centerlines, otherwise you cannot chain the addresses together. My approach to the direction of the original lines is to use Locate Features Along Route twice, once for the FROM point and once for the TO point of each original Centerline with each point having the ObjectID of the original line and a field saying "FROM" or "TO" based on the end the point falls on. To find opposite direction lines I join the tables on the Original ObjectID and select lines with FROM measures greater than TO measures. – Richard Fairhurst Oct 4 '16 at 17:40
  • If each route is a single line then you can maintain line orientation by adding a FROM field with 0 and a TO field with the line length onto your lines and then use the Create Route tool with the two fields option. – Richard Fairhurst Oct 4 '16 at 17:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.