logo separator

[mkgmap-dev] [Patch] Improve boundary splitting

From WanMil wmgcnfg at web.de on Mon May 7 18:31:48 BST 2012

> Hi WanMil,
>
>
>  > Date: Sun, 6 May 2012 20:56:48 +0200
>  > From: wmgcnfg at web.de
>  > To: mkgmap-dev at lists.mkgmap.org.uk
>  > Subject: Re: [mkgmap-dev] [Patch] Improve boundary splitting
>  >
>  > Hi Gerd,
>  >
>  > I decided not to include your patch.
>  > The improvement is done only for the precompilation step. So it affects
>  > only a very few people that precompile the boundaries.
>  > The patch itself adds another conversion step from Area to Shape format.
>  > In my point of view this is the breaking point where the source code
>  > will be no longer maintainable.
>
> I used the Shape superclass because it allows to pass Area and Path2D
> parameters
> without conversion. In my eyes, Area should only be used when we need
> its methods
> like contains or intersect. It is very inefficient when you just want to
> store
> a closed way with double precision that is already known to be not
> self-intersecting.
>
>  >
>  > Before adding some special algorithms to improve performance it is
>  > necessary to overwork the boundary related classes and give them a clean
>  > structure. The current structure is the result of implementing a totally
>  > new function of mkgmap and improving and changing it completely for
>  > performance reasons (with a great result!). Now once it's working there
>  > is the time for some restructuring.
>
> Yes, that's true. The methods are spread over multiple files, and I had
> problems to decide where to put new methods.
> I guess you working on the restructuring to finish the precompiled-sea code?

I started with that. But I don't have very much time at the moment. So 
it will take some time until I have the first good results.

>
>  >
>  > Sorry for that! I hope you understand my reasons.
>
> Yes, sure. I'll continue working on splitter now.

Great! We keep the patch in mind and try to integrate it at a later step.

WanMil

>
> Gerd
>
>  >
>  > WanMil
>  >
>  > > Hi WanMil,
>  > >
>  > > attached is a patch that uses an optimized implementation of the
>  > > Sutherland-Hodgman algorithm
>  > >
>  > > http://en.wikipedia.org/wiki/Sutherland-Hodgeman wikipedia
>  > >
>  > >
>  > > which is much faster than the area.intersect. It is only used to
> create the
>  > > precompiled boundaries.
>  > >
>  > > The improvements depend on the continent, for africa I see 130 secs
> with
>  > > r2272 and 84 secs
>  > > with the patched version. For asia, I see only a small improvement
> of ~ 10%
>  > >
>  > > On my machine, the precompilation of the boundaries is now quite often
>  > > waiting for the disk.
>  > >
>  > > http://gis.19327.n5.nabble.com/file/n5670294/BoundarySplitter.patch
>  > > BoundarySplitter.patch
>  > >
>  > > Gerd
>  > >
>  > > --
>  > > View this message in context:
> http://gis.19327.n5.nabble.com/Patch-Improve-boundary-splitting-tp5670294p5670294.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




More information about the mkgmap-dev mailing list