I am trying to match a Canadian road dataset with a US road dataset in ArcGIS 10.1. One way to assess how complete the "matching process" is is by seeing where the roads intersect and where they do NOT intersect (see picture; US roads in red, Canada roads in blue, US-Canada Border in black).

US and Canada Border

In the picture above, I have three areas where the lines intersect and cross the border and one area where the US road reaches the border but does not have a connection on the other side. Presumably, the one US road (in red) does not just stop at the US-Canada border (in black), but should continue to a Canadian road (in blue). To see where the roads intersect, I use the Intersect tool to create points where the shapefiles intersect. However, I do not have a method to assessing where the US and Canadian roads do NOT intersect.

Is there a way to locate where the US roads and US-Canada border intersect, but where Canadian roads do NOT intersect? Or vice versa with Canadian roads?

This would locate where the matching of the two datasets fails, an important thing to assess for my goals.

  • I'm not sure what sort of output you are expecting - a list of road IDs that fulfill some criteria, or points on the border? – Spacedman Aug 15 '16 at 19:31
  • Ultimately, any output where I can locate lines (roads) that are not connecting to the other road dataset. Currently, points are created to locate where the lines intersect. I would not mind points being created to locate where lines do NOT intersect, but I am open to any solution in locating these areas. – Phil Aug 15 '16 at 19:34
  • Merge them and calculate dongles using feature vertices to point. Might worth to experiment with snap first. Select ones on the border – FelixIP Aug 15 '16 at 19:38
  • are there any shared attributes between the US and Canada segments of a road that crosses the border? First thing I would do is buffer the border just a little bit and then select intersecting features in both layers. Then you could make a attribute comparison... – mr.adam Aug 15 '16 at 20:11

In any order, INTERSECT the Canadian roads with the border to create a canadian_roads_intersect_border point set, then do the same with US roads to create a us_roads)intersect_border point set. Finally, SPATIAL JOIN the two point sets with a suitable tolerance to find where two points are nearby.

Those points in the result without nearby matches will be the road_intersection_points of interest. (i.e. canadian roads without us road matches and visa-versa.)

  • In this answer, I am supposing the border points have some added-value, however they are not strictly necessary. – JasonInVegas Aug 15 '16 at 20:22

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.