logo separator

[mkgmap-dev] Find Address - No cities

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sat Jul 29 16:09:03 BST 2017

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


More information about the mkgmap-dev mailing list