Hi Colin,

I think you found a bug in the housenumber processing. 
The current implementation uses the streetnames which exist before style 
processing
to produce a map of existing streets and nodes with addr info. After style 
processing, It tries to find the 
nodes and ways with the same name as that of a road. With your changes, this 
will probably 
fail. 
If I got that right, we have to create another map that maps old and new 
streetnames.

@WanMil: Do you have time to look at this?

Gerd



Date: Sun, 25 May 2014 22:18:35 +0200
From: [email protected]
To: [email protected]
Subject: [mkgmap-dev] House numbers and styles



I have some rules which modify name, addr:street and mkgmap:street in "lines" 
and "points" which apply some transformations to the street names. The idea is 
to normalise the names by removing punctuation and standardising abbreviations. 
The resulting map is missing the house numbers for streets whose name I have 
modified. In the style rules, I apply identical transformations to the way 
(looking for highway=* & name=*) and points (looking for addr:street and 
mkgmap:street, separately of course). I expect that mkgmap can match up the 
address nodes with the street because the street names are still identical, but 
something is not working right. The modified street name is working fine - that 
is displayed and is in the index (i.e. I can search for it as a destination). 
However for these streets only, there don't seem to be any house numbers 
present. A search for a specific (existing) number on the road finds the road 
with no numbers, at the centroid of the street. Other streets whose names don't 
get changed, will allow me to find a specific house number and get the location 
right as well.

Does anyone have any ideas what might be going wrong here? Am I trying to do 
something that can never work?

Is it possible that something in the address handling in mkgmap is using the 
original street name, before the style has been applied?

Is it possible that the styles don't get applied to address-only nodes?

I have the following in "lines":

# CS: normalise by getting rid of . in abbreviations
highway=* & name ~ '.*[.].*' {set name='${name|subst:.-=>-|subst:\.~> |subst: 
+~> }'}

... and the following in "points":

# CS: normalise by getting rid of . in abbreviations
#mkgmap:street ~ '.*[.].*' {set 
mkgmap:street='${mkgmap:street|subst:.-=>-|subst:\.~> |subst: +~> }'; echo 
"fixed mkgmap:street ${mkgmap:street}"}
mkgmap:street ~ '.*[.].*' {set 
mkgmap:street='${mkgmap:street|subst:.-=>-|subst:\.~> |subst: +~> }'}
#addr:street ~ '.*[.].*' {set addr:street='${addr:street|subst:.-=>-|subst:\.~> 
|subst: +~> }'; echo "fixed addr:street ${addr:street}"}
addr:street ~ '.*[.].*' {set addr:street='${addr:street|subst:.-=>-|subst:\.~> 
|subst: +~> }'}

Thanks in advance for any pointers!

Colin

 



_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev                            
          
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to