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. (
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
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
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
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
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
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
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
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