In [1]:
from owslib.wmts import WebMapTileService
import Image

In [2]:
endpoint='https://services.digitalglobe.com/earthservice/wmtsaccess?connectid=1ad41a7a-2a21-4221-b524-94aa6b63cdf4'
wmts = WebMapTileService(endpoint)

In [3]:
sorted(list(wmts.contents))


Out[3]:
['DigitalGlobe:CrisisEventTileService', 'DigitalGlobe:ImageryTileService']

In [4]:
tile = wmts.gettile(layer='MODIS_Terra_CorrectedReflectance_TrueColor', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
out = open(scratch_file('nasa_modis_terra_truecolour.jpg'), 'wb')
out.write(tile.read())
out.close()


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-4-8647abae10d4> in <module>()
----> 1 tile = wmts.gettile(layer='MODIS_Terra_CorrectedReflectance_TrueColor', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
      2 out = open(scratch_file('nasa_modis_terra_truecolour.jpg'), 'wb')
      3 out.write(tile.read())
      4 out.close()

/home/local/python27_epd/lib/python2.7/site-packages/owslib/wmts.pyc in gettile(self, base_url, layer, style, format, tilematrixset, tilematrix, row, column)
    205         """Request a tile from a WMTS server
    206         """
--> 207         data = self.buildTileRequest(layer, style, format, tilematrixset, tilematrix, row, column)
    208 
    209         if base_url is None:

/home/local/python27_epd/lib/python2.7/site-packages/owslib/wmts.pyc in buildTileRequest(self, layer, style, format, tilematrixset, tilematrix, row, column)
    174             raise ValueError("layer is mandatory (cannot be None)")
    175         if style is None:
--> 176             style = self[layer].styles.keys()[0]
    177         if format is None:
    178             format = self[layer].formats[0]

/home/local/python27_epd/lib/python2.7/site-packages/owslib/wmts.pyc in __getitem__(self, name)
     67             return self.__getattribute__('contents')[name]
     68         else:
---> 69             raise KeyError, "No content named %s" % name
     70 
     71 

KeyError: 'No content named MODIS_Terra_CorrectedReflectance_TrueColor'

In [ ]:
tile = wmts.gettile(layer='MODIS_Terra_CorrectedReflectance_TrueColor', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
wms_image = Image.open(cStringIO.StringIO(tile.read())

In [22]:
from owslib.wmts import WebMapTileService
wmts = WebMapTileService("http://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi")
print wmts.identification.type
print wmts.identification.version
print wmts.identification.title
print str.strip(wmts.identification.abstract)
print wmts.identification.keywords


OGC WMTS
1.0.0
NASA Global Imagery Browse Services for EOSDIS
Near real time imagery from multiple NASA instruments
['World', 'Global']

In [21]:
sorted(list(wmts.contents))


Out[21]:
['AIRS_CO_Total_Column_Day',
 'AIRS_CO_Total_Column_Night',
 'AIRS_Dust_Score',
 'AIRS_Prata_SO2_Index_Day',
 'AIRS_Prata_SO2_Index_Night',
 'AIRS_Precipitation_Day',
 'AIRS_Precipitation_Night',
 'AMSRE_Brightness_Temp_89H_Day',
 'AMSRE_Brightness_Temp_89H_Night',
 'AMSRE_Brightness_Temp_89V_Day',
 'AMSRE_Brightness_Temp_89V_Night',
 'MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE',
 'MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI',
 'MLS_CO_215hPa_Day',
 'MLS_CO_215hPa_Night',
 'MLS_H2O_46hPa_Day',
 'MLS_H2O_46hPa_Night',
 'MLS_HNO3_46hPa_Day',
 'MLS_HNO3_46hPa_Night',
 'MLS_N2O_46hPa_Day',
 'MLS_N2O_46hPa_Night',
 'MLS_O3_46hPa_Day',
 'MLS_O3_46hPa_Night',
 'MLS_SO2_147hPa_Day',
 'MLS_SO2_147hPa_Night',
 'MLS_Temperature_46hPa_Day',
 'MLS_Temperature_46hPa_Night',
 'MODIS_Aqua_Aerosol',
 'MODIS_Aqua_Brightness_Temp_Band31_Day',
 'MODIS_Aqua_Brightness_Temp_Band31_Night',
 'MODIS_Aqua_Chlorophyll_A',
 'MODIS_Aqua_Cloud_Top_Pressure_Day',
 'MODIS_Aqua_Cloud_Top_Pressure_Night',
 'MODIS_Aqua_Cloud_Top_Temp_Day',
 'MODIS_Aqua_Cloud_Top_Temp_Night',
 'MODIS_Aqua_CorrectedReflectance_Bands721',
 'MODIS_Aqua_CorrectedReflectance_TrueColor',
 'MODIS_Aqua_Data_No_Data',
 'MODIS_Aqua_Land_Surface_Temp_Day',
 'MODIS_Aqua_Land_Surface_Temp_Night',
 'MODIS_Aqua_Sea_Ice',
 'MODIS_Aqua_Snow_Cover',
 'MODIS_Aqua_SurfaceReflectance_Bands121',
 'MODIS_Aqua_SurfaceReflectance_Bands143',
 'MODIS_Aqua_SurfaceReflectance_Bands721',
 'MODIS_Aqua_Water_Vapor_5km_Day',
 'MODIS_Aqua_Water_Vapor_5km_Night',
 'MODIS_Combined_Value_Added_AOD',
 'MODIS_Terra_Aerosol',
 'MODIS_Terra_Brightness_Temp_Band31_Day',
 'MODIS_Terra_Brightness_Temp_Band31_Night',
 'MODIS_Terra_Chlorophyll_A',
 'MODIS_Terra_Cloud_Top_Pressure_Day',
 'MODIS_Terra_Cloud_Top_Pressure_Night',
 'MODIS_Terra_Cloud_Top_Temp_Day',
 'MODIS_Terra_Cloud_Top_Temp_Night',
 'MODIS_Terra_CorrectedReflectance_Bands367',
 'MODIS_Terra_CorrectedReflectance_Bands721',
 'MODIS_Terra_CorrectedReflectance_TrueColor',
 'MODIS_Terra_Data_No_Data',
 'MODIS_Terra_Land_Surface_Temp_Day',
 'MODIS_Terra_Land_Surface_Temp_Night',
 'MODIS_Terra_Sea_Ice',
 'MODIS_Terra_Snow_Cover',
 'MODIS_Terra_SurfaceReflectance_Bands121',
 'MODIS_Terra_SurfaceReflectance_Bands143',
 'MODIS_Terra_SurfaceReflectance_Bands721',
 'MODIS_Terra_Water_Vapor_5km_Day',
 'MODIS_Terra_Water_Vapor_5km_Night',
 'MODIS_Water_Mask',
 'OMI_Absorbing_Aerosol_Optical_Depth',
 'OMI_Aerosol_Index',
 'OMI_Aerosol_Optical_Depth',
 'OMI_Cloud_Pressure',
 'OMI_SO2_Lower_Troposphere',
 'OMI_SO2_Middle_Troposphere',
 'OMI_SO2_Planetary_Boundary_Layer',
 'OMI_SO2_Upper_Troposphere_and_Stratosphere',
 'Sea_Surface_Temp_Blended',
 'Sea_Surface_Temp_Infrared',
 'Sea_Surface_Temp_Microwave',
 'VIIRS_CityLights_2012']

In [11]:
tile = wmts.gettile(layer='MODIS_Terra_CorrectedReflectance_TrueColor', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
out = open('nasa_modis_terra_truecolour.jpg', 'wb')
out.write(tile.read())
out.close()

In [9]:
cd /usgs/data2/notebook


/usgs/data2/notebook

In [13]:
a=imread('nasa_modis_terra_truecolour.jpg')

In [14]:
imshow(a)


Out[14]:
<matplotlib.image.AxesImage at 0x3de3050>

In [25]:
from owslib.wmts import WebMapTileService
endpoint='https://services.digitalglobe.com/earthservice/wmtsaccess?connectid=1ad41a7a-2a21-4221-b524-94aa6b63cdf4'
wmts = WebMapTileService(endpoint)
print wmts.identification.type
print wmts.identification.version
print wmts.identification.title
print wmts.identification.keywords


OGC WMTS
1.0.0
DigitalGlobe Web Map Tile Service
[]

In [26]:
sorted(list(wmts.contents))


Out[26]:
['DigitalGlobe:CrisisEventTileService', 'DigitalGlobe:ImageryTileService']

In [29]:
tile = wmts.gettile(layer='DigitalGlobe:ImageryTileService', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
out = open('digitalglobe.jpg', 'wb')
out.write(tile.read())
out.close()


---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-29-97a91330a1ef> in <module>()
----> 1 tile = wmts.gettile(layer='DigitalGlobe:ImageryTileService', tilematrixset='EPSG4326_250m', tilematrix='0', row=0, column=0, format="image/jpeg")
      2 out = open('digitalglobe.jpg', 'wb')
      3 out.write(tile.read())
      4 out.close()

/home/local/python27_epd/lib/python2.7/site-packages/owslib/wmts.pyc in gettile(self, base_url, layer, style, format, tilematrixset, tilematrix, row, column)
    209         if base_url is None:
    210             base_url = self.getOperationByName('GetTile').methods['Get']['url']
--> 211         u = openURL(base_url, data, username = self.username, password = self.password)
    212 
    213         # check for service exceptions, and return

/home/local/python27_epd/lib/python2.7/site-packages/owslib/util.pyc in openURL(url_base, data, method, cookies, username, password, timeout)
    158             raise ServiceException, e.read()
    159         else:
--> 160             raise e
    161     # check for service exceptions without the http header set
    162     if ((u.info().has_key('Content-Type')) and (u.info()['Content-Type'] in ['text/xml', 'application/xml'])):

HTTPError: HTTP Error 500: Internal Server Error

In [ ]: