One way you can speed this up is to use a spatial index on your
processed polygon set. You'll be updating it as you merge polygons, so
it needs to be a Quadtree.
Do you have attributes attached to your polygons? If *not*, then you
could cluster polygons together (ie spatially by proximity) and then use
UnaryUnion to merge them all together at once (ie
GeometryCollection.union()) One way to cluster the polygons is to make
a coarse grid over the extent of the polygons, assign each polygon to
the grid cell containing it's centroid, then take each grid cell group
as a cluster.
Lee Goddard wrote:
I have several million points that compose several thousand polygons,
and I'm outputting KMZ.
The KMZ is about 2MB, and I'm trying to reduce the size by merging
polygons that have adjecent edges, and drop those that are contained
within others.
I have created to arrays of polygons: one of all unprocessed, one
empty. For each unprocessed polygon, I try to compare it the
processed, dropping the unprocessed or merging it, as appropriate.
This seems frr from ideal. This must be a common task, but being new
to JTS and topology in general, I'm not sure if I should be able to
find a method to do this for me, or if I should continue trying to do
it my own way?
Thanks
Lee
_______________________________________________
jts-devel mailing list
jts-devel@lists.jump-project.org
http://lists.refractions.net/mailman/listinfo/jts-devel
--
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022
_______________________________________________
jts-devel mailing list
jts-devel@lists.jump-project.org
http://lists.refractions.net/mailman/listinfo/jts-devel