Re: intersecting polygons [message #29393 is a reply to message #29386] |
Sun, 17 February 2002 17:38  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Jonathan Pearce (jvp10@psu.edu) writes:
> Does anybody know of, or have a routine that could take polygonal
> areas and find the common area between them? Consider the first
> polygon defined by the set of points x1,y1 where x1 and y1 are arrays.
> The second polygon is defined by the set of points x2 and y2. What I
> am looking for is the points where the lines given by x1,y1 and x2,y2
> intersect. Owing to limited time I am wondering if anybody has written
> such a routine, that would return a polygon describing the area common
> to both polygons.
This probably falls under the category of the world's
biggest hack, but I've used it to good effect.
I use POLYFILLV with the two polygons to get a list
of indices (or pixels) that belong to the two polygons.
I then find the intersection of the two sets of pixels
with the SetIntersection program (modified with some
error checking in my real-world program), that you can
find here:
http://www.dfanning.com/tips/set_operations.html
Knowing the pixel "size" allows me to calculate
areas, etc. You can probably use IDLanROI for the
same purpose. It's worked for me, although I don't
make any claims as to its elegance. :-)
Cheers,
David
--
David W. Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|