On 10/16/12 12:29 PM, Jeff Whitaker wrote:
> On 10/16/12 11:20 AM, Rich Signell wrote:
>> Jeff,
>> Yep, that worked!  So here is a working example of OWSlib with
>> Basemap:  http://nbviewer.ipython.org/3900648/
>>
>> I switched the Basemap projection to 'cyl' because we need to ensure
>> that Basemap and WMS are using the same projection, right?  (and since
>> I had requested EPSG:4326 from WMS, that's the 'cyl' in Basemap).
>>
>> Thanks!
>> Rich
> Rich: I took your code and made it into a new example.
>
> https://github.com/matplotlib/basemap/pull/84
>
> I think it may be better not to try to create a wmsimage method, since
> OWSlib.wms.WebMapService is quite a complicated beast to wrap.
>
> -Jeff

Rich: I went ahead and added a wmsimage method to Basemap (similar to 
Klo's implementation) and modified your example to use it.  The extra 
**kwargs are just passed on to OWSLib.wms.WebMapService.getmap.  Please 
add comments to pull request

https://github.com/matplotlib/basemap/pull/84


-Jeff

>> On Tue, Oct 16, 2012 at 11:38 AM, Jeff Whitaker <jsw...@fastmail.fm> wrote:
>>> On 10/16/12 8:48 AM, Rich Signell wrote:
>>>> Klo & Jeff,
>>>>
>>>> I tried making a concrete example of using OWSlib with Basemap, but
>>>> althought the WMS image looks good, the warpimage does not.
>>>>
>>>> http://nbviewer.ipython.org/3899690/
>>>>
>>>> Do you see where I went wrong?
>>>>
>>>> Thanks,
>>>> Rich
>>> Rich:  warpimage assumes the image is of global extent.  In your example, I
>>> think you can just pass the image to the basemap imshow method with
>>>
>>> from matplotlib.image import imread
>>> import urllib2
>>> m.imshow(imread(urllib2.urlopen(url)),origin='upper')
>>>
>>> Klo previously mentioned there might be a problem with the png data from the
>>> WMS server being 'chunked', s you might have to use klo's imshow_chunked
>>> function
>>>
>>> http://www.mail-archive.com/matplotlib-users@lists.sourceforge.net/msg25618.html
>>>
>>>
>>> -Jeff
>>>
>>>> On Sat, Oct 13, 2012 at 7:26 PM, klo uo <klo...@gmail.com> wrote:
>>>>> That's also what that snippet I linked does. You can add it to to Basemap
>>>>> and it should work.
>>>>>
>>>>> However Jeff suggested we use this tiny package OWSlib and handle WMS
>>>>> that
>>>>> way, which is better IMHO, but for some reason we did not got further
>>>>> reply.
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Oct 12, 2012 at 1:31 PM, Rich Signell <rsign...@usgs.gov> wrote:
>>>>>> WMS services are required to respond to  "GetCapabiltiies" request,
>>>>>> reporting what layers, styles, times, elevations, and projections they
>>>>>> have available.  So for example, using the Unidata WMS example below,
>>>>>> if we do:
>>>>>>
>>>>>>
>>>>>>
>>>>>> http://motherlode.ucar.edu:8080/thredds/wms/fmrc/NCEP/NAM/CONUS_12km/NCEP-NAM-CONUS_12km-noaaport_best.ncd?service=WMS&request=GetCapabilities
>>>>>>
>>>>>> we can see from the XML response that the Coordinate Reference Systems
>>>>>> supported are:
>>>>>>
>>>>>> <CRS>EPSG:4326</CRS>
>>>>>> <CRS>CRS:84</CRS>
>>>>>> <CRS>EPSG:41001</CRS>
>>>>>> <CRS>EPSG:3857</CRS>
>>>>>> <CRS>EPSG:27700</CRS>
>>>>>> <CRS>EPSG:3408</CRS>
>>>>>> <CRS>EPSG:3409</CRS>
>>>>>> <CRS>EPSG:32661</CRS>
>>>>>> <CRS>EPSG:32761</CRS>
>>>>>>
>>>>>> And for this server, the supported response types are:
>>>>>> <Format>image/jpeg</Format>
>>>>>> <Format>image/png</Format>
>>>>>> <Format>application/vnd.google-earth.kmz</Format>
>>>>>> <Format>image/gif</Format>
>>>>>>
>>>>>> So I guess one way to proceed if you wanted to use WMS in Matplotlib
>>>>>> and avoid reprojection in python would be to:
>>>>>> 1. do the WMS GetCapabilities request to find the available supported
>>>>>> Coordinate Reference Systems (which will vary with WMS server)
>>>>>> 2. setup Basemap to use one of these CRS
>>>>>> 3. use the bounding box of your current axis (in projection units) as
>>>>>> part of a GetMap request to the WMS.
>>>>>>
>>>>>> -Rich
>>>>>>
>>>>>> On Thu, Oct 11, 2012 at 12:16 AM, klo uo <klo...@gmail.com> wrote:
>>>>>>> I guess that's it?
>>>>>>>
>>>>>>> warpimage() as it is now, checks if passed image is url, so we can add
>>>>>>> additional check if image is url, with urlparse to deduce image
>>>>>>> coordinates
>>>>>>> and projection if present, then overlay it over already created Basemap
>>>>>>> object.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Don't let slow site performance ruin your business. Deploy New Relic
>>>>>>> APM
>>>>>>> Deploy New Relic app performance management and know exactly
>>>>>>> what is happening inside your Ruby, Python, PHP, Java, and .NET app
>>>>>>> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
>>>>>>> http://p.sf.net/sfu/newrelic-dev2dev
>>>>>>> _______________________________________________
>>>>>>> Matplotlib-users mailing list
>>>>>>> Matplotlib-users@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>>>>
>>>>>> --
>>>>>> Dr. Richard P. Signell   (508) 457-2229
>>>>>> USGS, 384 Woods Hole Rd.
>>>>>> Woods Hole, MA 02543-1598
>>
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


-- 
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


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to