Address search on device with --x-split-name-index option

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Address search on device with --x-split-name-index option

Gerd Petermann
Hi all,

not sure how this works on other devices. I have a map containing a part of the alps with parts of Germany, Switzerland and France.
On my Oregon 600 when I search for an address I have some dialogs
1) select a country (I select Switzerland)
2) select city or select "search all"
3) Enter Street name. I can type a few characters and press enter. The device presents a list of road names matching the selected characters.
4) Last is to enter the house number.  I can leave it empty to search for streets.

If I select a city (Feuerthalen)in step 2) everything seems to work fine. It lists "Obere Rheingasse" as well as "Rheingasse" when I enter "Rheinga".
If I select "search all" the results are weird. Sometimes I get "no result, change search parameters", sometimes results look ok.

When I change the code in mdr20 to ignore the additional entries produced with the "--x-split-name-index" option the problem seems to be solved,
I just don't find "Obere Rheingasse" when I search for "Rheingasse".

Does anybody see better results in this case with a map produced  with trunk?

Gerd
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

ligfietser

I think I got the same results on my Oregon 600, so thats why I dont use --x-split-name-index



Van: mkgmap-dev <[hidden email]> namens Gerd Petermann <[hidden email]>
Verzonden: zondag 9 april 2017 01:15:02
Aan: [hidden email]
Onderwerp: [mkgmap-dev] Address search on device with --x-split-name-index option
 
Hi all,

not sure how this works on other devices. I have a map containing a part of the alps with parts of Germany, Switzerland and France.
On my Oregon 600 when I search for an address I have some dialogs
1) select a country (I select Switzerland)
2) select city or select "search all"
3) Enter Street name. I can type a few characters and press enter. The device presents a list of road names matching the selected characters.
4) Last is to enter the house number.  I can leave it empty to search for streets.

If I select a city (Feuerthalen)in step 2) everything seems to work fine. It lists "Obere Rheingasse" as well as "Rheingasse" when I enter "Rheinga".
If I select "search all" the results are weird. Sometimes I get "no result, change search parameters", sometimes results look ok.

When I change the code in mdr20 to ignore the additional entries produced with the "--x-split-name-index" option the problem seems to be solved,
I just don't find "Obere Rheingasse" when I search for "Rheingasse".

Does anybody see better results in this case with a map produced  with trunk?

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

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Steve Ratcliffe
In reply to this post by Gerd Petermann

Hi

> When I change the code in mdr20 to ignore the additional entries
> produced with the "--x-split-name-index" option the problem seems to
> be solved, I just don't find "Obere Rheingasse" when I search for
> "Rheingasse".

The on device version of mdr20 certainly supports this, so it should
work even if it is broken now.  We need to find out if this ever
worked properly eg in r3472 or r3449

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
Hi Steve,

okay, I'll try with the older versions.

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Sonntag, 9. April 2017 11:52:09
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi

> When I change the code in mdr20 to ignore the additional entries
> produced with the "--x-split-name-index" option the problem seems to
> be solved, I just don't find "Obere Rheingasse" when I search for
> "Rheingasse".

The on device version of mdr20 certainly supports this, so it should
work even if it is broken now.  We need to find out if this ever
worked properly eg in r3472 or r3449

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
In reply to this post by Steve Ratcliffe
Hi Steve,
same problem with r3449 and r3472.
I did a clean svn checkout for both and compiled and copied the jar into my

My options:
--max-jobs --route --bounds=bounds.zip --index --housenumbers --gmapsupp  --x-split-name-index -c template.args
The template.args contains a few tiles in the alps. I've uploaded them to
http://files.mkgmap.org.uk/download/346/split.zip
in case you want to try on your own.

Gerd

________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Sonntag, 9. April 2017 11:52:09
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi

> When I change the code in mdr20 to ignore the additional entries
> produced with the "--x-split-name-index" option the problem seems to
> be solved, I just don't find "Obere Rheingasse" when I search for
> "Rheingasse".

The on device version of mdr20 certainly supports this, so it should
work even if it is broken now.  We need to find out if this ever
worked properly eg in r3472 or r3449

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Steve Ratcliffe
Hi Gerd,

> same problem with r3449 and r3472.

Oh that is a shame.  Does it work if mapsource creates the gmapsupp?

The mdr20 looks similar in either case, although the repeat flags are
incorrect in the mkgmap generated one.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
Hi Steve,

good question.
The street search works but searching for "Rheing" in Switzerland doesn't list "Obere Rheingasse".
The city search is similar, I also don't see "Obere Rheingasse" when I search for  "Rheing" in Feuerthalen.

I do find "Rue de la Concorde" when I search for "Conc" in France and also when I search it in City Huningue in France.

Unfortunately MdrDisplay fails to print the mdr 22 index for the gmapsupp produced by MapSource. It writes a few lines and then an error:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
000abf53 | 000000 | 02                      | 2 map number
         |        |                         | street 0 R
000abf54 | 000001 | 8d                      | flag 141
         |        |                         | Record 2
000abf55 | 000002 | cb                      | 203 map number
         |        |                         | street 0 R
000abf56 | 000003 | 80                      | flag 128
...
000abf6b | 000018 | 01                      | 1 map number
         |        |                         | street 0 R
000abf6c | 000019 | 34                      | flag 52
         |        |                         | Record 14
000abf6d | 00001a | 75                      | 117 map number
Failed in section 22: java.lang.AssertionError: not a map number 117

Similar problem with the gmapsupp produed by r3449:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
0012a419 | 000000 | 03                      | 3 map number
         |        |                         | street 0 R
0012a41a | 000001 | 61                      | flag 97
         |        |                         | Record 2
0012a41b | 000002 | 4b                      | 75 map number
Failed in section 22: java.lang.AssertionError: not a map number 75

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Montag, 10. April 2017 23:13:57
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Gerd,

> same problem with r3449 and r3472.

Oh that is a shame.  Does it work if mapsource creates the gmapsupp?

The mdr20 looks similar in either case, although the repeat flags are
incorrect in the mkgmap generated one.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
Hi Steve,

sorry, maybe I made a mistake while testing.
The search for "Rheing" in Feuerthalen shows a list with "Rheingasse" and "Rheingutstrasse", when I select "Rheingasse" and leave the house number field empty it lists
"Rheingasse 10", "Obere Rheingasse" , "Untere Rheingasse" and "Rheingasse".

The search for "Rheing" in Switzerland (no City) also lists "Rheingasse" and "Rheingutstrasse" , when I select "Rheingasse" and leave house number empty it shows a map with Rheingasse 2 in Basel.
I expected to see a list with all roads named "Rheingasse" (or maybe all roads containing "Rheingasse") in Switzerland, but the device only shows the one in Basel. I am sitting near Bremen, distance to Basel is 598km , distance to Feuerthalen is 580km, so maybe it just selects the first match.

One point that might be interesting: I compare the listing produced by MdrDisplay for the gmapsupp produced by r3449 and the one from MapSource.
I see a much longer list in Mdr17 for r3449.

Gerd

________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Gerd Petermann <[hidden email]>
Gesendet: Dienstag, 11. April 2017 07:56:16
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Steve,

good question.
The street search works but searching for "Rheing" in Switzerland doesn't list "Obere Rheingasse".
The city search is similar, I also don't see "Obere Rheingasse" when I search for  "Rheing" in Feuerthalen.

I do find "Rue de la Concorde" when I search for "Conc" in France and also when I search it in City Huningue in France.

Unfortunately MdrDisplay fails to print the mdr 22 index for the gmapsupp produced by MapSource. It writes a few lines and then an error:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
000abf53 | 000000 | 02                      | 2 map number
         |        |                         | street 0 R
000abf54 | 000001 | 8d                      | flag 141
         |        |                         | Record 2
000abf55 | 000002 | cb                      | 203 map number
         |        |                         | street 0 R
000abf56 | 000003 | 80                      | flag 128
...
000abf6b | 000018 | 01                      | 1 map number
         |        |                         | street 0 R
000abf6c | 000019 | 34                      | flag 52
         |        |                         | Record 14
000abf6d | 00001a | 75                      | 117 map number
Failed in section 22: java.lang.AssertionError: not a map number 117

Similar problem with the gmapsupp produed by r3449:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
0012a419 | 000000 | 03                      | 3 map number
         |        |                         | street 0 R
0012a41a | 000001 | 61                      | flag 97
         |        |                         | Record 2
0012a41b | 000002 | 4b                      | 75 map number
Failed in section 22: java.lang.AssertionError: not a map number 75

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Montag, 10. April 2017 23:13:57
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Gerd,

> same problem with r3449 and r3472.

Oh that is a shame.  Does it work if mapsource creates the gmapsupp?

The mdr20 looks similar in either case, although the repeat flags are
incorrect in the mkgmap generated one.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
Hi Steve,

I just noticed that the gmapsupp produced by MapSource changes a lot when I enable/disable option --x-split-name-index, so it probably calculates the gmapsupp index
based on the index calculated by mkgmap, not from scratch. If that is true it is probably not a good idea to use that as a reference.

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Gerd Petermann <[hidden email]>
Gesendet: Dienstag, 11. April 2017 08:54:19
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Steve,

sorry, maybe I made a mistake while testing.
The search for "Rheing" in Feuerthalen shows a list with "Rheingasse" and "Rheingutstrasse", when I select "Rheingasse" and leave the house number field empty it lists
"Rheingasse 10", "Obere Rheingasse" , "Untere Rheingasse" and "Rheingasse".

The search for "Rheing" in Switzerland (no City) also lists "Rheingasse" and "Rheingutstrasse" , when I select "Rheingasse" and leave house number empty it shows a map with Rheingasse 2 in Basel.
I expected to see a list with all roads named "Rheingasse" (or maybe all roads containing "Rheingasse") in Switzerland, but the device only shows the one in Basel. I am sitting near Bremen, distance to Basel is 598km , distance to Feuerthalen is 580km, so maybe it just selects the first match.

One point that might be interesting: I compare the listing produced by MdrDisplay for the gmapsupp produced by r3449 and the one from MapSource.
I see a much longer list in Mdr17 for r3449.

Gerd

________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Gerd Petermann <[hidden email]>
Gesendet: Dienstag, 11. April 2017 07:56:16
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Steve,

good question.
The street search works but searching for "Rheing" in Switzerland doesn't list "Obere Rheingasse".
The city search is similar, I also don't see "Obere Rheingasse" when I search for  "Rheing" in Feuerthalen.

I do find "Rue de la Concorde" when I search for "Conc" in France and also when I search it in City Huningue in France.

Unfortunately MdrDisplay fails to print the mdr 22 index for the gmapsupp produced by MapSource. It writes a few lines and then an error:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
000abf53 | 000000 | 02                      | 2 map number
         |        |                         | street 0 R
000abf54 | 000001 | 8d                      | flag 141
         |        |                         | Record 2
000abf55 | 000002 | cb                      | 203 map number
         |        |                         | street 0 R
000abf56 | 000003 | 80                      | flag 128
...
000abf6b | 000018 | 01                      | 1 map number
         |        |                         | street 0 R
000abf6c | 000019 | 34                      | flag 52
         |        |                         | Record 14
000abf6d | 00001a | 75                      | 117 map number
Failed in section 22: java.lang.AssertionError: not a map number 117

Similar problem with the gmapsupp produed by r3449:
--------- MDR 22 (streets by country) ------------------------------------------
         |        |                         | Record 1
0012a419 | 000000 | 03                      | 3 map number
         |        |                         | street 0 R
0012a41a | 000001 | 61                      | flag 97
         |        |                         | Record 2
0012a41b | 000002 | 4b                      | 75 map number
Failed in section 22: java.lang.AssertionError: not a map number 75

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Montag, 10. April 2017 23:13:57
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Gerd,

> same problem with r3449 and r3472.

Oh that is a shame.  Does it work if mapsource creates the gmapsupp?

The mdr20 looks similar in either case, although the repeat flags are
incorrect in the mkgmap generated one.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Steve Ratcliffe
In reply to this post by Gerd Petermann
On 11/04/17 07:54, Gerd Petermann wrote:
> One point that might be interesting: I compare the listing produced by MdrDisplay for the gmapsupp produced by r3449 and the one from MapSource.
> I see a much longer list in Mdr17 for r3449.

Oh yes you are right, from a quick look it appears that mkgmap is
ignoring the name offset when creating mdr17 so there are a lot of
extra and out of order entries.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Steve Ratcliffe
In reply to this post by Gerd Petermann
Hi Gerd

> I just noticed that the gmapsupp produced by MapSource changes a lot when I enable/disable option --x-split-name-index, so it probably calculates the gmapsupp index
> based on the index calculated by mkgmap, not from scratch. If that is true it is probably not a good idea to use that as a reference.

It is true that it uses the desktop index to generate the device index,
but it is still useful information because the formats are different
and so it has to calculate those, and some things have to be recalculated
anyway.

So as you noted it appears to be fixing up mdr17, and it also
fixes the repeat flags.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
In reply to this post by Steve Ratcliffe
Hi Steve,

I think that means that mdr17 should only see those mdr7 records which have getNameOffset()==0 ?

BTW: Why do we fill mdr17 when index is created for the PC?
It seems not to be written but requires memory.

Gerd
________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Dienstag, 11. April 2017 10:03:53
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

On 11/04/17 07:54, Gerd Petermann wrote:
> One point that might be interesting: I compare the listing produced by MdrDisplay for the gmapsupp produced by r3449 and the one from MapSource.
> I see a much longer list in Mdr17 for r3449.

Oh yes you are right, from a quick look it appears that mkgmap is
ignoring the name offset when creating mdr17 so there are a lot of
extra and out of order entries.

..Steve
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Steve Ratcliffe
Hi Gerd

> BTW: Why do we fill mdr17 when index is created for the PC?
> It seems not to be written but requires memory.

That's true, it is not used and does not need to be calculated for the
desktop index.

..Steve

_______________________________________________
mkgmap-dev mailing list
[hidden email]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
Reply | Threaded
Open this post in threaded view
|

Re: Address search on device with --x-split-name-index option

Gerd Petermann
Hi Steve,

r3893 creates now the same mdr17 records in gmapsupp  as MapSource when map is created with --x-split-name-index.
Please review my changes in the branch.

I still see one small difference in Mdr 4:
mkgmap writes this entry
00000250 | 000018 | 2a 00 00                | Type 0x2a00.  Unknown 0x0
and MapSource doesn't.
Maybe the sub type 0 is not needed what other subtypes follow?

Gerd


________________________________________
Von: mkgmap-dev <[hidden email]> im Auftrag von Steve Ratcliffe <[hidden email]>
Gesendet: Dienstag, 11. April 2017 10:53:03
An: [hidden email]
Betreff: Re: [mkgmap-dev] Address search on device with --x-split-name-index option

Hi Gerd

> BTW: Why do we fill mdr17 when index is created for the PC?
> It seems not to be written but requires memory.

That's true, it is not used and does not need to be calculated for the
desktop index.

..Steve

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