Re: [JPP-Devel] Improved buffer plugin

2007-09-04 Thread Martin Davis
Thanks for the feedback, Michael & Stefan. I agree, it would be nice to get this into JTS. I don't know that it will be any more performant than your solutions, but at least the API will be standardized, and maybe a clever way to improve performance even further will show up down the road. (

Re: [JPP-Devel] Improved buffer plugin

2007-09-01 Thread Stefan Steiniger
Hei Martin, my algo works as follows: I create a list (initialList) of features/geometries and add them all to a quadtree. I start unioning of one geometry with its neighbours (that are received from the quadtree) until there are no more close ones (i.e. merge candidates). While doing so I del

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Michaƫl Michaud
Hi Martin, The way I optimized the union plugin in OpenJUMP is not as clever as using a quadtree, but it is equivalent in the ideal case of regularly distributed features. I just grouped features in a regular grid which size is computed based on the featurecollection envelope and size (number o

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Martin Davis
Stefan Steiniger wrote: > Yes.. as far as i know JTS has no optimization, but.. > > * I implemented in the mapgen toolbox an union based on attributes that > utilizes the jts quadtree. > Nifty.. What kind of performance improvement did you get? Did this use a cascaded approach? -- Martin

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Martin Davis
Not sure I do see... Either way, if you are doing repeated calls to union(), then this is going to be slow. But maybe you mean that you are *combining* the input geometries in to a single multi-geometry, and then buffering that once? That should be faster, then. Although... for complex inpu

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Stefan Steiniger
ah.. anyway.. thanx Larry! Larry Becker schrieb: > Hi Martin, > > The union operation is implemented by buffering the union of the > input, rather than the union of the input buffered, if you see the > distinction. I was hoping JTS had already optimized this, but from > what you are saying, I

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Stefan Steiniger
Yes.. as far as i know JTS has no optimization, but.. * I implemented in the mapgen toolbox an union based on attributes that utilizes the jts quadtree. * recently Michael improved the JUMP deliverd union to speed up (can't remember how) and added as well an option for unioning only when attrib

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Larry Becker
Hi Martin, The union operation is implemented by buffering the union of the input, rather than the union of the input buffered, if you see the distinction. I was hoping JTS had already optimized this, but from what you are saying, I would guess not. Larry On 8/31/07, Martin Davis <[EMAIL PROT

Re: [JPP-Devel] Improved buffer plugin

2007-08-31 Thread Martin Davis
Cool... I think that one way around the "slow union" problem is to develop a "Cascading Union" function. This will build up a union of multiple geometries by forming them into a tree, and recursively unioning the branches of the tree from the leaves to the root.In theory this should provi