logo separator

[mkgmap-dev] Find Address - No cities

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sat Jul 29 20:12:27 BST 2017

Hi Gerd

Quite possibly, or maybe there are limits in the device.

More testing reveals that although my lists of cities and streets
within them appear correctly in Find>Address, it doesn't find anything.

Ticker

On Sat, 2017-07-29 at 17:22 +0000, Gerd Petermann wrote:
> 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
> _______________________________________________
> 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