logo separator

[mkgmap-dev] [index] Automatic location completion

From WanMil wmgcnfg at web.de on Sun Feb 27 21:33:27 GMT 2011

I have done some development and want you to share my current findings.

1. The MapElement copy constructor seems to have a bug. The attributes 
map which contains the city, region and country information is not 
copied. From my point of view this is an important thing that should be 
fixed in the trunk also.

2. In the patch the Locator is disabled as much as it was possible for 
me up to now.

3. I am using now separate tags (mkgmap:city, mkgmap:region etc.).

I recommend to run this patch with location-autofill=-1 or 0 to see how 
the patch works and not how the old Locator works.


> 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
> * 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)
> Have fun!
> WanMil

-------------- next part --------------
A non-text attachment was scrubbed...
Name: index_location_v2.patch
Type: text/x-patch
Size: 29486 bytes
Desc: not available
Url : http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20110227/7bc5088e/attachment.bin 

More information about the mkgmap-dev mailing list