logo separator

[mkgmap-dev] Find Address - No cities

From Gerd Petermann GPetermann_muenchen at hotmail.com on Sat Jul 29 18:22:33 BST 2017

Hi Tcker,

thanks for the patch. I seem to remember that the number of entries in mdr5 is also used
elsewhere. Will have a closer look tomorrow.

Gerd
________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Samstag, 29. Juli 2017 19:14:02
An: mkgmap-dev at lists.mkgmap.org.uk
Betreff: Re: [mkgmap-dev] Find Address - No cities

Hi Gerd

It looks as if can simply write 1/2/3 bytes as have indicated in the
magic field in the MDR header and I've changed it to do this. All seems
OK.

Yes - I do misuse a City POI. But now, after having worked out how the
MDR20 index works, I might be able to do what I want in a better way.

Attached is patch to write the correct number of bytes.

Regards
Ticker

On Sat, 2017-07-29 at 16:37 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> yes, sounds plausible. The comment seems to say that we don't know
> how to handle so many cities.
> Why do you have so many cities. Do you "abuse" the corresponding POI
> for something?
>
> Gerd
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <ticker at jagIT.co.uk>
> Gesendet: Samstag, 29. Juli 2017 18:13:20
> An: mkgmap-dev at lists.mkgmap.org.uk
> Betreff: Re: [mkgmap-dev] Find Address - No cities
>
> Hi Gerd
>
> I think I've found the problem:
>
> /src/uk/me/parabola/imgfmt/app/mdr/Mdr5.java line 227
>
>         private void putLocalCityIndex(ImgFileWriter writer, int
> cityIndex) {
>                 if (localCitySize == 2)
>                 // 3 probably not possible in actual maps.
>                         writer.putChar((char) cityIndex);
>                 else
>                         writer.put((byte) cityIndex);
>         }
>
> There were more than 63335 cities in the failing map.
>
> Ticker
>
>
> On Sat, 2017-07-29 at 16:09 +0100, Ticker Berkin wrote:
> > Hi Gerd
> >
> > I've done a bit of investigation and debugging. It seems to be
> > building
> > the indexes with enough cities and streets. MDR20 is the suspect
> > index.
> >
> > I'm now experimenting with mkgmap / Display
> >
> > With just the suspect map built in gmapsupp:
> >
> > $ ... test.ExtractFile gmapsupp.img
> > filter[]
> > Copying .               65024
> > Copying MAKEGMAP.MPS    78
> > Copying 74440044.RGN    4154927
> > Copying 74440044.TRE    18772
> > Copying 74440044.LBL    2174485
> > Copying 74440044.NET    1626350
> > Copying 74440044.NOD    3566829
> > Copying 00007444.MDR    2979295
> > Copying 00007444.SRT    912
> >
> > $ ... test.display.MdrSummary 00007444.MDR
> > initial values    7    2    e
> > MDR 1  NR=1     (000001) RS=4  magic=0x0
> > MDR 4  NR=101   (000065) RS=3  magic=0x0
> > MDR 5  NR=54456 (00d4b8) RS=9  magic=0x152
> > MDR 6  NR=4039  (000fc7) RS=3  magic=0x1
> > MDR 7  NR=17674 (00450a) RS=6  magic=0x66
> > MDR 9  NR=11    (00000b) RS=4  magic=0x0
> > MDR 10 DataSize=427616   (00068660) magic=0x0
> > MDR 11 NR=106904(01a198) RS=10 magic=0x95
> > MDR 12 NR=11    (00000b) RS=7  magic=0x40a
> > MDR 17 DataSize=111036   (0001b1bc) magic=0x0
> > MDR 18 NR=102   (000066) RS=5  magic=0x6
> > MDR 19 NR=106904(01a198) RS=3  magic=0x2
> > MDR 20 NR=20389 (004fa5) RS=6  magic=0xe
> > MDR 22 NR=18117 (0046c5) RS=6  magic=0xc000e
> > MDR 24 NR=2     (000002) RS=6  magic=0x0
> > MDR 25 NR=70016 (011180) RS=3  magic=0x0
> > MDR 29 NR=2     (000002) RS=8  magic=0x26
> >
> > seems fine but
> >
> > $ ... test.display.MdrCheck 00007444.MDR
> > ---------- 00007444.MDR --------------------
> > EXTRA
> > remaining {}
> > # reading 74440044
> > mdr5 check
> > Exception in thread "main" java.lang.IndexOutOfBoundsException:
> > Index:
> > 308736, Size: 70018
> >         at java.util.ArrayList.rangeCheck(ArrayList.java:653)
> >         at java.util.ArrayList.get(ArrayList.java:429)
> >         at
> > test.display.check.MapDetails.getCity(MapDetails.java:188)
> >         at test.display.MdrCheck.check5(MdrCheck.java:282)
> >         at test.display.MdrCheck.print(MdrCheck.java:87)
> >         at
> > test.display.CommonDisplay.display(CommonDisplay.java:171)
> >         at
> > test.display.CommonDisplay.display(CommonDisplay.java:196)
> >         at test.check.CommonCheck.runMain(CommonCheck.java:145)
> >         at test.display.MdrCheck.main(MdrCheck.java:1789)
> > + exit
> >
> > On another map from the split this runs OK, producing masses of
> > output:
> >
> > $ ... test.display.MdrCheck 00007429.MDR
> > ---------- 00007429.MDR --------------------
> > EXTRA
> > remaining {}
> > # reading 74290047
> > ERROR: map 1: city 1: no name; index 1
> > mdr5 check
> > 1 map1; ABBEY WOOD mapCity=2 reg=0 (LONDON) country=0 (UNITED
> > KINGDOM^]GBR) ind20=0 rep=false
> > 2 map1; ABRIDGE mapCity=3 reg=0 (ESSEX) country=0 (UNITED
> > KINGDOM^]GBR)
> > ind20=0 rep=false
> > ... 87000 more lines ...
> >
> >
> > Do you think mkgmap:Display is finding a real problem and I should
> > pursue this line, or could it be unreliable and this exception is
> > due
> > to it rather than the format of the index?
> >
> > Thanks
> > Ticker
> >
> > On Wed, 2017-07-26 at 23:42 -0700, Gerd Petermann wrote:
> > > Ticker Berkin wrote
> > > > With a particular split of 'british-isles', one map from the
> > > > split
> > > > causes the list of cities in the Find>Address function to be
> > > > empty.
> > >
> > > Maybe you have the same problem here which I described for road
> > > name search when road names contain special characters. In your
> > > case
> > > this would mean special characters in the citiy names.
> > > I suggest to add debug code in
> > > uk.me.parabola.imgfmt.app.mdr.Mdr5.writeSectData(ImgFileWriter
> > > writer)
> > > to print all city names which are written to the global index.
> > >
> > > Gerd
> > >
> > >
> > >
> > > --
> > > View this message in context:
> > > http://gis.19327.n8.nabble.com/Find-Add
> > > ress-No-cities-tp5899775p5899880.html
> > > Sent from the Mkgmap Development mailing list archive at
> > > Nabble.com.
> > > _______________________________________________
> > > mkgmap-dev mailing list
> > > mkgmap-dev at lists.mkgmap.org.uk
> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev at lists.mkgmap.org.uk
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list