On 30 August 2011 18:23, Tijs de Kler <tijs.dek...@sara.nl> wrote:

> Im trying to use the tricontourf function in matplotlib to reduce the
> complexity of an unstructured dataset into contours.
> The resulting contours are retrieved from the path by the to_polygon()
> function, but i have some trouble distinguishing inner boundaries on the
> polygons, while plot.show() clearly doesn't
>
> Using Matplotlib 1.01, and the attached code, I get one level, consisting
> of 2 polygons, where the first is the outer boundary, and the second should
> be the inner boundary.
> The figure shown by show() correctly displays a square with a inner square
> cut-out. However i cannot distinguish between inner and outer boundaries in
> the list of polygons that to_polygon() returns.
>
> Is there a trick how the plot functions distinguish inner boundaries?
> Calculating for each polygon if it is contained in other polygons will
> become complicated with a large number of polygons: As far as i can tell
> this would be checking if the starting point of each polygon is contained in
> any of the other polygons. Is there a simpler method i missed?
>

Matplotlib includes a function to determine if a set of points is within a
polygon, called points_inside_poly.  For an example see
http://matplotlib.sourceforge.net/faq/howto_faq.html#test-whether-a-point-is-inside-a-polygon
That is about as simple as it gets from a user's perspective!

Since you ask about tricks in plot functions, no there aren't any.
Rendering functions don't explicitly determine if a contour polygon is an
inner or outer boundary.  Usually a sweep algorithm is performed across all
points to construct the triangulation of the polygons as it progresses.  You
could extract the inner/outer-ness of each boundary from such an algorithm
but it would be overkill for what you want to do.

Ian Thomas
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to