I would try it in the following manner

1) Take your points and sort them primary by x value, secondary by y  
value, eliminate duplicates
2) Create a linestring from your points, step 1 should assure a valid geometry
3) intersect the linestring with the mulitpolygon, the result can be  
an empty geometry, a linestring or a multilinstring.
4) You need only one loop

Cheers



Quoting Jürgen Jacob <zoid.b...@gmx.de>:

> Hi list,
> I have a question that could be more related to a jts-user list but   
> hopefully someone can help me.
>
> I have two set of Geometry objects (a set of Points and a set of   
> Multipolygons) and I have to check which of them intersect to get   
> the mapping of Polygon->Points.
> geometryObjectA.intersect(geometryObjectB) returns true or false and  
>  the simplest but quite inefficient solution is: two nested loops   
> iterating over both sets and check each pair if it intersects. Since  
>  a point could be intersected by more than polygon (if it lies on a   
> edge or even a vertex) no breaks could be used in the loops. Very   
> inefficient, or?
>
> I'm neither an expert in algorithm optimization nor in jts and   
> geotools libs therefore I'd like to know:
>
> Are there convenience functions in one of them that offer optimized   
> algorithms for interection/union/.. tasks of geometry sets?
>
> If not: What should I do instead of iterating two times over these   
> sets? The Multipolygons are quite complex (>1000 or even >10000   
> vertices and consisting of several polygons). I was thinking of   
> first intersecting the Points with the envelope of the Multipolygons  
>  and only if this matches checking the Multipolygon itself.
> Other optimization ideas?
>
> Barking up the wrong tree?
>
> I was also thinking of storing the MultiPolygons in a (spatial)   
> database, create an index and le the database do the intersection   
> and hope that they have optimized it :-)
>
> Thanks for any help!
> Jürgen
>
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Geotools-gt2-users mailing list
> Geotools-gt2-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



------------------------------------------------------------------------------

_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to