logo separator

[mkgmap-dev] [index] Automatic location completion

From Carlos Dávila cdavilam at orangecorreo.es on Thu Feb 24 19:58:10 GMT 2011

El 22/02/11 23:34, WanMil escribió:
> After the index branch has been developed so far that we can use the 
> results in MapSource (thanks to Steve!!) there is a big need for a 
> mechanism to fill missing location information.
>
> There has been a lot of discussion about that. It stopped because it 
> was quite theoretical (from my point of view). Therefore I have 
> started to implement a prototype osm hook that tries to complete the 
> missing location information. I think the is_in tag is quite 
> problematic therefore I decided to use the addr tags.
>
> Attached is a *very* early implementation that makes use of the 
> boundary polygons. It checks all nodes and ways/polygons within all 
> boundary polygons and fills the missing addr tags.
>
> I think this is a better foundation for the discussion how we want to 
> fill the missing location information.
>
> Before flaming me about terrible code please be aware that:
> * the patch is not optimized
> * it's version 1, so far away from handling all situations / countries
> * it's a very early prototype
>
> I would be happy if you try it and make some proposals how it could be 
> improved.
>
> Some improvements I already know and thinking about:
> * The new hook should run after the multipolygon finishing and not before
> * The is_in tag should be handled
I suppose you mean in case boundary polygons are missing.
> * boundary information propagation => First go through all boundaries 
> and add the information from higher levels to lower ones, i.e. add 
> addr:district to all city boundaries within that district
> * Use landuse=residential information in combination with the place nodes
> * In case a boundary level is missing (which mostly will be the case 
> for countries admin_level=2), select the addr information from all 
> nodes and ways within a boundary by using the most used addr-tag 
> value. (in germany the addr:country=DE should be the most used)
According to [1], there's a great variety in the matching of 
admin_level=* to places across countries, so it could be useful to have 
some options to choose what admin_level one want to assign to a given 
place=*. In a first try of your patch in Spain I see some streets are 
assigned suburbs while they should be (IMHO) assigned to cities. 
Searching for several streets and leaving city blank I get three (by 
now) patterns:
street, city, region, country (the right one for me)
street, suburb, province, country (street assigned to nearest 
place=suburb node)
street, suburb, region, country (I don't know if street is assigned to 
boundary polygons or to nearest place=suburb node, because both exist 
and unpatched mkgmap gives the same result).
I could give you ID's of involved nodes, streets and relations if you 
need them.

[1]http://wiki.openstreetmap.org/wiki/Key:admin_level#admin_level



More information about the mkgmap-dev mailing list