Howdy,
I have street light points that I need to match up with their nearest address based upon an address point file. However I need to make sure that the matching address is on the same side of the street.
1) Is there a way to have the neighbor finder tool recognize a street center line geometry as a barrier and exclude a potential neighbor if the candidate angle crosses over a street center line?
2) If that can't be done then I'd love suggestions on how to do this most efficiently.
Assuming the NeighborFinder can't evaluate a match based on a line barrier, the first process of achieving my goal that comes to mind for achieving this would be:
- run the NeighborFinder, then create a line between the street light point and the nearest neighbor address point (PointConnector),
- check to see if the new line crosses a street centerline (e.g. SpatialFilter),
- use the results to identify which light point to address point matches ought to be excluded/prevented;
- re-run the neighbor finder to exclude matching up those that exclusion list, however, as far as I know there's no way to force a match to be excludes in the Neighbor Finder. So this would lead to:
- Option A: would be a water fall approach similar to this question: https://knowledge.safe.com/questions/59605/neighborfinder-and-excluding-candidates-after-matc.html
- Option B: Set a max distance parameter then generate a list in the NeighborFinder and then process the list to kick out any hits that match my list of excluded matches then keep the next closest hit.
Am I missing anything? Is there a way to speed this up?
Thank you in advance for the assistance.