contour coordinates

Hello,
I am trying to extract the coordinates of contour lines.
I tried the following:
cs = contour(Z)
for lev, col in zip(cs.levels, cs.collections):
s = col._segments
that I found in a previous post (title “contouring”, by Jose Gómez-Dans-2
Nov 30, 2007; 07:47am ) .
I hoped that s will be a list of numpy arrays, each containing the (x,y) vertices
defining a contour line at level lev.
However, I got an error message:
AttributeError: ‘LineCollection’ object has no attribute ‘_segments’
How is it possible to get coordinates of the contours, similar to the MATLAB command
[C,H] = CONTOUR(…)
where the result in C is the coordinates of the contours.

A similar question appeared in a post “contour data” (by Albert Swart
May 17, 2006; 09:42am) but I could not understand the answer.
Is it possible to get more specific directions with a simple example ?

Thanks
Eli

Eli Brosh wrote:

Hello,
I am trying to extract the coordinates of contour lines.
I tried the following:

cs = *contour*(Z)
for lev, col in zip(cs.levels, cs.collections):
     s = col._segments

that I found in a previous post (title "contouring", by Jose Gómez-Dans-2 <http://www.nabble.com/user/UserProfile.jtp?user=30071> Nov 30, 2007; 07:47am ) .

I hoped that s will be a list of numpy arrays, each containing the (x,y) vertices
defining a contour line at level lev.
However, I got an error message:
AttributeError: 'LineCollection' object has no attribute '_segments'

How is it possible to get coordinates of the contours, similar to the MATLAB command
[C,H] = *CONTOUR*(...)
where the result in C is the coordinates of the contours.

A similar question appeared in a post "contour data" (by Albert Swart <http://www.nabble.com/user/UserProfile.jtp?user=382945> May 17, 2006; 09:42am) but I could not understand the answer.
Is it possible to get more specific directions with a simple example ?

Thanks
Eli

Eli: Calling get_paths() on each line collection in CS.collections will return a list of Path objects. From the Path objects, you can get a Nx2 array of vertices from the "vertices" attribute. There are no examples that I know of, but if you get it to do what you want to do, it would be great if you could contribute an example. As you noted, this question has come up several times before.

-Jeff

···

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg

I'm not sure if this is entirely what you (Eli) are looking for, but I
have code that will contour model data on a map and then extract the
lat,lon pairs of all the vertices. If this is what you are looking
for, I'm happy to share what I've done.

-Patrick

···

On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker <jswhit@...146...> wrote:

Eli Brosh wrote:

Hello,
I am trying to extract the coordinates of contour lines.
I tried the following:

cs = *contour*(Z)
for lev, col in zip(cs.levels, cs.collections):
     s = col._segments

that I found in a previous post (title "contouring", by Jose
Gómez-Dans-2 <http://www.nabble.com/user/UserProfile.jtp?user=30071>
Nov 30, 2007; 07:47am ) .

I hoped that s will be a list of numpy arrays, each containing the
(x,y) vertices
defining a contour line at level lev.
However, I got an error message:
AttributeError: 'LineCollection' object has no attribute '_segments'

How is it possible to get coordinates of the contours, similar to the
MATLAB command
[C,H] = *CONTOUR*(...)
where the result in C is the coordinates of the contours.

A similar question appeared in a post "contour data" (by Albert Swart
<http://www.nabble.com/user/UserProfile.jtp?user=382945> May 17, 2006;
09:42am) but I could not understand the answer.
Is it possible to get more specific directions with a simple example ?

Thanks
Eli

Eli: Calling get_paths() on each line collection in CS.collections will
return a list of Path objects. From the Path objects, you can get a Nx2
array of vertices from the "vertices" attribute. There are no examples
that I know of, but if you get it to do what you want to do, it would be
great if you could contribute an example. As you noted, this question
has come up several times before.

-Jeff

--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Patrick Marsh
Graduate Research Assistant
School of Meteorology
University of Oklahoma
http://www.patricktmarsh.com

Many thanks to Jeff and to Patric !
I will try to work along the line suggested by Jeff.
Patric, please send me your code.
I hope to learn from it.

Thanks again,
Eli

···

On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh <patrickmarshwx@…287…> wrote:

On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker <jswhit@…146…> wrote:

Eli Brosh wrote:

Hello,

I am trying to extract the coordinates of contour lines.

I tried the following:

cs = contour(Z)

for lev, col in zip(cs.levels, cs.collections):

 s = col._segments

that I found in a previous post (title “contouring”, by Jose

Gómez-Dans-2 <http://www.nabble.com/user/UserProfile.jtp?user=30071>

Nov 30, 2007; 07:47am ) .

I hoped that s will be a list of numpy arrays, each containing the

(x,y) vertices

defining a contour line at level lev.

However, I got an error message:

AttributeError: ‘LineCollection’ object has no attribute ‘_segments’

How is it possible to get coordinates of the contours, similar to the

MATLAB command

[C,H] = CONTOUR(…)

where the result in C is the coordinates of the contours.

A similar question appeared in a post “contour data” (by Albert Swart

<http://www.nabble.com/user/UserProfile.jtp?user=382945> May 17, 2006;

09:42am) but I could not understand the answer.

Is it possible to get more specific directions with a simple example ?

Thanks

Eli

Eli: Calling get_paths() on each line collection in CS.collections will

return a list of Path objects. From the Path objects, you can get a Nx2

array of vertices from the “vertices” attribute. There are no examples

that I know of, but if you get it to do what you want to do, it would be

great if you could contribute an example. As you noted, this question

has come up several times before.

-Jeff

Jeffrey S. Whitaker Phone : (303)497-6313

Meteorologist FAX : (303)497-6449

NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@…259…

325 Broadway Office : Skaggs Research Cntr 1D-113

Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg


This SF.net email is sponsored by:

SourcForge Community

SourceForge wants to tell your story.

http://p.sf.net/sfu/sf-spreadtheword


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

I’m not sure if this is entirely what you (Eli) are looking for, but I

have code that will contour model data on a map and then extract the

lat,lon pairs of all the vertices. If this is what you are looking

for, I’m happy to share what I’ve done.

-Patrick

Patrick Marsh

Graduate Research Assistant

School of Meteorology

University of Oklahoma

http://www.patricktmarsh.com

Many thanks to Jeff and to Patric !
I will try to work along the line suggested by Jeff.
Patric, please send me your code.
I hope to learn from it.

Thanks again,
Eli

Here is a template that can be used. I use this for meteorological
models, but should work with any gridded file.

import numpy as np
from mpl_toolkits.basemap import Basemap

f = (some gridded file)
X = np.array(grab longitudes from f)
Y = np.array(grab latitudes from f)
field = np.array(grab field to be contoured from f)
map = Basemap(make a Basemap call here)
level = np.arange(minval, maxval, interval)
col = map.contour(X, Y, field, level).collections

for vertex in col[i].get_paths(): # GET THE PATHS FOR THE EACH
CONTOUR BY LOOPING THROUGH CONTOURS
    for vertex in xy.vertices: # ITERATE OVER THE PATH OBJECTS
        x, y = map(vertex[0],vertex[1],inverse=True) # vertex[0]
and now 'x' is the longitude of the vertex and vertex[1] and now 'y'
is the latitude of the vertex

Let me know how this works.

-Patrick

···

On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <ebrosh1@...287...> wrote:

On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh <patrickmarshwx@...287...> > wrote:

On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker <jswhit@...146...> wrote:
> Eli Brosh wrote:
>> Hello,
>> I am trying to extract the coordinates of contour lines.
>> I tried the following:
>>
>> cs = *contour*(Z)
>> for lev, col in zip(cs.levels, cs.collections):
>> s = col._segments
>>
>> that I found in a previous post (title "contouring", by Jose
>> Gómez-Dans-2 <http://www.nabble.com/user/UserProfile.jtp?user=30071>
>> Nov 30, 2007; 07:47am ) .
>>
>> I hoped that s will be a list of numpy arrays, each containing the
>> (x,y) vertices
>> defining a contour line at level lev.
>> However, I got an error message:
>> AttributeError: 'LineCollection' object has no attribute '_segments'
>>
>>
>> How is it possible to get coordinates of the contours, similar to the
>> MATLAB command
>> [C,H] = *CONTOUR*(...)
>> where the result in C is the coordinates of the contours.
>>
>> A similar question appeared in a post "contour data" (by Albert Swart
>> <http://www.nabble.com/user/UserProfile.jtp?user=382945> May 17, 2006;
>> 09:42am) but I could not understand the answer.
>> Is it possible to get more specific directions with a simple example ?
>>
>>
>> Thanks
>> Eli
> Eli: Calling get_paths() on each line collection in CS.collections will
> return a list of Path objects. From the Path objects, you can get a Nx2
> array of vertices from the "vertices" attribute. There are no examples
> that I know of, but if you get it to do what you want to do, it would be
> great if you could contribute an example. As you noted, this question
> has come up several times before.
>
> -Jeff
>
> --
> Jeffrey S. Whitaker Phone : (303)497-6313
> Meteorologist FAX : (303)497-6449
> NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
> 325 Broadway Office : Skaggs Research Cntr 1D-113
> Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
>
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

I'm not sure if this is entirely what you (Eli) are looking for, but I
have code that will contour model data on a map and then extract the
lat,lon pairs of all the vertices. If this is what you are looking
for, I'm happy to share what I've done.

-Patrick

--
Patrick Marsh
Graduate Research Assistant
School of Meteorology
University of Oklahoma
http://www.patricktmarsh.com

--
Patrick Marsh
Graduate Research Assistant
School of Meteorology
University of Oklahoma
http://www.patricktmarsh.com

Hello again,
I finally found the command I was looking for. It is the to_polygons().
Here is what worked :

make a LineCollection of contours

col=contour(X,Y,Z,LevelsNumber).collections

for i in np.arange(0,LevelsNumber,1):
polygoni=col[i].get_paths()[0].to_polygons()[0]
print polygoni

All the vertices in each collections are extracted to the “polygoni”.

Thanks again to Jeff and Patrick !

By the way, I found out that I do not actually need this procedure to achieve may goal
which was to make a contour plot in ternary coordinates.

Eli

···

On Tue, Jan 27, 2009 at 11:08 PM, Patrick Marsh <patrickmarshwx@…287…> wrote:

On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <ebrosh1@…287…> wrote:

Many thanks to Jeff and to Patric !

I will try to work along the line suggested by Jeff.

Patric, please send me your code.

I hope to learn from it.

Thanks again,

Eli

Here is a template that can be used. I use this for meteorological

models, but should work with any gridded file.

import numpy as np

from mpl_toolkits.basemap import Basemap

f = (some gridded file)

X = np.array(grab longitudes from f)

Y = np.array(grab latitudes from f)

field = np.array(grab field to be contoured from f)

map = Basemap(make a Basemap call here)

level = np.arange(minval, maxval, interval)

col = map.contour(X, Y, field, level).collections

for vertex in col[i].get_paths(): # GET THE PATHS FOR THE EACH

CONTOUR BY LOOPING THROUGH CONTOURS

for vertex in xy.vertices:          # ITERATE OVER THE PATH OBJECTS

    x, y = map(vertex[0],vertex[1],inverse=True)       # vertex[0]

and now ‘x’ is the longitude of the vertex and vertex[1] and now ‘y’

is the latitude of the vertex

Let me know how this works.

-Patrick

On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh <patrickmarshwx@…287…> > > > wrote:

On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker <jswhit@…146…> wrote:

Eli Brosh wrote:

Hello,

I am trying to extract the coordinates of contour lines.

I tried the following:

cs = contour(Z)

for lev, col in zip(cs.levels, cs.collections):

 s = col._segments

that I found in a previous post (title “contouring”, by Jose

Gómez-Dans-2 <http://www.nabble.com/user/UserProfile.jtp?user=30071>

Nov 30, 2007; 07:47am ) .

I hoped that s will be a list of numpy arrays, each containing the

(x,y) vertices

defining a contour line at level lev.

However, I got an error message:

AttributeError: ‘LineCollection’ object has no attribute ‘_segments’

How is it possible to get coordinates of the contours, similar to the

MATLAB command

[C,H] = CONTOUR(…)

where the result in C is the coordinates of the contours.

A similar question appeared in a post “contour data” (by Albert Swart

<http://www.nabble.com/user/UserProfile.jtp?user=382945> May 17, 2006;

09:42am) but I could not understand the answer.

Is it possible to get more specific directions with a simple example ?

Thanks

Eli

Eli: Calling get_paths() on each line collection in CS.collections will

return a list of Path objects. From the Path objects, you can get a Nx2

array of vertices from the “vertices” attribute. There are no examples

that I know of, but if you get it to do what you want to do, it would be

great if you could contribute an example. As you noted, this question

has come up several times before.

-Jeff

Jeffrey S. Whitaker Phone : (303)497-6313

Meteorologist FAX : (303)497-6449

NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@…878…259…

325 Broadway Office : Skaggs Research Cntr 1D-113

Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg


This SF.net email is sponsored by:

SourcForge Community

SourceForge wants to tell your story.

http://p.sf.net/sfu/sf-spreadtheword


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

I’m not sure if this is entirely what you (Eli) are looking for, but I

have code that will contour model data on a map and then extract the

lat,lon pairs of all the vertices. If this is what you are looking

for, I’m happy to share what I’ve done.

-Patrick

Patrick Marsh

Graduate Research Assistant

School of Meteorology

University of Oklahoma

http://www.patricktmarsh.com

Patrick Marsh

Graduate Research Assistant

School of Meteorology

University of Oklahoma

http://www.patricktmarsh.com

Hi all,
just a little question : how matplotlib computes contours? Is it based
on an internal library? Is it possible to access it from outside?
Thanks

···

Le vendredi 30 janvier 2009 à 10:22 -0500, Eli Brosh a écrit :

Hello again,
I finally found the command I was looking for. It is the
to_polygons().
Here is what worked :

# make a LineCollection of contours
col=contour(X,Y,Z,LevelsNumber).collections

for i in np.arange(0,LevelsNumber,1):
    polygoni=col[i].get_paths()[0].to_polygons()[0]
    print polygoni

All the vertices in each collections are extracted to the "polygoni".

Thanks again to Jeff and Patrick !

By the way, I found out that I do not actually need this procedure to
achieve may goal
which was to make a contour plot in ternary coordinates.

Eli

On Tue, Jan 27, 2009 at 11:08 PM, Patrick Marsh > <patrickmarshwx@...287...> wrote:
        On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <ebrosh1@...287...> > wrote:
        > Many thanks to Jeff and to Patric !
        > I will try to work along the line suggested by Jeff.
        > Patric, please send me your code.
        > I hope to learn from it.
        >
        > Thanks again,
        > Eli
        
        Here is a template that can be used. I use this for
        meteorological
        models, but should work with any gridded file.
        
        import numpy as np
        from mpl_toolkits.basemap import Basemap
        
        f = (some gridded file)
        X = np.array(grab longitudes from f)
        Y = np.array(grab latitudes from f)
        field = np.array(grab field to be contoured from f)
        map = Basemap(make a Basemap call here)
        level = np.arange(minval, maxval, interval)
        col = map.contour(X, Y, field, level).collections
        
        for vertex in col[i].get_paths(): # GET THE PATHS FOR THE
        EACH
        CONTOUR BY LOOPING THROUGH CONTOURS
           for vertex in xy.vertices: # ITERATE OVER THE PATH
        OBJECTS
               x, y = map(vertex[0],vertex[1],inverse=True) #
        vertex[0]
        and now 'x' is the longitude of the vertex and vertex[1] and
        now 'y'
        is the latitude of the vertex
        
        Let me know how this works.
        
        -Patrick
        
        >
        > On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh > <patrickmarshwx@...287...> > > wrote:
        >>
        >> On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker > <jswhit@...146...> wrote:
        >> > Eli Brosh wrote:
        >> >> Hello,
        >> >> I am trying to extract the coordinates of contour lines.
        >> >> I tried the following:
        >> >>
        >> >> cs = *contour*(Z)
        >> >> for lev, col in zip(cs.levels, cs.collections):
        >> >> s = col._segments
        >> >>
        >> >> that I found in a previous post (title "contouring", by
        Jose
        >> >> Gómez-Dans-2
        <http://www.nabble.com/user/UserProfile.jtp?user=30071>
        >> >> Nov 30, 2007; 07:47am ) .
        >> >>
        >> >> I hoped that s will be a list of numpy arrays, each
        containing the
        >> >> (x,y) vertices
        >> >> defining a contour line at level lev.
        >> >> However, I got an error message:
        >> >> AttributeError: 'LineCollection' object has no attribute
        '_segments'
        >> >>
        >> >>
        >> >> How is it possible to get coordinates of the contours,
        similar to the
        >> >> MATLAB command
        >> >> [C,H] = *CONTOUR*(...)
        >> >> where the result in C is the coordinates of the
        contours.
        >> >>
        >> >> A similar question appeared in a post "contour data" (by
        Albert Swart
        >> >> <http://www.nabble.com/user/UserProfile.jtp?user=382945>
        May 17, 2006;
        >> >> 09:42am) but I could not understand the answer.
        >> >> Is it possible to get more specific directions with a
        simple example ?
        >> >>
        >> >>
        >> >> Thanks
        >> >> Eli
        >> > Eli: Calling get_paths() on each line collection in
        CS.collections will
        >> > return a list of Path objects. From the Path objects,
        you can get a Nx2
        >> > array of vertices from the "vertices" attribute. There
        are no examples
        >> > that I know of, but if you get it to do what you want to
        do, it would be
        >> > great if you could contribute an example. As you noted,
        this question
        >> > has come up several times before.
        >> >
        >> > -Jeff
        >> >
        >> > --
        >> > Jeffrey S. Whitaker Phone : (303)497-6313
        >> > Meteorologist FAX : (303)497-6449
        >> > NOAA/OAR/PSD R/PSD1 Email :
        Jeffrey.S.Whitaker@...259...
        >> > 325 Broadway Office : Skaggs Research Cntr
        1D-113
        >> > Boulder, CO, USA 80303-3328 Web :
        http://tinyurl.com/5telg
        >> >
        >> >
        >> >
        >> >
        >> >
        ------------------------------------------------------------------------------
        >> > This SF.net email is sponsored by:
        >> > SourcForge Community
        >> > SourceForge wants to tell your story.
        >> > http://p.sf.net/sfu/sf-spreadtheword
        >> > _______________________________________________
        >> > Matplotlib-users mailing list
        >> > Matplotlib-users@lists.sourceforge.net
        >> >
        https://lists.sourceforge.net/lists/listinfo/matplotlib-users
        >> >
        >>
        >> I'm not sure if this is entirely what you (Eli) are looking
        for, but I
        >> have code that will contour model data on a map and then
        extract the
        >> lat,lon pairs of all the vertices. If this is what you are
        looking
        >> for, I'm happy to share what I've done.
        >>
        >> -Patrick
        >>
        >> --
        >> Patrick Marsh
        >> Graduate Research Assistant
        >> School of Meteorology
        >> University of Oklahoma
        >> http://www.patricktmarsh.com
        >
        >
        
        --
        
        Patrick Marsh
        Graduate Research Assistant
        School of Meteorology
        University of Oklahoma
        http://www.patricktmarsh.com
        
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Lionel Roubeyrie
chargé d'études
LIMAIR - La Surveillance de l'Air en Limousin
http://www.limair.asso.fr

matplotlib uses some C-based contouring code that began life in GIST. You can see it here:

http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/src/cntr.c?revision=5781&view=markup

It has some limitations, notably around certain donut-shaped contours, and a number of us have made attempts to improve it or replace it with something else suitably licensed, but that's the best we've been able to do for now.

Mike

Lionel Roubeyrie wrote:

···

Hi all,
just a little question : how matplotlib computes contours? Is it based
on an internal library? Is it possible to access it from outside?
Thanks

Le vendredi 30 janvier 2009 à 10:22 -0500, Eli Brosh a écrit :
  

Hello again,
I finally found the command I was looking for. It is the
to_polygons().
Here is what worked :

# make a LineCollection of contours
col=contour(X,Y,Z,LevelsNumber).collections

for i in np.arange(0,LevelsNumber,1):
    polygoni=col[i].get_paths()[0].to_polygons()[0]
    print polygoni

All the vertices in each collections are extracted to the "polygoni".

Thanks again to Jeff and Patrick !

By the way, I found out that I do not actually need this procedure to
achieve may goal which was to make a contour plot in ternary coordinates.

Eli

On Tue, Jan 27, 2009 at 11:08 PM, Patrick Marsh >> <patrickmarshwx@...287...> wrote:
        On Tue, Jan 27, 2009 at 7:16 PM, Eli Brosh <ebrosh1@...287...> >> wrote:
        > Many thanks to Jeff and to Patric !
        > I will try to work along the line suggested by Jeff.
        > Patric, please send me your code.
        > I hope to learn from it.
        >
        > Thanks again,
        > Eli
        
        meteorological
        models, but should work with any gridded file.
        
        from mpl_toolkits.basemap import Basemap
                f = (some gridded file)
        X = np.array(grab longitudes from f)
        Y = np.array(grab latitudes from f)
        field = np.array(grab field to be contoured from f)
        map = Basemap(make a Basemap call here)
        level = np.arange(minval, maxval, interval)
        col = map.contour(X, Y, field, level).collections
                for vertex in col[i].get_paths(): # GET THE PATHS FOR THE
        EACH
        CONTOUR BY LOOPING THROUGH CONTOURS
           for vertex in xy.vertices: # ITERATE OVER THE PATH
        OBJECTS
               x, y = map(vertex[0],vertex[1],inverse=True) #
        vertex[0]
        and now 'x' is the longitude of the vertex and vertex[1] and
        now 'y'
        is the latitude of the vertex
        
                -Patrick
        
        > On Tue, Jan 27, 2009 at 7:09 PM, Patrick Marsh >> <patrickmarshwx@...287...> >> > wrote:
        >>
        >> On Tue, Jan 27, 2009 at 5:33 PM, Jeff Whitaker >> <jswhit@...146...> wrote:
        >> > Eli Brosh wrote:
        >> >> Hello,
        >> >> I am trying to extract the coordinates of contour lines.
        >> >> I tried the following:
        >> >>
        >> >> cs = *contour*(Z)
        >> >> for lev, col in zip(cs.levels, cs.collections):
        >> >> s = col._segments
        >> >>
        >> >> that I found in a previous post (title "contouring", by
        Jose
        >> >> Gómez-Dans-2
        <http://www.nabble.com/user/UserProfile.jtp?user=30071>
        >> >> Nov 30, 2007; 07:47am ) .
        >> >>
        >> >> I hoped that s will be a list of numpy arrays, each
        containing the
        >> >> (x,y) vertices
        >> >> defining a contour line at level lev.
        >> >> However, I got an error message:
        >> >> AttributeError: 'LineCollection' object has no attribute
        '_segments'
        >> >>
        >> >> How is it possible to get coordinates of the contours,
        similar to the
        >> >> MATLAB command
        >> >> [C,H] = *CONTOUR*(...)
        >> >> where the result in C is the coordinates of the
        contours.
        >> >>
        >> >> A similar question appeared in a post "contour data" (by
        Albert Swart
        >> >> <http://www.nabble.com/user/UserProfile.jtp?user=382945>
        May 17, 2006;
        >> >> 09:42am) but I could not understand the answer.
        >> >> Is it possible to get more specific directions with a
        simple example ?
        >> >>
        >> >> Thanks
        >> >> Eli
        >> > Eli: Calling get_paths() on each line collection in
        CS.collections will
        >> > return a list of Path objects. From the Path objects,
        you can get a Nx2
        >> > array of vertices from the "vertices" attribute. There
        are no examples
        >> > that I know of, but if you get it to do what you want to
        do, it would be
        >> > great if you could contribute an example. As you noted,
        this question
        >> > has come up several times before.
        >> >
        >> > -Jeff
        >> >
        >> > --
        >> > Jeffrey S. Whitaker Phone : (303)497-6313
        >> > Meteorologist FAX : (303)497-6449
        >> > NOAA/OAR/PSD R/PSD1 Email :
        Jeffrey.S.Whitaker@...259...
        >> > 325 Broadway Office : Skaggs Research Cntr
        1D-113
        >> > Boulder, CO, USA 80303-3328 Web :
        http://tinyurl.com/5telg
        >> >
        ------------------------------------------------------------------------------
        >> > This SF.net email is sponsored by:
        >> > SourcForge Community
        >> > SourceForge wants to tell your story.
        >> > http://p.sf.net/sfu/sf-spreadtheword
        >> > _______________________________________________
        >> > Matplotlib-users mailing list
        >> > Matplotlib-users@lists.sourceforge.net
        >> >
        https://lists.sourceforge.net/lists/listinfo/matplotlib-users
        >> >
        >>
        >> I'm not sure if this is entirely what you (Eli) are looking
        for, but I
        >> have code that will contour model data on a map and then
        extract the
        >> lat,lon pairs of all the vertices. If this is what you are
        looking
        >> for, I'm happy to share what I've done.
        >>
        >> -Patrick
        >>
        >> --
        >> Patrick Marsh
        >> Graduate Research Assistant
        >> School of Meteorology
        >> University of Oklahoma
        >> http://www.patricktmarsh.com
        >
        
                Patrick Marsh
        Graduate Research Assistant
        School of Meteorology
        University of Oklahoma
        http://www.patricktmarsh.com
        
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
    
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA