
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@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev