I can help with some of this but not sure all of it. But I think I understand the contour question. Taking your middle image it has a point with a cross of 308m and you can see that its close to a contour line. That line is 310m. Counting up contour lines we can count 5 of them and see that there is a cross not too far from the 360m contour line marked 357m.
So we know that the contour lines are marked in 10m intervals.
A linear interpolation makes the assumption that between the contour lines it is a straight line. Now we know thats an approximation but its going to be pretty close. So now you can take any point on the map and find the contour line above it and below it and then those are the 10m intervals either side of your point. You take a straight line and draw it across the contour lines such that its as close as possible to being perpendicular to them that passes through your point. Now between your point you have a distance dhigh which goes from your point to the contour line above and a dlow which is the distance from that point to the lower contour line.
We know that dlow + dhigh is 10m. So dlow / (dlow + dhigh ) * 10m is the height offset from the lower of the contour lines. That is the linear interpolation of the point between the two reference values.
So if the lower contour line was 310m and you had dlow as 8mm and dhigh as 12mm then you have 8 / (8+12) * 10 is 80/20 = 4m of height to offset so the final height above sea level is 314m.
You can do that for any point on the map whether intersections of roads or whatever. Just so long as you have the contour lines either side of it.
Voronoi is the 2D version of that linear interpolation. Its a bit more tricky but it requires having 3 points instead of two. So if you know the heights of three points around the one your trying to figure out - even if you dont have contour lines now - then you can linear interpolate them making the assumption that the ground is linear and flat at some angle of steepness. This is obviously an approximation so the closer those known points are around the one you don't know the better.
To do the Voronoi interpolation you just do a two point interpolation across any of the two out of the three known ones and then now that you have that edge line you can draw a line through your unknown point to the third known one. Where that line will cut / bisect the first line you need to find that bisection height first using the same technique as above for the contours. Then linearly interpolate that to the third point and that gives you your unknown one.
Code:
A
*....
. ....
. ....
. ...
P.---U-------*B
. ..
. ..
. ..
..
*C
So draw a line through U to B creating a point P. Linearly interpolate line A to C and find height at point P. Then linearly interpolate from P to B at your unknown point U to find its height.
Hope this helps and maybe we might get a few more suggestions.