I'm learning the basics of querying a WMTS server. There is a python library to do this but there must've been server side changes, as a query that once worked:
Take the Landsat_WELD_CorrectedReflectance_TrueColor_Global_Annual image. I want to extract a region around some lon, lat. My understanding is that I need to determine the tile matrix, tile row, and tile col containing the lon and lat. For that I need the pixel scale (arcsec probably?) and tile dimensions. First question: where are these data?
I've parsed the GetCapabilities file.
>>> import requests
>>> from xml.etree import ElementTree
>>> xml_url = "https://gibs.earthdata.nasa.gov (/wmts/epsg4326/best/1.0.0/)"
>>> resp = requests.get(xml_url)
>>> xml = ElementTree.fromstring(resp.content)
>>> contents = xml[-2]
>>> layer = contents.findall(".//*[.='Landsat_WELD_CorrectedReflectance_TrueColor_Global_Annual']..")
Section 6.1 of the WMTS implementation standard has that TileMatrixSetLink has most (all?) of the parameters I need to determine which tiles to get. But the GetCapabilities file has only the pixel scale in meters:
Are the metadata supposed to be there?
I have other questions but I'll pose those later.
Still, the Landsat data for tile matrices 5 and above are broken.
- Subject Matter Expert
- Posts: 2
- Joined: Fri Feb 28, 2020 3:43 pm America/New_York
https://gibs.earthdata.nasa.gov/wmts/ep ... image/jpeg
It just so happens that the z/y/x tile you are requesting has no data. We are working a solution presently, though a 404 response may still occur in some instances (e.g. if an invalid date is requested). So, handling 404s is recommended.