logo separator

House number improvements

08
Jun

House numbers have been part of mkgmap for a couple of years now, but as more and more housenumbers are added to OSM, Gerd undertook a project to update the code to deal with many more cases of real world OSM tagging.

The main changes are:

  • mkgmap tries to identify unnamed roads which lead to houses and can be named (assuming they are service roads)
  • mkgmap tries to find a plausible road when no street is given.
  • addr:interpolation ways are used to find the most plausible road and the interpolated addresses are found
  • improved evaluation of addr:* tags, esp. the support for addr:place and the support for addr:housenumber without addr:street, img data is optimized to make sure that address search finds a place close (< 40m) to the address.
  • special cases regarding addresses in different cities or zip codes along the same road are handled. This is important when a road starts in city A and has some numbers 1..20 there and later crosses city B with numbers 1..5 and finally ends in city C with numbers 1..50.
  • the found addresses are typically closer to the house

Using in your own style

If you want to test with your own style: Please note the new special tags mkgmap:numbers=false and mkgmap:execute_finalize_rules=true

  • a road with mkgmap:numbers=false is ignored in house number processing. The default style uses this for ferries and motorways and for bicycle-only roads.
  • The mkgmap:execute_finalize_rules=true tag will cause the finalize rules to be run, even if no object is created in the map for that element. So to set the city, region and country values for all elements with house numbers, use
    addr:housenumber=* {set mkgmap:execute_finalize_rules=true}
    
    as a first rule in points, lines and polygons and add
    include 'inc/address';
    
    to the finalize sections.

Use version r3612 or above to get these upgrades.

Posted by steve on 8 Jun 2015

Latest commits

  • splitter-r654 - add note that splitter doesn't handle holes in *.poly files.
    05 apr 2024
  • mkgmap-r4919 Avoid possible integer overflow in blocksize calculation when gmapsupp contains large number of tiles.
    04 apr 2024
  • mkgmap-r4918 add surface=chipseal to group of surfaces which means paved.
    06 mar 2024
  • mkgmap-r4917 fix typos in documentation: $LONG_DATE$ -> $LONGDATE$, $SHORT_DATE$ -> $SHORTDATE$.
    18 feb 2024
  • mkgmap-r4916 sortResource_v3.patch (with updated date in comment) by Ticker Berkin.
    13 oct 2023
See more...