[mkgmap-dev] [Patch V1] Subdivision width is 36627 at 3230916/1236133
From WanMil wmgcnfg at web.de on Thu May 3 22:53:18 BST 2012
Hi Gerd, > Hi WanMil, > > > Date: Thu, 3 May 2012 22:10:57 +0200 > > From: wmgcnfg at web.de > > To: mkgmap-dev at lists.mkgmap.org.uk > > Subject: Re: [mkgmap-dev] [Patch V1] Subdivision width is 36627 at > 3230916/1236133 > > > > Ok, I missed that the split routine is called only if the maxdimension > > is larger than max width/height. > > > > Why do you use maxSize-MapSplitter.MIN_AREA_DIMENSION(10) as max > dimension? > > I think any large value smaller than maxSize will work. There is no good > reason to use this constant, I forgot to remove it > when I tried to create a test case for the problem described in your > picture. I failed to create such a case, but I think it is > possible to hit that case, and my patch doesn't solve it. Ok, 10 sounds like a reasonable value to subtract from the maxSize. I am not 100% sure if the test case I have drawn really fails. It's only a good guess with a reasonable knowledge of the source code. And I think using two bounds for the subdivision (bounds and fullbounds) is a potential problem. I am also not sure if your patch fixes that already for all cases. Mmh, "I am not sure" seems to be a common sentence when handling with subdivisions... Anyhow the bugfix for the LineSizeSplitterFilter is a good catch and will reduce the number of subdivision problems. WanMil > > Gerd > > > > > WanMil > > > > > Hi WanMil, > > > > > > makeSplittable is called very seldom, and the number of points is > typically > > > also small, > > > so performance really doesn't matter here (at least not with my > test cases). > > > I did not want to modify the points of the original MapLine object > to avoid > > > side effects. > > > I did also want to avoid complex calculations for the new points, so I > > > simply always add one > > > new point in the middle of the existing ones. > > > > > > Adding the calculated points to the List coords that is used to > create the > > > new MapLine > > > objects might be an option, but I did not find a simple way to > handle the > > > loop control for > > > cases where we have to add multiple points. > > > > > > So, in short, I didn't find a better solution. > > > > > > Regarding the other changes in the patch: > > > I agree that the code is complex, but I did not see a reason for a > complete > > > rework. > > > > > > Gerd > > > > > > > > > > > > > > > WanMil wrote > > >> > > >> Hi Gerd, > > >> > > >> the LineSizeSplitterFilter patch is a good idea. After reading the > code > > >> I am not sure if the other changes work for all situations (just > because > > >> the things are quite complex there). I think I will wait for at least > > >> one week if someone complains... > > >> > > >> Anyhow I want you as our performance guy to have a look on the > > >> LineSizeSplitterFilter :-) makeSplittable always copies all points > > >> although it changes them in very rare cases. > > >> Can you check (and implement) the following approach? > > >> ListIterator<Coord> iter = points.listIterator(); > > >> Check all subsequent points. If maxWidth or maxHeight is exceeded > > >> calculate the number of points that must be added (something like int > > >> split = Math.max(realWith/maxWidth, realHeigh/maxHeight)) > > >> Go back one point in the list iterator and add the additional > points to > > >> the list iterator. > > >> > > >> WanMil > > >> > > >>> Hi all, > > >>> > > >>> attached is a corrected version of the patch. Please note the > change in > > >>> the > > >>> logger initialisation for > > >>> LineSizeSplitterFilter. I guess the old code was not intended. > > >>> > > >>> Gerd > > >>> > http://gis.19327.n5.nabble.com/file/n5680163/subdivision_width_v2.patch > > >>> subdivision_width_v2.patch > > >>> > > >>> > > >>> GerdP wrote > > >>>> > > >>>> Hi Marko, > > >>>> > > >>>> unfortunately it produces new errors for a tile in south-america > which > > >>>> wasn't in my test data yesterday, so it should not be used yet :-( > > >>>> > > >>>> Gerd > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> Marko Mäkelä wrote > > >>>>> > > >>>>> Hi Gerd, > > >>>>> > > >>>>>> > http://gis.19327.n5.nabble.com/file/n5672934/subdivision_width_v1.patch > > >>>>> > > >>>>> Thanks, this removed the message. I did not test the resulting > map yet, > > >>>>> but I will do that when downloading and compiling the next map > extract. > > >>>>> > > >>>>> Marko > > >>>>> _______________________________________________ > > >>>>> mkgmap-dev mailing list > > >>>>> mkgmap-dev at .org > > >>>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > >>>>> > > >>>> > > >>> > > >>> > > >>> -- > > >>> View this message in context: > > >>> > http://gis.19327.n5.nabble.com/Patch-V1-Subdivision-width-is-36627-at-3230916-1236133-tp5672934p5680163.html > > >>> Sent from the Mkgmap Development mailing list archive at Nabble.com. > > >>> _______________________________________________ > > >>> mkgmap-dev mailing list > > >>> mkgmap-dev at .org > > >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > >> > > >> _______________________________________________ > > >> mkgmap-dev mailing list > > >> mkgmap-dev at .org > > >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > >> > > > > > > > > > -- > > > View this message in context: > http://gis.19327.n5.nabble.com/Patch-V1-Subdivision-width-is-36627-at-3230916-1236133-tp5672934p5682325.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
- Previous message: [mkgmap-dev] [Patch V1] Subdivision width is 36627 at 3230916/1236133
- Next message: [mkgmap-dev] [Patch V1] Subdivision width is 36627 at 3230916/1236133
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list