[OSM-dev] auto-generating landuse=residential polygon around highway=residential -streets

Roland Olbricht roland.olbricht at gmx.de
Fri Feb 27 10:18:49 GMT 2009


Hello,

> issue:
> Where they are missing, I would like to generated landuse=residential
> automatically in these places by evaluating the strongly connected
> graphs of residential-streets.
> Where such polygons have been created by mappers they will be used
> instead but there are too few of them to rely on them to be present.
>
> question:
> Dies anyone have a good idea for an algorithm that could do this?

What is the particular situation, i.e. what accuracy is necessary? A good 
starting point might be a scanline approach as for the 12-nm-brim, which is a 
matter of minutes for the entire planet but not very precise:
- We assume that every point which is less than a given distance (e.g. 100 m) 
from a residental road is residental and draw a line around that area.
- Imagine the planet (or a smaller area) covered with equidistant scanlines 
along the latitudes (the distance between two scanlines e.g. 0.0001 degrees 
of latitude ~= 11,1 m). Now you add for every segment of every residental way 
all the intervals of points on each scanline that are less than 100m from any 
point of that way (simplified: take into account only the endpoints of the 
segment and the intersections with the scanlines - the inaccuracies won't 
matter compared to the scanline gaps or the projection correction). After the 
tool has taken the union of all those intervals, it spans a way from interval 
border to interval border - that's the desired polygon around the residental 
area.
- the algorithm is n log n in the number n of intersection points, which in 
turn are linear in the number of scanlines or the total length of all 
residental roads.

Regards,
Roland




More information about the dev mailing list