[mkgmap-dev] Find Address - No cities
From Ticker Berkin rwb-mkgmap at jagit.co.uk on Thu Aug 3 10:11:28 BST 2017
Hi Gerd I introduced them as methods to be used where unsigned bytes/words need to be written and the range verified with an assertion, rather than (byte)/(char) casts in the main code that simply discard the unwanted bytes. Almost all put()/putChar() in imgfmt/* should use these new methods, but I didn't want to make excess changes while solving the city... problem. Maybe the names of these, which I chose to match existing put3() and the names in ImageFileReader - where different methods are really required for signed and unsigned - should be made consistent. Regards Ticker On Thu, 2017-08-03 at 08:38 +0000, Gerd Petermann wrote: > Hi Ticker, > > thanks. Please review: > You introduced new methods put1 and put2 in Interface ImgFileWriter > and SectionWriter implements them but I don't find where they are > used. > > Gerd > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > von Ticker Berkin <ticker at jagIT.co.uk> > Gesendet: Donnerstag, 3. August 2017 10:07:30 > An: mkgmap-dev at lists.mkgmap.org.uk > Betreff: Re: [mkgmap-dev] Find Address - No cities > > Hi Gerd > > Sorry - I did do "ant test", but this doesn't detect the missing > methods unless attempt made to call then. > > New patch attached - I noticed that some of the new method comments > where not quite correct so I've improved these. > > Regards > Ticker > > On Thu, 2017-08-03 at 05:15 +0000, Gerd Petermann wrote: > > Hi Ticker, > > > > sounds good, but I cannot compile: > > ant clean test > > gives > > build-test: > > [mkdir] Created dir: D:\mkgmap\build\test > > [javac] Compiling 73 source files to D:\mkgmap\build\test > > [javac] D:\mkgmap\test\func\lib\ArrayImgWriter.java:26: error: > > ArrayImgWriter is not abstract and does not override abstract > > method > > putN(int,int) in ImgFileWriter > > [javac] public class ArrayImgWriter implements ImgFileWriter { > > [javac] ^ > > [javac] 1 error > > > > ciao, > > Gerd > > ________________________________________ > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag > > von Ticker Berkin <rwb-mkgmap at jagit.co.uk> > > Gesendet: Dienstag, 1. August 2017 14:31:57 > > An: mkgmap-dev at lists.mkgmap.org.uk > > Betreff: Re: [mkgmap-dev] Find Address - No cities > > > > Hi Gerd > > > > I decided to both fix the code and put out a warning message if > > there > > are structures that switch to 3 byte pointers (zips, highways and > > exit > > facilities as well as cities) > > > > Address search now works when there are > 65535 cities. > > > > The code is a lot tidier - I've done it properly and it gets rid of > > lots of messy bits of in-line testing against sizes > 255 etc. > > > > Ticker > > > > > > On Mon, 2017-07-31 at 13:12 +0000, Gerd Petermann wrote: > > > Hi Tcker, > > > > > > yes, good enough. I also thought about this alternative. > > > > > > Gerd > > > > > > > > > ________________________________________ > > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im > > > Auftrag > > > von Ticker Berkin <rwb-mkgmap at jagit.co.uk> > > > Gesendet: Montag, 31. Juli 2017 13:09:49 > > > An: mkgmap-dev at lists.mkgmap.org.uk > > > Betreff: Re: [mkgmap-dev] Find Address - No cities > > > > > > Hi Gerd > > > > > > I started fixing all the places where there is an assumption > > > about > > > the > > > number of cities (and zips) being < 65535 and I'm only part way > > > through > > > my list of suspect files and have make a lot of changes so far. > > > > > > I'm thinking it is not worth while because: > > > > > > The overall MDR size jumps because all city entries change to 3 > > > bytes. > > > I get a smaller GMAPSUPP by increasing the splitting so that it > > > stays > > > in the 2 byte limit. > > > > > > I might miss some subtle coding of the header flags and/or the > > > input/output. > > > > > > It might not work anyway after I've made all the changes. > > > > > > The changes are a bit messy because I've just hacked each problem > > > area > > > with a fix. Really there should be some utility functions, > > > enhancements > > > to the readers/writers and pointerSize variables in the relevant > > > classes. > > > > > > I propose just to signal an error in individual maps when the > > > exceed > > > the limit > > > > > > What do you think? > > > > > > Regards > > > Ticker > > > > > > On Sun, 2017-07-30 at 10:16 +0100, Ticker Berkin wrote: > > > > Hi Gerd > > > > > > > > I'll just done a bit more investigation and see what seems to > > > > be > > > > the > > > > the same assumption in imgfmt/app/net/RoadDef.java around line > > > > 296 > > > > if(numCities > 255) > > > > > > > > writer.putChar(cityIndex); > > > > else > > > > > > > > writer.put((byte)cityIndex); > > > > > > > > I'll fix and test tomorrow and if there are still have problems > > > > I'll > > > > assemble the problem map, style etc for you > > > > > > > > Thanks > > > > Ticker > > > > > > > > On Sun, 2017-07-30 at 06:33 +0000, Gerd Petermann wrote: > > > > > Hi Ticker, > > > > > > > > > > hmm, I think the patch looks good and I have no idea why the > > > > > search > > > > > doesn't work > > > > > for you. Yesterday I thought the patch handles the overall > > > > > number > > > > > of > > > > > cities in the gmapsupp, > > > > > but it is about the number of cities in a single map tile. > > > > > Maybe there is another problem caused by the high number of > > > > > cities. > > > > > Maybe you can post a link to the tile with > > > > > that high number? > > > > > > > > > > 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 21:12:27 > > > > > An: mkgmap-dev at lists.mkgmap.org.uk > > > > > Betreff: Re: [mkgmap-dev] Find Address - No cities > > > > > > > > > > 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:1 > > > > > > > > 88 > > > > > > > > ) > > > > > > > > at > > > > > > > > test.display.MdrCheck.check5(MdrCheck.java:282) > > > > > > > > at > > > > > > > > test.display.MdrCheck.print(MdrCheck.java:87) > > > > > > > > at > > > > > > > > test.display.CommonDisplay.display(CommonDisplay.java:1 > > > > > > > > 71 > > > > > > > > ) > > > > > > > > at > > > > > > > > test.display.CommonDisplay.display(CommonDisplay.java:1 > > > > > > > > 96 > > > > > > > > ) > > > > > > > > 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(ImgF > > > > > > > > > il > > > > > > > > > eW > > > > > > > > > ri > > > > > > > > > te > > > > > > > > > r > > > > > > > > > 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 > > > > > _______________________________________________ > > > > > 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 > > _______________________________________________ > > 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
- Previous message: [mkgmap-dev] Find Address - No cities
- Next message: [mkgmap-dev] Find Address - No cities
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list