[PATCH v5] - alpha patch to support road find by name

v5 - Now uses separate labels for road name and ref so you no longer get "Foo street (A123)" - this allows roads to be searched for by name or by ref. If you are using your own style files make sure to change the line that sets the highway name to: # If highway has a name, use it, or if it has a ref, use that as the name highway=* {name '${name}' | '${ref}' } When entering an address, the road names are searchable incrementally but the city names are not. Interestingly, if you enter a city name or the prefix of a city name it will scroll the list of city names to the appropriate position - weird. As reported by a tester, if you select a city, it doesn't limit the roads in the list to only the roads in that city, you still get presented with a list of all the roads in the known universe. I have good reason to believe that these two issues will only be solved by supplying further index information (MDR file perhaps?) So, it may be that the current functionality is the best we can hope for until the MDR is cracked. ----------- Hi, The attached patch is for the current SVN trunk (r979) and it generates the sorted road data that is required by the gps to find roads/intersections by name. As for the number field, I haven't thought yet how that would get its data. Please test this patch and report success/failure. If it doesn't break anything for anyone, I would like to commit it fairly soon as I think that quite a few people will be happy to have street finding added to the trunk. Cheers, Mark

On Tue, Mar 17, 2009 at 11:00:09AM +0000, Mark Burton wrote:
When entering an address, the road names are searchable incrementally but the city names are not. Interestingly, if you enter a city name or the prefix of a city name it will scroll the list of city names to the appropriate position - weird.
The Garmin Edge 705 won't. It just says something like "no match" (I'm using it in Finnish). So, the only option is to scroll the list of city names.
As reported by a tester, if you select a city, it doesn't limit the roads in the list to only the roads in that city, you still get presented with a list of all the roads in the known universe.
That's true for the list of street names. However, if you select a city, it will limit the matches on the main "find a street" screen. I tested by searching for "Ratatie" before and after selecting "Ahjo, FIN" (a suburb of the town Kerava).
I have good reason to believe that these two issues will only be solved by supplying further index information (MDR file perhaps?)
So, it may be that the current functionality is the best we can hope for until the MDR is cracked.
A buggy street name database is better than no street name search. I'm looking forward to the commit.
-# Set highway names to include the reference if there is one -highway=* {name '${name} (${ref})' | '${ref}' | '${name}' } +# If highway has a name, use it, or if it has a ref, use that as the name +highway=* {name '${name}' | '${ref}' }
Why is this change needed? Street ref signs are much easier to spot than name signs. Is there a way to see the ref on the map (or the map cursor tooltip) even when the street does carry a name? I can live with this; I'm just wondering. One thing that I'd like to see fixed soon is that multiple matches are being returned for the same road when a section of the road is a bridge, tunnel or cycleway. Marko

Hi Marko,
When entering an address, the road names are searchable incrementally but the city names are not. Interestingly, if you enter a city name or the prefix of a city name it will scroll the list of city names to the appropriate position - weird.
The Garmin Edge 705 won't. It just says something like "no match" (I'm using it in Finnish). So, the only option is to scroll the list of city names.
Yes, the etrex says "None found" but if you persevere and keep typing the required city name it will suddenly jump to the name position in the list.
As reported by a tester, if you select a city, it doesn't limit the roads in the list to only the roads in that city, you still get presented with a list of all the roads in the known universe.
That's true for the list of street names. However, if you select a city, it will limit the matches on the main "find a street" screen. I tested by searching for "Ratatie" before and after selecting "Ahjo, FIN" (a suburb of the town Kerava).
Err, I don't understand you there. What's the "find a street" screen? Perhaps, the etrex doesn't have that?
I have good reason to believe that these two issues will only be solved by supplying further index information (MDR file perhaps?)
So, it may be that the current functionality is the best we can hope for until the MDR is cracked.
A buggy street name database is better than no street name search. I'm looking forward to the commit.
Yes, it's better than nothing.
-# Set highway names to include the reference if there is one -highway=* {name '${name} (${ref})' | '${ref}' | '${name}' } +# If highway has a name, use it, or if it has a ref, use that as the name +highway=* {name '${name}' | '${ref}' }
Why is this change needed? Street ref signs are much easier to spot than name signs. Is there a way to see the ref on the map (or the map cursor tooltip) even when the street does carry a name? I can live with this; I'm just wondering.
I believe that squashing the name and the ref together is not the best thing to do from the point of view of searching but I can understand that tastes vary. I think that the gps only shows the first label for a road in the tooltip.
One thing that I'd like to see fixed soon is that multiple matches are being returned for the same road when a section of the road is a bridge, tunnel or cycleway.
Your request is noted. Cheers, Mark

On Tue, Mar 17, 2009 at 02:05:57PM +0000, Mark Burton wrote:
The Garmin Edge 705 won't. It just says something like "no match" (I'm using it in Finnish). So, the only option is to scroll the list of city names.
Yes, the etrex says "None found" but if you persevere and keep typing the required city name it will suddenly jump to the name position in the list.
I can confirm this. If I type "VANTAA", the list will suddenly pop up. For anything up to "VANTA", I see nothing.
As reported by a tester, if you select a city, it doesn't limit the roads in the list to only the roads in that city, you still get presented with a list of all the roads in the known universe.
That's true for the list of street names. However, if you select a city, it will limit the matches on the main "find a street" screen. I tested by searching for "Ratatie" before and after selecting "Ahjo, FIN" (a suburb of the town Kerava).
Err, I don't understand you there. What's the "find a street" screen? Perhaps, the etrex doesn't have that?
In the Edge 705, it's the screen Where To?/Find Places/Addresses, the one that asks "<Enter Number>", "<Enter Street Name>", and "<Enter City>". If I enter a "city" (not really a city, see above), the list of "Matches" on the bottom half of the screen will only show streets within that city. Alas, the "city names" are not really names of cities, but names of places within cities. In Finland, street names are unique within a city. When cities are merged (to reduce overhead and to gain synergy in arranging public services), duplicate street names are eliminated by renaming. If it is not possible to associate a street with multiple "cities" (say, Kerava and Ahjo (a part of Kerava)), it'd be useful to have the streets associated with a city rather than a smaller place. I don't know the names of all suburbs or villages (even in my home city), but I know the names of nearby cities. I can understand it's easier to associate each street with the nearest village/town/city POI than to look for surrounding border polygons. Marko

Hi Marko,
I can confirm this. If I type "VANTAA", the list will suddenly pop up. For anything up to "VANTA", I see nothing.
Yes, weird isn't it?
As reported by a tester, if you select a city, it doesn't limit the roads in the list to only the roads in that city, you still get presented with a list of all the roads in the known universe.
That's true for the list of street names. However, if you select a city, it will limit the matches on the main "find a street" screen. I tested by searching for "Ratatie" before and after selecting "Ahjo, FIN" (a suburb of the town Kerava).
Err, I don't understand you there. What's the "find a street" screen? Perhaps, the etrex doesn't have that?
In the Edge 705, it's the screen Where To?/Find Places/Addresses, the one that asks "<Enter Number>", "<Enter Street Name>", and "<Enter City>". If I enter a "city" (not really a city, see above), the list of "Matches" on the bottom half of the screen will only show streets within that city.
I was having a stupid moment, I know what you mean now.
Alas, the "city names" are not really names of cities, but names of places within cities. In Finland, street names are unique within a city. When cities are merged (to reduce overhead and to gain synergy in arranging public services), duplicate street names are eliminated by renaming.
If it is not possible to associate a street with multiple "cities" (say, Kerava and Ahjo (a part of Kerava)), it'd be useful to have the streets associated with a city rather than a smaller place. I don't know the names of all suburbs or villages (even in my home city), but I know the names of nearby cities. I can understand it's easier to associate each street with the nearest village/town/city POI than to look for surrounding border polygons.
The association of roads with "cities" is being done by Bernhard's code. Perhaps an option that allowed you to specify the minimum size of "city" to use for road addresses could be added? I think it would have to take distance into account because if you just suppressed using a village name without considering distance, you would end up with the silly result of a road 1KM from a village being associated with a town, say, 20KM away. Cheers, Mark
participants (2)
-
Mark Burton
-
Marko Mäkelä