Paul, thanks so much for that explanation. I appreciate it!

On Mon, Dec 19, 2011 at 9:20 PM, <
matplotlib-users-requ...@lists.sourceforge.net> wrote:

> Send Matplotlib-users mailing list submissions to
>        matplotlib-users@lists.sourceforge.net
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> or, via email, send a message with subject or body 'help' to
>        matplotlib-users-requ...@lists.sourceforge.net
>
> You can reach the person managing the list at
>        matplotlib-users-ow...@lists.sourceforge.net
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Matplotlib-users digest..."
>
>
> Today's Topics:
>
>   1. Re: basemap UTM conversion discrepancy (Jeff Whitaker)
>   2. Re: basemap UTM conversion discrepancy (Stefan Mertl)
>   3. Re: basemap UTM conversion discrepancy (Jeff Whitaker)
>   4. constant spacing with griddata (Brad Malone)
>   5. Re: constant spacing with griddata (Paul Ivanov)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 19 Dec 2011 15:51:47 -0700
> From: Jeff Whitaker <jeffrey.s.whita...@noaa.gov>
> Subject: Re: [Matplotlib-users] basemap UTM conversion discrepancy
> To: i...@stefanmertl.com
> Cc: Matplotlib Users <matplotlib-users@lists.sourceforge.net>
> Message-ID: <4eefc003.8060...@fastmail.fm>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> On 12/19/11 2:23 PM, Stefan Mertl wrote:
> > Hello,
> >
> > I'm starting to use the mpl_toolkits.basemap.pyproj.Proj class to do
> > lon/lat to UTM coordinate conversion.
> > I did some tests and noticed that there is a discrepancy between the
> > mpl_toolkits.basemap.pyproj.Proj output and the proj commandline tool
> > output.
> >
> > e.g.: I'm converting the coordinates lat=48.2; lon=16.5 to UTM
> > coordinates UTM zone 33 with WGS84 ellipse.
> > I'm using the following proj4 string for the conversion:
> > +proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
> >
> > The output using mpl_toolkits.basemap.pyproj.Proj is:
> > x: 611458.865;  y: 5339596.032
> >
> > The proj commandline tool using the same proj4 string gives:
> > x: 611458.69 y: 5339617.54
> >
> > As you can see, the y coordinate differs significantly.
> >
> > Here's the code used with the basemap pyproy classes:
> >
> > --------------------------------------------------
> >
> > from mpl_toolkits.basemap.pyproj import Proj
> >
> > # I got the proj string from
> > # http://spatialreference.org/ref/epsg/32633
> > myProj = Proj("+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m
> > +no_defs")
> >
> > lat = 48.2
> > lon = 16.5
> >
> > (x,y) = myProj(lon, lat)
> >
> > print "x: %.3f; y: %.3f" % (x,y)
> >
> > ---------------------------------------------------
> >
> > Can somebody explain me this behavior?
> >
> > Regards,
> >     Stefan.
> >
> Stefan:
>
> When I run this test, I get the same answer with both, and it is the
> same as the answer basemap.pyproj gave you.  I suspect you didn't
> install the extra datum files with your command-line proj distribution.
>
> -Jeff
>
> --
> Jeffrey S. Whitaker         Phone  : (303)497-6313
> Meteorologist               FAX    : (303)497-6449
> NOAA/OAR/PSD  R/PSD1        Email  : jeffrey.s.whita...@noaa.gov
> 325 Broadway                Office : Skaggs Research Cntr 1D-113
> Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Tue, 20 Dec 2011 00:47:07 +0100
> From: Stefan Mertl <i...@stefanmertl.com>
> Subject: Re: [Matplotlib-users] basemap UTM conversion discrepancy
> To: Jeff Whitaker <jeffrey.s.whita...@noaa.gov>
> Cc: Matplotlib Users <matplotlib-users@lists.sourceforge.net>
> Message-ID: <1324338427.9176.7.camel@hirn>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Jeff,
>
> I'm not an expert in coordinate transformation and the usage of proj, so
> I can't exactly tell you if I have all the datum files installed. If you
> could tell me what files could be missing I could search for them.
>
> What makes me wonder, is that you get the results that my
> mpl_toolkits.basemap.pyproj.Proj usage produced. When using some
> conversion tools on the internet like
> http://home.hiwaay.net/~taylorc/toolbox/geodesy/datumtrans/ or
> http://www.uwgb.edu/dutchs/UsefulData/ConvertUTMNoOZ.HTM
> I get the results that my commandline proj produces.
> So I think that something with my pyproj installation is not working.
>
> Regards,
>   Stefan.
>
> Am Montag, den 19.12.2011, 15:51 -0700 schrieb Jeff Whitaker:
> > On 12/19/11 2:23 PM, Stefan Mertl wrote:
> > > Hello,
> > >
> > > I'm starting to use the mpl_toolkits.basemap.pyproj.Proj class to do
> > > lon/lat to UTM coordinate conversion.
> > > I did some tests and noticed that there is a discrepancy between the
> > > mpl_toolkits.basemap.pyproj.Proj output and the proj commandline tool
> > > output.
> > >
> > > e.g.: I'm converting the coordinates lat=48.2; lon=16.5 to UTM
> > > coordinates UTM zone 33 with WGS84 ellipse.
> > > I'm using the following proj4 string for the conversion:
> > > +proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
> > >
> > > The output using mpl_toolkits.basemap.pyproj.Proj is:
> > > x: 611458.865;  y: 5339596.032
> > >
> > > The proj commandline tool using the same proj4 string gives:
> > > x: 611458.69 y: 5339617.54
> > >
> > > As you can see, the y coordinate differs significantly.
> > >
> > > Here's the code used with the basemap pyproy classes:
> > >
> > > --------------------------------------------------
> > >
> > > from mpl_toolkits.basemap.pyproj import Proj
> > >
> > > # I got the proj string from
> > > # http://spatialreference.org/ref/epsg/32633
> > > myProj = Proj("+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m
> > > +no_defs")
> > >
> > > lat = 48.2
> > > lon = 16.5
> > >
> > > (x,y) = myProj(lon, lat)
> > >
> > > print "x: %.3f; y: %.3f" % (x,y)
> > >
> > > ---------------------------------------------------
> > >
> > > Can somebody explain me this behavior?
> > >
> > > Regards,
> > >     Stefan.
> > >
> > Stefan:
> >
> > When I run this test, I get the same answer with both, and it is the
> > same as the answer basemap.pyproj gave you.  I suspect you didn't
> > install the extra datum files with your command-line proj distribution.
> >
> > -Jeff
> >
>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: not available
> Type: application/pgp-signature
> Size: 490 bytes
> Desc: This is a digitally signed message part
>
> ------------------------------
>
> Message: 3
> Date: Mon, 19 Dec 2011 18:33:10 -0700
> From: Jeff Whitaker <jsw...@fastmail.fm>
> Subject: Re: [Matplotlib-users] basemap UTM conversion discrepancy
> To: i...@stefanmertl.com, matplotlib-users@lists.sourceforge.net
> Message-ID: <4eefe5d6.9010...@fastmail.fm>
> Content-Type: text/plain; charset="iso-8859-1"
>
> On 12/19/11 4:47 PM, Stefan Mertl wrote:
> > Hi Jeff,
> >
> > I'm not an expert in coordinate transformation and the usage of proj, so
> > I can't exactly tell you if I have all the datum files installed. If you
> > could tell me what files could be missing I could search for them.
> >
> > What makes me wonder, is that you get the results that my
> > mpl_toolkits.basemap.pyproj.Proj usage produced. When using some
> > conversion tools on the internet like
> > http://home.hiwaay.net/~taylorc/toolbox/geodesy/datumtrans/ or
> > http://www.uwgb.edu/dutchs/UsefulData/ConvertUTMNoOZ.HTM
> > I get the results that my commandline proj produces.
> > So I think that something with my pyproj installation is not working.
> >
> > Regards,
> >     Stefan.
>
> Stefan: I mis-spoke in my earlier email - the answer I get with pyproj
> is the same as you get with command line proj.  What version of basemap
> do you have installed?
>
> -Jeff
> >
> > Am Montag, den 19.12.2011, 15:51 -0700 schrieb Jeff Whitaker:
> >> On 12/19/11 2:23 PM, Stefan Mertl wrote:
> >>> Hello,
> >>>
> >>> I'm starting to use the mpl_toolkits.basemap.pyproj.Proj class to do
> >>> lon/lat to UTM coordinate conversion.
> >>> I did some tests and noticed that there is a discrepancy between the
> >>> mpl_toolkits.basemap.pyproj.Proj output and the proj commandline tool
> >>> output.
> >>>
> >>> e.g.: I'm converting the coordinates lat=48.2; lon=16.5 to UTM
> >>> coordinates UTM zone 33 with WGS84 ellipse.
> >>> I'm using the following proj4 string for the conversion:
> >>> +proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
> >>>
> >>> The output using mpl_toolkits.basemap.pyproj.Proj is:
> >>> x: 611458.865;  y: 5339596.032
> >>>
> >>> The proj commandline tool using the same proj4 string gives:
> >>> x: 611458.69 y: 5339617.54
> >>>
> >>> As you can see, the y coordinate differs significantly.
> >>>
> >>> Here's the code used with the basemap pyproy classes:
> >>>
> >>> --------------------------------------------------
> >>>
> >>> from mpl_toolkits.basemap.pyproj import Proj
> >>>
> >>> # I got the proj string from
> >>> # http://spatialreference.org/ref/epsg/32633
> >>> myProj = Proj("+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m
> >>> +no_defs")
> >>>
> >>> lat = 48.2
> >>> lon = 16.5
> >>>
> >>> (x,y) = myProj(lon, lat)
> >>>
> >>> print "x: %.3f; y: %.3f" % (x,y)
> >>>
> >>> ---------------------------------------------------
> >>>
> >>> Can somebody explain me this behavior?
> >>>
> >>> Regards,
> >>>      Stefan.
> >>>
> >> Stefan:
> >>
> >> When I run this test, I get the same answer with both, and it is the
> >> same as the answer basemap.pyproj gave you.  I suspect you didn't
> >> install the extra datum files with your command-line proj distribution.
> >>
> >> -Jeff
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Write once. Port to many.
> >> Get the SDK and tools to simplify cross-platform app development. Create
> >> new or port existing apps to sell to consumers worldwide. Explore the
> >> Intel AppUpSM program developer opportunity.
> appdeveloper.intel.com/join
> >> http://p.sf.net/sfu/intel-appdev
> >>
> >>
> >> _______________________________________________
> >> Matplotlib-users mailing list
> >> Matplotlib-users@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 4
> Date: Mon, 19 Dec 2011 19:06:26 -0800
> From: Brad Malone <brad.mal...@gmail.com>
> Subject: [Matplotlib-users] constant spacing with griddata
> To: matplotlib-users@lists.sourceforge.net
> Message-ID:
>        <cagoc2wejbbogdoa0kb1y5ppxnt_kqarekn8wwf7senebgw1...@mail.gmail.com
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi, I am trying to use griddata to interpolate some irregularly spaced data
> onto a linspace-created mesh in order to get a temperature plot.
>
> I've been able to follow this example and it's worked perfectly for me:
>
> http://matplotlib.sourceforge.net/examples/pylab_examples/griddata_demo.html
>
> However, when I do my own data I get an error message that says:
>
> >
> > Traceback (most recent call last):
> >   File "make_colormap.py", line 248, in <module>
> >     zi=griddata(x,y,z,xi,yi,interp='linear')
> >   File "/usr/lib/pymodules/python2.6/matplotlib/mlab.py", line 2579, in
> > griddata
> >     raise ValueError("output grid must have constant spacing"
> > ValueError: output grid must have constant spacing when using
> > interp='linear'
>
>
> Looking into the documentation it seems that this is just suggesting that
> the xi,yi grids to be interpolated on have constant spacing. I don't know
> if this is supposed to be the SAME constant spacing in xi and yi, but it
> appears not to be, since the example above uses the line:
>
> xi = np.linspace(-2.1,2.1,100)
> > yi = np.linspace(-2.1,2.1,200)
>
>
> so one is twice as fine as the other.
>
> However, my code, when I do something like
>
>
>
> > xi=linspace(-20.1,20.1,100)
> > yi=linspace(-20.1,20.1,200)
> > zi=griddata(x,y,z,xi,yi,interp='linear')
> > CS=plt.contourf(xi,yi,zi,15,cmap=plt.cm.jet)
>
>
> it gives me the above error complaining about "constant spacing".
>
> Anyone have an idea what I might be missing here? I can turn interp to 'nn'
> and the code works fine, but I'm just curious what about a "constant
> spaced" output grid I don't understand. Is it even possible to create a
> non-constant spaced output grid with linspace?
>
> Thanks for the help!
>
> Brad
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 5
> Date: Mon, 19 Dec 2011 21:20:11 -0800
> From: Paul Ivanov <pivanov...@gmail.com>
> Subject: Re: [Matplotlib-users] constant spacing with griddata
> To: matplotlib-users@lists.sourceforge.net
> Message-ID: <20111220052011.GA11408@ykcyc>
> Content-Type: text/plain; charset=us-ascii
>
> Hi Brad,
>
> Brad Malone, on 2011-12-19 19:06,  wrote:
> > However, when I do my own data I get an error message that says:
> >
> > > Traceback (most recent call last):
> > >   File "make_colormap.py", line 248, in <module>
> > >     zi=griddata(x,y,z,xi,yi,interp='linear')
> > >   File "/usr/lib/pymodules/python2.6/matplotlib/mlab.py", line 2579, in
> > > griddata
> > >     raise ValueError("output grid must have constant spacing"
> > > ValueError: output grid must have constant spacing when using
> > > interp='linear'
> ...
>
> > However, my code, when I do something like
> >
> > > xi=linspace(-20.1,20.1,100)
> > > yi=linspace(-20.1,20.1,200)
> > > zi=griddata(x,y,z,xi,yi,interp='linear')
> > > CS=plt.contourf(xi,yi,zi,15,cmap=plt.cm.jet)
> >
> >
> > it gives me the above error complaining about "constant spacing".
> >
> > Anyone have an idea what I might be missing here? I can turn interp to
> 'nn'
> > and the code works fine, but I'm just curious what about a "constant
> > spaced" output grid I don't understand. Is it even possible to create a
> > non-constant spaced output grid with linspace?
>
> Looking at the code, it seems to be a floating point issue for
> the way linspace works for the particular values you specified.
> This should work for you, instead:
>
>  xi=np.arange(-20.1,20.1+1e-14, 40.2/99)
>  yi=np.arange(-20.1,20.1+1e-14,40.2/199)
>
> NOTE: neither xi.max() nor yi.max() are "exactly" 20.1, the way
> they were with linspace, nor is xi.max() exactly yi.max(). I say
> "exactly" (in quotes) because when you type in 20.1, the floating point
> number that you get isn't 20.10000000000000000000000000, it's
> more like 20.10000000+change, in ipython, run '%precision 20' to
> see what I mean.
>
> Either the np.linspace or the mpl code likely needs to change,
> because in mpl, the error gets raised when, effectively:
>
>  dx = np.diff(xi)
>  dx.max() - dx.min() > np.finfo(xi.dtype).resolution
>
> and same for yi, which is what happens with the values you
> provided to linspace, due to the way linspace works.
>
> best,
> --
> Paul Ivanov
> 314 address only used for lists,  off-list direct email at:
> http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7
>
>
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
>
> ------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
> End of Matplotlib-users Digest, Vol 67, Issue 30
> ************************************************
>
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to