logo separator

[mkgmap-dev] use of --mdr7-del can break address search/street search

From Gerd Petermann gpetermann_muenchen at hotmail.com on Wed Jan 19 11:38:13 GMT 2022

Hi all,

I think I found a solution that works well (at least for Arndt)

The attached patch mdr7-del3.patch changes mkgmap so that
1) For the global index, the --mdr7-del option now lists "stop index" words. If any of the listed words appears in a road label the label is
not added to the global index.
2) each road gets a label from the field mkgmap:street (if the road didn't have any label mkgmap adds a blank label and a 2nd label with the name).
If the road already had 4 labels and none matches the value in mkgmap:street the last label is replaced.
A similar logic was already in the housenumber processing, but it was only executed for roads with housenumbers.

These two changes fix the problems with street/address search for Arndt's "Speiche" style. He told me that he wants the long name in the routing directions
but only the road name in the address search.
The good thing is that the patch reduces both the tile size and the index size and MdrCheck no longer complains about any road.

Felix might not be so happy with this, as he wrote that he wants to be able to search for street names that contain e.g. route relation names.


Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <GPetermann_muenchen at hotmail.com>
Gesendet: Mittwoch, 19. Januar 2022 09:01
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: [mkgmap-dev] use of --mdr7-del can break address search/street search

Hi all,

see https://files.mkgmap.org.uk/detail/547

A search in Mapsource for street name "Birkenweg" only finds "Birkenweg Foot,Unna"
while it should find many more entries for cities like Altena, Fröndenberg/Ruhr, Hemer and others.

The cause of the trouble is that the first road label in the map that that starts with "Birkenweg" is the
"Birkenweg Foot" in Unna.
With --mdr7-del=foot the label is treated like "Birkenweg" and all other roads with label "Birkenweg"
in this tile are ignored because the index already contains an entry "Birkenweg" (only one entry per map is stored).
This index entry will point to the label "Birkenweg Foot" in the tile, and thus only roads with that label are found.

I have a few ideas how to fix this problem, but I am pretty sure that search can only work well
when the real street name is stored  in one of the 4 road labels (without other words or refs).
Up to now the --housenumbers option forces this when the road has numbers, but mkgmap
should probably always do this. If that is done the option --mdr7-del could work like this:
If any of the listed words is found ignore the label for the index.

Or maybe the option is obsolete and we can simply ignore the first label for the index
whenever there are further labels.

mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mdr7-del3.patch
Type: application/octet-stream
Size: 8296 bytes
Desc: mdr7-del3.patch
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20220119/80f3bd40/attachment-0001.obj>

More information about the mkgmap-dev mailing list