Merge two road maps using graph theory

120 Views Asked by At

There are two road maps represented as a set of vertices and edges. Maps cover different areas so I want to merge two maps.

enter image description here
An example of two maps (red and blue). The segment between two stars should be matched.

Representation:
Vertices: longitude and latitude represented as (x,y) pair of doubles
Edges: A pair of vertices connected by the Edge weighted by Euclidean distance between connected Vertices
Labels: Most of the Edges are labeled with address ranges.

Labels alone don't solve matching problem because of same name streets, address aliases, mismatching ranges and unlabeled Edges.

Current approach: Vertices from two maps are considered matching if they are within N feet from each other. Edge is added to connect proximal Vertices. Choice of the parameter N is important.

enter image description here
Different roads are separated by 40 feet.

enter image description here
Vertices separated by 500 feet represent the same road.

Closeness cutoff should somehow depend on the "area density". The more Edges there are the lower should be the cutoff distance N. What would be the good and efficient metrics to measure road density?

Is there a useful Vertex neighborhood metrics to decide if a Vertex of first map is matching the vertex of another map?