My Task was to update the Street Centerline Layer for our county and it wasn't snapped to intersection to intersection and I merged all that together. We at the county here keep a updated address point layer and I want to have each corner address show on the Street Centerline data.
I'm using ArcGIS 10.4.1 with the Advanced License without any extensions added.
Answer
If you create routes from each line segment using the Create Route Tool http://pro.arcgis.com/en/pro-app/tool-reference/linear-referencing/create-routes.htm using a long field that stores the line objectid values for the route ID and use the two fields option with two double fields where the From field is 0 and the To field is the line length to retain the line direction.
Calculate the XY coordinates of your addresses into two double fields.
Then use the locate features along route tool which only requires a basic licence. Use the locate all features with a reasonable search radius and the generate distance field option. It creates a near table based on measure and offset side distance from the line with positive and negative distances distinguishing right from left.
Use the Make Route Event layer with the table and routes and use the Advanced options to add an Angle field for the Normal to the line. Export the event points to create real points. Add two new XY fields for the point on line coordinates. You can calculate an angle between the real point and the line and compare that angle to the line normal angle. At knuckles and cul-de-sacs it doesn't matter if it is not perpendicular to the line, but it does at intersections. Low measures are at or closest to the From end and high measures are at or closest to the To end and the distance sign separates points on each side of the line.
Anyway everything is there for you to work out how to use only points on the correct line at the correct end and the correct side for the address fields.
See my Blog for more information https://geonet.esri.com/blogs/richard_fairhurst/2014/08/29/assigning-address-ranges-based-on-existing-address-points
No comments:
Post a Comment