What I'm trying to do is find a road (or a portions of road) from one country that is similar to another road(or portion of a road) from a different country and the road property I'm comparing is relative changes in elevation.

For example, if I have a 100km road stretch in Kenya, looking at how the elevation changes every 1km, I would like to know if there is a either a continuous 100k road stretch in Namibia with very similar elevation changes or a smaller stretch (if the full length doesn't exist).

Since I have no prior GIS experience, I started using the Google Maps API in Javascript (and it's Elevation API), but I'm open to any suggestion.

At the moment I'm considering taking a possibly very naive approach:

  • store input road data from country #1 as a 1 dimensional list of delta elevations (every 1km)

  • index roads from country #2 as 1D lists of delta elevations

  • (somehow) search for input road in the indexed road data. Either iterated through the indexed 2 lists and sort by the average difference between two sections or attempt 1D template matching ?

Is what I'm attempting achievable ?

Am I asking the right question (or I should look at comparing roads in a different way) ?

If so, is there an efficient/elegant solution to searching similar road areas based on relative elevation changes ?

  • 1
    I'd use 2 lists of points sampled at the same interval and their elevations. Calculate correlation coefficient, flip second list, recalculate coefficient. Pick largest of 2. A lot depends on where you'll start your roads though – FelixIP Mar 17 '16 at 1:33
  • Thanks @FelixIP, you are right about where the starting point is. To exhaust all options I imagine the 2nd list will need to be traversed multiple times with different starts ? Might not be super efficient – George Profenza Mar 17 '16 at 12:24