[mkgmap-dev] [PATCH v4] Automatic location completion
From WanMil wmgcnfg at web.de on Sat Mar 5 19:07:58 GMT 2011
Attached is the next step for the automatic location completion: * Some speed improvements (it's still slow but not as slow as before ;-) * boundary=postal_code is now supported. * The Locator does no longer overwrite already set attributes. This seems to be a better solution. I think the Locator must be rewritten completely. Up to now I have commented some lines only without deep understanding what it is really doing. Some things that don't work: * Lot's of POIs are assigned with the default country although the MapElements are assigned with the correct country. Example: - Spain splitted with --overlap=3000 (more overlap is better for my patch) - Cafe Antxi (http://www.openstreetmap.org/browse/node/629554219) is correctly assigned with country=ESP but in the POI search it is displayed with the default country. I have no idea why. * Zips are only applied to POIs. Streets seems to be not yet supported by the MDR creation. (=> Steve?) Things to do: * Speed improvement (At the moment the location search takes as much time as the rest of the map creation) * A better mapping of city, region to the admin-levels * Make use more OSM information (like residential areas, place=city POIs in residential areas etc.) * Clean up of the Locator class WanMil > I have improved calculation of the country information. In case no > country information is available the most used country in a tile is used > for all elements without country tag. > > The patch now patches the trunk and no longer the index branch. > > I have observed that lots of POIs are assigned the default country > although I they are assigned a different country. I have no clue where > this happens. > Maybe an index related problem? I was hoping that Steves commit today > would fix that problem but it didn't. > > WanMil > >> 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. >> >> WanMil >> >> >>> 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_v4.patch Type: text/x-patch Size: 40760 bytes Desc: not available Url : http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20110305/10ca2419/attachment.bin
- Previous message: [mkgmap-dev] [index] Automatic location completion
- Next message: [mkgmap-dev] [PATCH v5] Automatic location completion
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list