404
+ +Page not found
+ + +diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..a12b85a --- /dev/null +++ b/404.html @@ -0,0 +1,172 @@ + + + +
+ + + + + + +Page not found
+ + +GIBS visualization layer identifiers follow a human-readable convention (e.g. MODIS_Terra_Aerosol_Optical_Depth_v6_STD) to simplify situations where manual parsing of service documentation (e.g. WMTS GetCapabilities) is performed. Identifiers include uniquely identifying information like the following items:
+The following are examples of visualization identifiers for the "Aerosol Optical Depth" science parameter collected by the MODIS instrument on the Terra platform. In this example, visualization layers exist for a combination of data versions and latencies. The first item is considered the "Best Available" layer, which is described further in the following section.
+Visualizations representing the same science parameter from a specific instrument and platform may be available for multiple data versions and/or latencies. Direct access to those various flavors of the same visualization are available. However, many users may simply want to interact with a single, combined, visualization. Therefore, GIBS provides a set of "Best Available" visualization layers that abstract away the individual versions and latencies. The determination of what is considered "best" is coordinated with each visualization's provider. In most cases, the following priority is used:
+See the image above for a visual example. The top four bars show the temporal coverage of related visualizations. The bottom bar shows the visualization that will be returned based on the "best available" determination.
+The HTTP/1.1 specification limits the number of concurrent requests from a browser to the same server based on domain. When loading multiple map tiles in a user interface, this limitation results in a sub-optimal interaction. The common workaround is to employ "domain sharding", which splits content across multiple subdomains. By doing so, browsers can download resources simultaneously, thus increasing the number of tiles loaded and improving the user experience. The HTTP/2 specification removed the limitation by allowing a browser to issue multiple simultaneous requests across a single connection. Thus eliminating the need for domain sharding.
+At present, GIBS infrastruction does not support HTTP/2 connections. Instead, clients must still utilize the HTTP/1.1 domain sharding approach to simultaneously download multiple tiles. The available subdomains for the GIBS system are listed below:
+Note that these are simply aliases for the https://gibs.earthdata.nasa.gov domain.
+GIBS visualizations are fundamentally a set of pre-generated raster or vector tiles that comply with a known gridding structure and resolution (a.k.a. "TileMatrixSet"). These tiles are made available through tiled services (e.g. WMTS and TWMS) or non-tiled services (e.g. WMS). The latter reads the native tiles and then slices and stitches as needed to create the requested output. When developing visualizations, GIBS coordinates with the data owners to determine the "appropriate" resolution.
+The following subsections provide details regarding each projection's supported resolutions:
+Resolution (per pixel) | +Tile Matrix Set (WMTS) | +# Zoom Levels | +Max Resolution (deg/pixel) | +Min Resolution (deg/pixel) | +
---|---|---|---|---|
15.125m | +15.125m | +13 | +0.5625 | +0.0001373291015625 | +
31.25m | +31.25m | +12 | +0.5625 | +0.000274658203125 | +
250m | +250m | +9 | +0.5625 | +0.002197265625 | +
500m | +500m | +8 | +0.5625 | +0.00439453125 | +
1km | +1km | +7 | +0.5625 | +0.0087890625 | +
2km | +2km | +6 | +0.5625 | +0.017578125 | +
Resolution (per pixel) | +Tile Matrix Set (WMTS) | +# Zoom Levels | +Max Resolution (deg/pixel) | +Min Resolution (deg/pixel) | +
---|---|---|---|---|
250m | +250m | +6 | +8192.0 | +256.0 | +
500m | +500m | +5 | +8192.0 | +512.0 | +
1km | +1km | +4 | +8192.0 | +1024.0 | +
2km | +2km | +3 | +8192.0 | +2048.0 | +
Resolution (per pixel) | +Tile Matrix Set (WMTS) | +# Zoom Levels | +Max Resolution (deg/pixel) | +Min Resolution (deg/pixel) | +
---|---|---|---|---|
250m | +250m | +6 | +8192.0 | +256.0 | +
500m | +500m | +5 | +8192.0 | +512.0 | +
1km | +1km | +4 | +8192.0 | +1024.0 | +
2km | +2km | +3 | +8192.0 | +2048.0 | +
Note
+GIBS does not store visualizations in this projection. Instead, tiles are reprojected on-the-fly from Geographic (EPSG:4326) sources.
+Resolution (per pixel) | +Tile Matrix Set (WMTS) | +# Zoom Levels | +Max Resolution (deg/pixel) | +Min Resolution (deg/pixel) | +
---|---|---|---|---|
19.10925707129405m | +GoogleMapsCompatible_Level13 | +13 | +156543.03390625 | +19.10925707129405 | +
38.21851414258810m | +GoogleMapsCompatible_Level12 | +12 | +156543.03390625 | +38.21851414258810 | +
305.7481131407048m | +GoogleMapsCompatible_Level9 | +9 | +156543.03390625 | +305.7481131407048 | +
611.4962262814100m | +GoogleMapsCompatible_Level8 | +8 | +156543.03390625 | +611.4962262814100 | +
1222.992452562820m | +GoogleMapsCompatible_Level7 | +7 | +156543.03390625 | +1222.992452562820 | +
2445.984905125640m | +GoogleMapsCompatible_Level6 | +6 | +156543.03390625 | +2445.984905125640 | +
Visualizations of scientific parameters (See Visualization Categories) are generated by mapping data values, or value ranges, to specific RGB values. These scientific parameters represent data from one of the following categories:
+Clearly documenting the data value(s) and an RGB value is essential to correctly generate and interpret these visualizations. To accomplish this, the "GIBS Colormap" specification was developed and is utilized to guide the creation and use of "GIBS Colormaps". The following sections provide information regarding the specification, how the GIBS Colormaps are accessed, and various examples.
+The GIBS Colormap specification guides the creation of GIBS Colormap XML documents that comply with an (XML Schema). Each XML document contains the information required to map data values and RGB colors in a raster visualization. The necessary information required to generate a legend graphic representation of the mapping is also provided. See below for the fields included in each of these content area's entries.
+Note
+The terms "Colormap entry" and "Legend entry" are used to identify individual entries within the data-to-rgb value mapping and legend XML elements, respectively.
+Data To RGB Value Mapping
+Legend Representation
+ref
values (see above) to which the Legend entry is associated.A raster visualization's GIBS Colormap XML document is associated to a GIBS visualiation as Layer/ows:Metadata
elements within the WMTS Capabilities document. The following snippet shows an example of how these elements will appear. Note that there are three entries listed. One is for the "default" file and the other two are for versioned (e.g. 1.3
) files. This allows for the addition of future versions while retaining support for previous versions. Case in point, the v1.0
version is referenced to support legacy functionality. Whereas 1.3
is the most recent, and default, version to be used.
<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/colormap"
+ xlink:href="https://gibs.earthdata.nasa.gov/colormaps/v1.3/AMSRE_Surface_Rain_Rate_Day.xml"
+ xlink:title="GIBS Color Map: Data - RGB Mapping"/>
+
+<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/colormap/1.0"
+ xlink:href="https://gibs.earthdata.nasa.gov/colormaps/v1.0/AMSRE_Surface_Rain_Rate_Day.xml"
+ xlink:title="GIBS Color Map: Data - RGB Mapping"/>
+
+<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/colormap/1.3"
+ xlink:href="https://gibs.earthdata.nasa.gov/colormaps/v1.3/AMSRE_Surface_Rain_Rate_Day.xml"
+ xlink:title="GIBS Color Map: Data - RGB Mapping"/>
+
+As described previously, each GIBS Colormap XML document contains the information required (e.g. labels and tick marks) to generate a legend graphic image. Visualization clients may utilize this information to generate their own legend images, if desired. However, for ease of access, the GIBS system provides the following pre-generated legend images for each GIBS Colormap XML document.
+Format | +Orientation | +Sample URL | +Sample Image | +
---|---|---|---|
PNG | +Horizontal | +link | ++ |
SVG | +Horizontal | +link | ++ |
SVG | +Vertical | +link | ++ |
These pre-generated legends are referenced in the WMTS and WMS Capabilities documents as is described below.
+WMTS Capabilities
+Pre-generated legends are referenced in the WMTS Capabilities document within the Style/LegendURL
elements. The following snippet shows an example of how these elements will appear. Note that only the SVG-formatted legends are referenced.
<Style isDefault="true">
+ <ows:Title xml:lang="en">default</ows:Title>
+ <ows:Identifier>default</ows:Identifier>
+ <LegendURL format="image/svg+xml" xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/legend-type/vertical"
+ xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSR2_Wind_Speed_Day_V.svg"
+ xlink:title="GIBS Color Map Legend: Vertical" width="135" height="287"/>
+ <LegendURL format="image/svg+xml" xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/legend-type/horizontal"
+ xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSR2_Wind_Speed_Day_H.svg"
+ xlink:title="GIBS Color Map Legend: Horizontal" width="377" height="85"/>
+</Style>
+
+WMS Capabilities
+Pre-generated legends are referenced in the WMS Capabilities document within the Style/LegendURL
element. The following snippet shows an example of how this element will appear. Note that only the PNG-formatted legend is referenced.
<Style>
+ <Name>default</Name>
+ <Title>default</Title>
+ <LegendURL width="420" height="95">
+ <Format>image/png</Format>
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
+ xlink:href="https://gibs.earthdata.nasa.gov/legends/AMSR2_Wind_Speed_Day_H.png"/>
+ </LegendURL>
+</Style>
+
+The following sections provide examples of Colormaps for each data category. Each example provides a table containing the values that define the data-to-rgb mapping process, the sample XML document, and a pre-generated legend image. As you review each example, you will see that they each contain a no-data Colormap entry, as is required by the specification. This entry is always considered to be a "Classification" mapping type. As such, it will be contained within its own Colormap element for necessity in the Discrete and Continuous mapping types.
+In this example, the following Colormap and Legend entries define a mapping for single, discrete, values from 70 to 110. The units for the measured parameter are meters or "m".
+Colormap Entries
+Ref | +RGB | +Transparent | +Raw Value(s) | +Scaled Value(s) | +No Data | +
---|---|---|---|---|---|
1 | +220,220,255 | +True | +[-9999] | +N/A | +True | +
2 | +100,000,119 | +False | +[7000] | +[70] | +False | +
3 | +100,100,119 | +False | +[8000] | +[80] | +False | +
4 | +200,000,119 | +False | +[9000] | +[90] | +False | +
5 | +200,100,119 | +False | +[10000] | +[100] | +False | +
6 | +200,200,119 | +False | +[11000] | +[110] | +False | +
Legend Entries
+ID(s) | +RGB | +Tooltip | +Show Tick | +Show Label | +
---|---|---|---|---|
1 | +220,220,255 | +"Fill" | +False | +False | +
2 | +100,000,119 | +70 | +False | +False | +
3 | +100,100,119 | +80 | +False | +False | +
4 | +200,000,119 | +90 | +False | +True | +
5 | +200,100,119 | +100 | +False | +False | +
6 | +200,200,119 | +110 | +False | +False | +
Using the information provided above, the following XML Colormap and legend are generated:
+<ColorMaps>
+ <ColorMap title="Fill">
+ <Entries>
+ <ColorMapEntry rgb="220,220,255" transparent="true" sourceValue="[-9999]" nodata="true" ref="1"/>
+ </Entries>
+ <Legend type="classification">
+ <LegendEntry rgb="220,220,255" tooltip="Fill" id="1"/>
+ </Legend>
+ </ColorMap>
+
+ <ColorMap title="Discrete Example" units="m">
+ <Entries>
+ <ColorMapEntry rgb="100,000,119" transparent="false" sourceValue="[7000]" value="[70]" ref="2"/>
+ <ColorMapEntry rgb="100,100,119" transparent="false" sourceValue="[8000]" value="[80]" ref="3"/>
+ <ColorMapEntry rgb="200,000,119" transparent="false" sourceValue="[9000]" value="[90]" ref="4"/>
+ <ColorMapEntry rgb="200,100,119" transparent="false" sourceValue="[10000]" value="[100]" ref="5"/>
+ <ColorMapEntry rgb="200,200,119" transparent="false" sourceValue="[11000]" value="[110]" ref="6"/>
+ </Entries>
+ <Legend type="discrete" minLabel="70" maxLabel="110">
+ <LegendEntry rgb="100,000,119" tooltip="70" id="2"/>
+ <LegendEntry rgb="100,100,119" tooltip="80" id="3"/>
+ <LegendEntry rgb="200,000,119" tooltip="90" label="90" id="4" showLabel="true"/>
+ <LegendEntry rgb="200,100,119" tooltip="100" id="5"/>
+ <LegendEntry rgb="200,200,119" tooltip="110" id="6"/>
+ </Legend>
+ </ColorMap>
+</ColorMaps>
+
+
+In this example, the following Colormap and Legend entries define a mapping for value ranges from < 10 to 50 (exclusive). The units for the measured parameter are meters or "m".
+Colormap Entries
+Ref | +RGB | +Transparent | +Raw Value(s) | +Scaled Value(s) | +No Data | +
---|---|---|---|---|---|
1 | +220,220,255 | +True | +[-9999] | +N/A | +True | +
2 | +50,010,255 | +False | +(-INF,1000) | +(-INF,10) | +False | +
3 | +102,000,119 | +False | +[1000,2000) | +[10,20) | +False | +
4 | +102,100,119 | +False | +[2000,3000) | +[20,30) | +False | +
5 | +183,015,141 | +False | +[3000,4000) | +[30,40) | +False | +
6 | +183,100,141 | +False | +[4000,5000) | +[40,50) | +False | +
Legend Entries
+ID(s) | +RGB | +Tooltip | +Show Tick | +Show Label | +
---|---|---|---|---|
1 | +220,220,255 | +"Fill" | +False | +False | +
2 | +50,010,255 | +< 10 | +False | +False | +
3 | +102,000,119 | +10 - 20 | +False | +False | +
4 | +102,100,119 | +20 - 30 | +False | +True | +
4 | +183,015,141 | +30 - 40 | +False | +True | +
4 | +183,100,141 | +40 - 50 | +False | +False | +
Using the information provided above, the following XML Colormap and legend are generated:
+<ColorMaps>
+ <ColorMap title="Fill">
+ <Entries>
+ <ColorMapEntry rgb="220,220,255" transparent="true" sourceValue="[-9999]" nodata="true" ref="1"/>
+ </Entries>
+ <Legend type="classification">
+ <LegendEntry rgb="220,220,255" tooltip="Fill" id="4"/>
+ </Legend>
+ </ColorMap>
+
+ <ColorMap title="Continuous Example" units="m">
+ <Entries>
+ <ColorMapEntry rgb="50,010,255" transparent="false" sourceValue="(-INF,1000)" value="(-INF,10)" ref="2"/>
+ <ColorMapEntry rgb="102,000,119" transparent="false" sourceValue="[1000,2000)" value="[10,20)" ref="3"/>
+ <ColorMapEntry rgb="102,100,119" transparent="false" sourceValue="[2000,3000)" value="[20,30)" ref="4"/>
+ <ColorMapEntry rgb="183,015,141" transparent="false" sourceValue="[3000,4000)" value="[40,40)" ref="5"/>
+ <ColorMapEntry rgb="183,100,141" transparent="false" sourceValue="[4000,5000)" value="[40,50)" ref="6"/>
+ </Entries>
+ <Legend type="continuous" minLabel="< 10" maxLabel="50">
+ <LegendEntry rgb="50,10,255" tooltip="< 10" id="2"/>
+ <LegendEntry rgb="102,0,119" tooltip="10 - 20" id="3"/>
+ <LegendEntry rgb="102,100,119" tooltip="20 - 30" label="20" showLabel="True" id="4"/>
+ <LegendEntry rgb="183,15,141" tooltip="30 - 40" label="30" showLabel="True" id="5"/>
+ <LegendEntry rgb="183,100,141" tooltip="40 - 50" id="6"/>
+ </Legend>
+ </ColorMap>
+</ColorMaps>
+
+
+In this example, the following Colormap and Legend entries define a mapping for value ranges from < 10 to 50 (exclusive). The units for the measured parameter are meters or "m". Note, however, that there are fewer Legend entries than ColorMap entries. This is because the desired legend will have fewer visually distinguishable colors than data bins within the image. This is sometimes done by providers to facilitate historical imagery visualizations while allowing for the more advanced analysis that GIBS supports. Below are the specifics for how this is accomplished in this Colormap:
+ref
attribute references the Legend entry's id
attribute. Colormap Entries
+Ref | +RGB | +Transparent | +Raw Value(s) | +Scaled Value(s) | +No Data | +
---|---|---|---|---|---|
1 | +220,220,255 | +True | +[-9999] | +N/A | +True | +
2 | +50,010,255 | +False | +(-INF,1000) | +(-INF,10) | +False | +
3 | +102,000,119 | +False | +[1000,2000) | +[10,20) | +False | +
3 | +102,001,119 | +False | +[2000,3000) | +[20,30) | +False | +
4 | +183,015,141 | +False | +[3000,4000) | +[30,40) | +False | +
4 | +183,016,141 | +False | +[4000,5000) | +[40,50) | +False | +
Legend Entries
+ID(s) | +RGB | +Tooltip | +Show Tick | +Show Label | +
---|---|---|---|---|
1 | +220,220,255 | +"Fill" | +False | +False | +
2 | +50,010,255 | +< 10 | +False | +False | +
3 | +100,100,119 | +10 - 30 | +False | +True | +
4 | +183,015,141 | +30 - 50 | +False | +False | +
Using the information provided above, the following XML Colormap and legend are generated:
+<ColorMaps>
+ <ColorMap title="Fill">
+ <Entries>
+ <ColorMapEntry rgb="220,220,255" transparent="true" sourceValue="[-9999]" nodata="true" ref="1"/>
+ </Entries>
+ <Legend type="classification">
+ <LegendEntry rgb="220,220,255" tooltip="Fill" id="4"/>
+ </Legend>
+ </ColorMap>
+
+ <ColorMap title="Continuous Example" units="m">
+ <Entries>
+ <ColorMapEntry rgb="50,010,255" transparent="false" sourceValue="(-INF,1000)" value="(-INF,10)" ref="2"/>
+ <ColorMapEntry rgb="102,000,119" transparent="false" sourceValue="[1000,2000)" value="[10,20)" ref="3"/>
+ <ColorMapEntry rgb="102,001,119" transparent="false" sourceValue="[2000,3000)" value="[20,30)" ref="3"/>
+ <ColorMapEntry rgb="183,015,141" transparent="false" sourceValue="[3000,4000)" value="[40,40)" ref="4"/>
+ <ColorMapEntry rgb="183,016,141" transparent="false" sourceValue="[4000,5000)" value="[40,50)" ref="4"/>
+ </Entries>
+ <Legend type="continuous" minLabel="< 10" maxLabel="50">
+ <LegendEntry rgb="50,010,255" tooltip="< 10" id="1"/>
+ <LegendEntry rgb="102,000,119" tooltip="10 – 30" label="10" showLabel="true" id="2"/>
+ <LegendEntry rgb="183,015,141" tooltip="30 – 50" id="3"/>
+ </Legend>
+ </ColorMap>
+</ColorMaps>
+
+
+In this example, the following Colormap and Legend entries define a mapping for freeze/thaw classifications. There are no associated units.
+Colormap Entries
+Ref | +RGB | +Transparent | +Raw Value(s) | +Scaled Value(s) | +No Data | +
---|---|---|---|---|---|
1 | +220,220,255 | +True | +[-9999] | +N/A | +True | +
2 | +111,222,255 | +False | +[200] | +N/A | +False | +
3 | +222,220,255 | +False | +[300] | +N/A | +False | +
4 | +000,220,255 | +False | +[400] | +N/A | +False | +
Legend Entries
+ID(s) | +RGB | +Tooltip | +Show Tick | +Show Label | +
---|---|---|---|---|
1 | +220,220,255 | +Fill | +False | +False | +
2 | +111,222,255 | +Frozen | +False | +False | +
3 | +222,220,255 | +Thawed | +False | +False | +
4 | +000,220,255 | +Transitional | +False | +False | +
Using the information provided above, the following XML Colormap and legend are generated:
+<ColorMaps>
+ <ColorMap title="Classification">
+ <Entries>
+ <ColorMapEntry rgb="220,220,255" transparent="true" sourceValue="[-9999]" nodata="true" ref="1"/>
+ <ColorMapEntry rgb="111,220,255" transparent="false" sourceValue="[200]" ref="2"/>
+ <ColorMapEntry rgb="222,220,255" transparent="false" sourceValue="[300]" ref="3"/>
+ <ColorMapEntry rgb="000,220,255" transparent="false" sourceValue="[400]" ref="4"/>
+ </Entries>
+ <Legend type="classification">
+ <LegendEntry rgb="111,220,255" label="Frozen" id="2"/>
+ <LegendEntry rgb="222,220,255" label="Thawed" id="3"/>
+ <LegendEntry rgb="000,220,255" label="Transitional" id="4"/>
+ </Legend>
+ </ColorMap>
+</ColorMaps>
+
+
+Vector visualizations are accessible through the GIBS Web Map Tile Service (WMTS) and Web Map Service (WMS) (see Visualization Services). WMTS responses are formatted as gzip-compressed Mapbox vector tiles (specification), or "MVTs", while WMS responses are available as raster images.
+The data behind the WMTS and WMS visualization services are the same, however the mechanism for styling differs. A client application is responsible for applying styling to MVTs when using the WMTS service. (See Vector Styles) Conversely, GIBS applies a default style when rendering vector data as a raster when using the WMS service.
+An MVT returned via the WMTS service contains information for a client to draw the features within the user interface, but also a set of properties that contain data associated with the feature. The Mapbox vector tile specification provides structure for representing these data, but no mechanism for interpreting the meaning or intended use. As such, additional metadata is required. GIBS has developed a specification for defining each property contained within MVTs in its vector products. (See Vector Properties)
+Note
+Vector visualizations are not provided in the EPSG:3857 projection through the WMS service. A workaround is to utilize the EPSG:4326 endpoint with EPSG:3857-based SRS and BBOX query parameters (example).
+Accessing a vector visualization through the WMTS service follows the same rules as raster visualizations. The primary differences being the format or extension provided in the request. When issuing a KVP WMTS request, the "format" value must be application/vnd.mapbox-vector-tile
. When issuing a REST-ful WMTS request, the extension must be .mvt
. See below for examples of each:
The response to a KVP or REST-ful WMTS response will be a gzip-compressed MVT. The following Python code snippet provides an example of how to download and print out the contents of a vector tile. Note that the Python requests library is automatically decoding the gzip'd response.
+MVT Tile Printer
+#!/usr/bin/env python
+
+#
+# pip install mapbox_vector_tile and requests first
+#
+
+import mapbox_vector_tile
+import requests
+import sys
+
+url = 'https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/VIIRS_NOAA20_Thermal_Anomalies_375m_All/default/2020-10-01T00:00:00Z/500m/4/3/4.mvt'
+response = requests.get(url)
+
+decoded_data = mapbox_vector_tile.decode(response.content)
+
+print(repr(decoded_data))
+
+for key in decoded_data:
+ print(key + " Feature Count: " + str(len(decoded_data[key]["features"])))
+
+Note
+Vector visualizations are not provided in the EPSG:3857 projection through the WMTS service. At present there is no workaround.
+Accessing a vector visualization through the WMS service follows the same rules as raster products. Both version 1.1.1 and 1.3.0 WMS GetMap requests will return rasterized representations. See below for an example request and response:
+The Mapbox vector tile specification provides structure for including data values as properties associated with a feature, but no mechanism for interpreting the meaning or intended use. As such, GIBS has developed a specification for defining each property contained within MVTs in its vector products. Each vector product has an associated JSON vector metadata file which provides the following information:
+The following table outlines the fields in the GIBS vector metadata specification. A JSON schema representation may be found here.
+Name | +Description | +Type | +Required? | +Sample Value | +
---|---|---|---|---|
Identifier | ++ The unique identifier of the MVT property. + | +String | ++ Yes + | +
+ FRP
+ |
+
Title | +A human readable title for the property. | +String | ++ Yes + | +
+ Fire Radiative Power
+ |
+
Description | +A human readable description for the property. | +String | ++ Yes + | +
+ A measure of the rate of radiant heat output from a fire.
+ |
+
Units | +The units value to be applied to the actual value of this property. | +String | ++ No + | +
+ MW
+ |
+
DataType | +The data type of this property. Possible values include int, float, string, or datetime. | +Enumeration | ++ Yes + | +
+ float
+ |
+
ValueList | +A listing of the possible valid values for a 'string' property type, if the property has a controlled list. | +Array | +
+
+ + ? + +Only one may be used + |
+
+ [ "Lake Ice", "Sea Ice", "Not Ice" ]
+ |
+
ValueRanges | +A listing of mutually exclusive min and max value pairs representing ranges of valid values for the 'Integer', 'float', and 'datetime' property types. | +Array of Objects | +
+ [ { "Min": 0, "Max": 99999999 } ]
+ |
+ |
ValueMap | +A map of the possible valid values for 'string' or 'int' property types, and their associated description. This facilitates a key-value lookup table allowing for a simplified property value (i.e. the ‘key’). + | +Object | +
+ { 10 : “Processed Fire Pixel”, 20 : “Saturated Fire Pixel” }
+ |
+ |
Function | +
+ The property’s intended function as a part of the visualization product. Possible values include: +
|
+ Enumeration | ++ Yes + | +
+ Describe
+ |
+
IsOptional | +Indicates whether the property is optional. | +Boolean | ++ Yes + | +
+ true
+ |
+
IsLabel | +Indicates whether the property should be used to label the point in a user interface. | +Boolean | ++ Yes + | +
+ true
+ |
+
All vector metadata file are validated against the following "business logic" rules that extend beyond the basic individual property constraints.
+A vector product's vector metadata file is associated to a GIBS visualization as Layer/ows:Metadata
elements within the WMTS Capabilities document. The following snippet shows an example of how these elements will appear in the XML Capabilities response. Note that there are two entries listed. One is for the "default" vector metadata file and one for the versioned (e.g. '1.0') vector metadata file. This allows for the addition of future versions as enhancements are
+made to the GIBS vector product visualization capabilities, while retaining backwards compatibility.
<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/layer"
+ xlink:href="https://gibs.earthdata.nasa.gov/vector-metadata/v1.0/FIRMS_MODIS_Thermal_Anomalies.json"
+ xlink:title="Layer Metadata"/>
+
+<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/layer/1.0"
+ xlink:href="https://gibs.earthdata.nasa.gov/vector-metadata/v1.0/FIRMS_MODIS_Thermal_Anomalies.json"
+ xlink:title="Layer Metadata"/>
+
+A vector metadata file is a list of content blocks defining each property. The following snippet shows an example of a single property's definition within the vector metadata file.
+Metadata Snippet
+{
+"Identifier" : "NumReactor",
+"Title" : "Number of Reactors",
+"Description": "Number of Active Reactors at a given Plant",
+"Units" : "Reactors",
+"DataType" : "int",
+"ValueRanges": [ { "Min": 1, "Max": 9 } ],
+"Function" : "Style",
+"IsOptional" : false,
+"IsLabel" : false
+}
+
+The following block provides a full example of a vector metadata file.
+Full Metadata File
+{
+ "id": "Nuclear_Power_Plant_Locations",
+ "mvt_properties": [
+
+ {
+ "Identifier" : "Plant",
+ "Title" : "Plant Site Name",
+ "Description": "Name of Nuclear Plant",
+ "DataType" : "string",
+ "Function" : "Identify",
+ "IsOptional" : false,
+ "IsLabel" : true
+ },
+
+ {
+ "Identifier" : "NumReactor",
+ "Title" : "Number of Reactors",
+ "Description": "Number of Active Reactors at a given Plant",
+ "Units" : "Reactors",
+ "DataType" : "int",
+ "ValueRanges": [ { "Min": 1, "Max": 9 } ],
+ "Function" : "Style",
+ "IsOptional" : false,
+ "IsLabel" : false
+ },
+
+ {
+ "Identifier" : "p10_30",
+ "Title" : "Population within 30km (2010)",
+ "Description": "Total population within a 30km radius of the nuclear plant (2010)",
+ "Units" : "Persons",
+ "DataType" : "int",
+ "ValueRanges": [ { "Min": 275, "Max": 7170590 } ],
+ "Function" : "Describe",
+ "IsOptional" : false,
+ "IsLabel" : false
+ }
+}
+
+As mentioned previously, a client is responsible for applying style to MVT tiles received from the GIBS WMTS service in order to represent the feature defined within the MVT. This is most simply done by utilizing the vector style file provided by GIBS for each vector visualization.
+Vector style files comply with the Mapbox style specification. Here is a live example of how to use these styles with OpenLayers.
+A vector product's vector style file is associated to a GIBS visualization as Layer/ows:Metadata
elements within the WMTS Capabilities document. The following snippet shows an example of how these elements will appear in the XML Capabilities response. Note that there are two entries listed. One is for the "default" vector style file and one for the versioned (e.g. '1.0') vector style file. This allows for the addition of future versions as enhancements to the GIBS vector product visualization capabilities, while retaining backwards compatibility.
WMTS Capabilities Layer Metadata
+<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/mapbox-gl-style"
+ xlink:href="https://gibs.earthdata.nasa.gov/vector-styles/v1.0/FIRMS_VIIRS_Thermal_Anomalies.json"
+ xlink:title="Mapbox GL Layer Styles"/>
+
+<ows:Metadata xlink:type="simple"
+ xlink:role="http://earthdata.nasa.gov/gibs/metadata-type/mapbox-gl-style/1.0"
+ xlink:href="https://gibs.earthdata.nasa.gov/vector-styles/v1.0/FIRMS_VIIRS_Thermal_Anomalies.json"
+ xlink:title="Mapbox GL Layer Styles"/>
+
+As described here, many raster visualizations have an associated pre-generated legend image representing the associated GIBS Colormap. However, for vector visualizations, there is no associated GIBS Colormap XML document to create a legend image. Instead, the GIBS WMS service's GetLegendGraphic
request may be used to dynamcally generate a legend image. The following snippet shows how this is defined in the WMS Capabilities document.
<Style>
+ <LegendURL width="138" height="23">
+ <Format>image/png</Format>
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi?version=1.1.1&service=WMS&request=GetLegendGraphic&layer=VIIRS_NOAA20_Thermal_Anomalies_375m_All&format=image/png&STYLE=default"/>
+ </LegendURL>
+</Style>
+
+Issuing the sample request returns the following image.
+ +The vector style file contains the necessary information to apply a default style to a GIBS vector visualization, as required by the Mapbox style specification. The file may contain style information for more than one vector product, as this allows for simplified file management within the GIBS system. Unneeded information should be ignored by the display library (e.g. OpenLayers). The following block provides a full example of a vector style file.
+{
+ "version": 8,
+ "name": "SEDAC",
+ "sources": {
+ "GRanD_Reservoirs": {
+ "type": "vector",
+ "tiles": [
+ "https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/GRanD_Reservoirs/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.mvt"
+ ]
+ }
+ },
+ "layers": [
+ {
+ "id": "GRanD_Reservoirs_v1.01_STD",
+ "source": "GRanD_Reservoirs",
+ "source-layer": "GRanD_Reservoirs_v1.01_STD",
+ "source-description": "Default",
+ "type": "fill",
+ "paint": {
+ "fill-color": "rgb(0, 77, 168)"
+ }
+ }
+ ]
+}
+
+
+ NASA's Global Imagery Browse Services (GIBS) visualizations are accessible through public standards-compliant web services, hosted on the https://gibs.earthdata.nasa.gov domain. Each service is accessed through service endpoints specific to the service and map projection. Visualizations within these services are available in pre-determined resolutions.
+The information on this page covers the following topics related to accessing GIBS visualizations:
+ +NASA's Global Imagery Browse Services (GIBS) provides visualizations through the APIs/services listed below. The following sections provide an overview of each visualization service, service endpoints, and reference clients that support the service.
+Note
+In the following content, service endpoints for the "Best Available" (See Best Available Layers) are provided. For example: https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/
. However, the following endpoints also exist and may be accessed by simply replacing the best
component of the provided service endpoints:
The Open Geospatial Consortium (OGC) Web Map Tile Service (WMTS) provides a way for clients to retrieve tiled mapping data in a standardized manner, handling product-specific details such as available number of zoom levels, map projections, image formats, tile sizes, etc. The WMTS specification provides guidance for three methods of tile retrieval: Key-Value Pair (KVP), REpresentational State Transfer (REST), and Simple Object Access Protocol (SOAP). GIBS supports the KVP and REST access methods.
+WMTS requests utilize the following URI/query-string elements.
+The above elements may be found in examples of both RESTful and KVP access patterns seen below:
+The following table contains the root service endpoint for each GIBS-supported map projection along with sample requests for the WMTS GetCapabilities and GetTile requests via both RESTful and KVP access methods.
+Projection | +Endpoint Root | +GetCapabilities | +GetTile | +
---|---|---|---|
Geographic (EPSG:4326) | +REST: https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/ KVP: https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/wmts.cgi? |
+REST / KVP | +REST / KVP | +
NSIDC Sea Ice Polar Stereographic North (EPSG:3413) | +REST: https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/ KVP: https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/wmts.cgi? |
+REST / KVP | +REST / KVP | +
Antarctic Polar Stereographic / WGS 84 (EPSG:3031) | +REST: https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/ KVP: https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/wmts.cgi? |
+REST / KVP | +REST / KVP | +
Web Mercator - (EPSG:3857) | +REST: https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/ KVP: https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/wmts.cgi? |
+REST / KVP | +REST / KVP | +
The following clients support the GIBS WMTS visualization services:
+ +The Open Geospatial Consortium (OGC) Web Map Service (WMS) provides a way for clients to receive a customized response (e.g. raster image) based on request parameters such as a custom bounding box, dimensions, layer(s) and format. Unlike the rigidity enforced through tiled interfaces (e.g. WMTS and TWMS), WMS responses are more flexible and may contain multiple composited layers in a single output. Two WMS specifications are currently available and supported by GIBS: 1.1.1 and 1.3.0. Both WMS specifications support a single method of image retrieval, Key-Value Pair (KVP).
+The following table contains the root service endpoint for each GIBS-supported map projection along with sample requests for the WMS GetCapabilities and GetMap requests using both 1.1.1 and 1.3.0 WMS specification versions.
+Projection | +Endpoint Root | +GetCapabilities | +GetMap | +
---|---|---|---|
Geographic (EPSG:4326) | +https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi? | +1.1.1 / 1.3.0 | +1.1.1 / 1.3.0 | +
NSIDC Sea Ice Polar Stereographic North (EPSG:3413) | +https://gibs.earthdata.nasa.gov/wms/epsg3413/best/wms.cgi? | +1.1.1 / 1.3.0 | +1.1.1 / 1.3.0 | +
Antarctic Polar Stereographic / WGS 84 (EPSG:3031) | +https://gibs.earthdata.nasa.gov/wms/epsg3031/best/wms.cgi? | +1.1.1 / 1.3.0 | +1.1.1 / 1.3.0 | +
Web Mercator - EPSG:3857 | +https://gibs.earthdata.nasa.gov/wms/epsg3857/best/wms.cgi? | +1.1.1 / 1.3.0 | +1.1.1 / 1.3.0 | +
The following clients support the GIBS WMS visualization services:
+ +Tiled WMS offers fast response to a limited number of WMS access patterns - specifically those access patterns which provide geographic +bounds which fall along the edges of pregenerated tiles.
+Those patterns are described in the TWMS GetTileService request. The response is an XML encoded list of available WMS access patterns. A TiledPattern access pattern is a set gridded WMS requests, where parameter order, case and content are constant, with the exception of the bounding box (bbox) values. Using this pattern allows fast access to tiles for a given combination of layers and associated styles at a given resolution over a defined area. All the information about a pattern can be extracted form the provided WMS call, using these rules:
+A client application is expected to request this information only if it is defined as a request in the WMS server Capabilities. Once obtained, the application needs to analyze the patterns, decide which ones can be used and then issue only WMS requests that match the pattern to the normal WMS server, requests that can be built by modifying the bbox argument in a TiledPattern and prefixing the resulting string with the content of the OnlineResource tag.
+The following table contains the root service endpoint for each GIBS-supported map projection along with sample requests for the TWMS GetCapabilities, GetTileService, and GetMap requests.
+Projection | +Endpoint Root | +GetCapabilities | +GetTileService | +GetMap | +
---|---|---|---|---|
Geographic (EPSG:4326) | +https://gibs.earthdata.nasa.gov/twms/epsg4326/best/ | +KVP | +KVP | +KVP | +
NSIDC Sea Ice Polar Stereographic North (EPSG:3413) | +https://gibs.earthdata.nasa.gov/twms/epsg3413/best/ | +KVP | +KVP | +KVP | +
Antarctic Polar Stereographic / WGS 84 (EPSG:3031) | +https://gibs.earthdata.nasa.gov/twms/epsg3031/best/ | +KVP | +KVP | +KVP | +
Web Mercator - (EPSG:3857) | +https://gibs.earthdata.nasa.gov/twms/epsg3857/best/ | +KVP | +KVP | +KVP | +
The following clients support the GIBS TWMS visualization services:
+The WMTS RESTful interface above can be easily adapted for use as a "generic" XYZ tile server if the developer pre-populates all of the required fields except the tile row, column, and zoom level. For example, by starting with the most generalized GIBS API request:
+https://gibs.earthdata.nasa.gov/wmts/epsg{*EPSG:Code*}/best/{*LayerIdentifier*}/default/{*Time*}/{*TileMatrixSet*}/{*ZoomLevel*}/{*TileRow*}/{*TileCol*}.png
Populating the fields with the desired map projection, product, time, etc (Terra/MODIS Aerosol Optical depth from 2014/04/09, in this case), GIBS products can be used by clients such as ESRI's ArcGIS Online to add a "Tile Layer" by leaving the row, column, and zoom level as parameters:
+https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Terra_Aerosol/default/2014-04-09/GoogleMapsCompatible_Level6/{level}/{row}/{col}.png
GIBS visualizations are available in one or more of the following map projections, as is appropriate for the data being visualized. Consider the following guidelines when accessing visualizations through the GIBS web services:
+2km
TileMatrixSet is utilized in the EPSG:4326 projection, the 1km
TileMatrix set will be utilized in polar projections.Projection | +EPSG Code | +Spatial Extents | +Example | +
---|---|---|---|
WGS 84 / Geographic | +4326 | +WGS84 Coordinates Lower Left: -180,-90 Upper Right: 180,90 |
++ |
NSIDC Sea Ice Polar Stereographic North | +3413 | +Native Coordinates Lower Left: -4194304,-4194304 Upper Right: 4194304,4194304 WGS84 Coordinates Lower Left: -180, 38.807151 Upper Right: 180,90 |
++ |
Antarctic Polar Stereographic / WGS 84 | +3031 | +Native Coordinates Lower Left: -4194304,-4194304 Upper Right: 4194304,4194304 WGS84 Coordinates Lower Left: -180, -90 Upper Right: 180,-38.941373** |
++ |
Web Mercator / "Google Projection" | +3857 | +Native Coordinates Lower Left: -20037508.34278925,-20037508.34278925 Upper Right: 20037508.34278925,20037508.34278925 WGS84 Coordinates Lower Left: -180,-85.051129 Upper Right: 180,85.051129 |
++ |
Note
+The spatial extents of the GIBS Geographic and Web Mercator projections match the full extents of the official projection definition. However, the GIBS spatial extents of the north and south polar projections are a subset of the official projection's extents. The GIBS' extents were selected to a) cover the main land/ice masses at each pole and b) to facilitate a "power of two" extent expansion between zoom levels as required for tiled access. See here for more on GIBS tiled access resolutions.
+The core concept within the GetCapabilities response is a map layer. GIBS map layers represent data that change over time, most commonly providing a different map each day. Therefore, the layer definition within the GIBS GetCapabilities response must present a time dimension.
+Note
+When requesting a visualization for the current date, much of the world may be empty if data acquisition and processing has not yet occurred.
+GIBS WMTS services support the following custom time
dimension on each time-varying visualization.
<Dimension>
+ <ows:Identifier>time</ows:Identifier>
+ <UOM>ISO8601</UOM>
+ <Default>2013-05-29</Default>
+ <Current>false</Current>
+ <Value>2012-05-08/2013-05-29/P1D</Value>
+</Dimension>
+
+Elements of the Dimension
data structure are prescribed in the WMTS 1.0.0 spec (Table 9, p. 22). However, since the WMTS spec doesn't address the time dimension, we are adapting some aspects of the WMS specification regarding the time dimension, specifically:
<UOM>
part match the contents of the "units=" attribute in the WMS <Dimension>
element.<Value>
part match the contents of the WMS <Extent>
element.Visualizations that represent "subdaily" (e.g. period < 1 day) require that the time
dimension value be provided with a YYYY-MM-DDTHH:MI:SSZ
format. All other visualizations also support a simplified YYYY-MM-DD
formatted value with an implied 00:00:00Z
.
If the time
dimension is omitted in the WMTS request, GIBS will return tiles for the default date, as specified in the <Default>
tag. Note that GIBS' imagery layers all have a value of false in the <Current>
tag which means that the special current keyword cannot be provided as the time value. However, GIBS does support use of the special default
value, which results in the same response as though the date were omitted.
GIBS WMS services support a time
dimension on each time-varying visualization, as is displayed below according the respective OGC WMS specification:
WMS v1.1.1
+<Dimension name="time" units="ISO8601"/>
+<Extent name="time" default="2018-11-14" nearestValue="1">2013-07-16/2018-11-14/P1D</Extent>
+
+WMS v1.3.0
+<Dimension name="time" units="ISO8601" default="2018-10-01" nearestValue="1">2002-09-01/2018-10-
+/P1M</Dimension>
+
+Visualizations that represent "subdaily" (e.g. period < 1 day) require that the time
dimension value be provided with a YYYY-MM-DDTHH:MI:SSZ
format. All other visualizations also support a simplified YYYY-MM-DD
formatted value with an implied 00:00:00Z
.
If the time
dimension is omitted in the WMS request, GIBS will return tiles for the default date, as specified in the default attribute. Note that GIBS' imagery layers all have a value of 1 in the nearestValue tag indicating that GIBS will snap to the nearest time value within the specified dimension extents. Additionally, GIBS supports use of the special default
value, which results in the same response as though the date were omitted.
GIBS TWMS services support a time
dimension on each time-varying visualization, as is defined in the TWMS GetTileService
document as the following:
<Key>${time}</Key>
+
+Visualizations that represent "subdaily" (e.g. period < 1 day) require that the time
dimension value be provided with a YYYY-MM-DDTHH:MI:SSZ
format. All other visualizations also support a simplified YYYY-MM-DD
formatted value with an implied 00:00:00Z
.
See WMS above
+ +NASA's Global Imagery Browse Services (GIBS) visualization archive includes over 1000 visualizations representing visualized science data from the NASA Earth Observing System Data and Information System (EOSDIS). GIBS works closely with EOSDIS science teams and data centers to identify the appropriate data range and color mappings, where appropriate, to provide the highest quality visualization to the Earth science community. Each visualization is generated at the native resolution of the source data to provide "full resolution" visualizations of a science parameter. Those visualizations are then made available through standards-compliant services (See Visualization Services) and may be provided in more than one projected coordinate systems (See Projections & Resolutions).
+Many GIBS visualizations are generated by the EOSDIS LANCE near real-time processing system resulting in visualizations being available in GIBS within 3.5 hours of observation. These products and others may also extend from present to the beginning of the satellite mission. In addition, GIBS makes available supporting visualizations such as data/no-data, water masks, orbit tracks, and graticules to improve usability.
+For a full of available visualizations, see the Visualization Product Catalog further down on this page.
+GIBS visualizations can be separated into the following categories:
+Multi-band (or multi-spectral) visualizations are visible products that have been created through a process of mapping one or more spectral bands to an RGB composite image. Based on the selection of spectral band "combinations", and how they are mapped to the RGB visible bands, different observations will be made more apparent. As an example, the MODIS instrument has 36 spectral bands that are typically used to generate a visible image. There are 210 non-repeating band combinations that can be generated. As such, GIBS works with its imagery providers to select the "highest value" band combinations for visualization.
+Raster science parameter visualizations are generated by mapping scientific measurements into an RGB image. Each measured value, or range of values, is assigned a unique color to create a visual representation of the underlying data values. See a sample mapping below:
+ +Vector science parameter visualizations are generated by mapping scientific measurements into a vector data format. These visualizations are then made available as a raster image as well as the native vector format. When accessed as a raster image, GIBS applies a default styling. When accessed as a vector, the client application must apply styling for a user to interact with the visualization. (See Vector Styles) To present and interpret the properties of the vector data, GIBS provides a metadata document to be utilized by a client application. (See Vector Properties)
+Utility visualizations are provided to improve imagery viewability. These layers include data or imagery masks that highlight or remove specific regions of an image and also mapping aids such as graticules and coastlines.
+This interactive catalog provides the following information about each GIBS visualization layer. Visualization products are organized by their "scientific measurement." You may further filter catalog by science discipline.
+daily
, monthly
).jpeg
, png
, vnd.mapbox-vector-tile
).2002-08-30 - Present
).There was an error loading products. Please try again later.
++ [1] The Geographic projection is WGS84 latitude/longitude, EPSG:4326. The arctic projection is NSIDC Sea Ice Polar Stereographic North, EPSG:3413. The antarctic projection is Antarctic Polar Stereographic, EPSG:3031. The Web Mercator projection is WGS84 latitude/longitude, EPSG:3857. +
++ [2] The Imagery Resolution is the resolution of the image offered on the GIBS system. Generally the imagery resolution is of equal or higher resolution than the native or sensor resolution. Web Mercator imagery is generated by re-sampling the geographically projected imagery. In that process, the closest corresponding resolution is used. +
+ ++ [3] NRT - Near Real-Time: The imagery product is generated within 3.5 hours of observation. STD - Standard: The imagery product is generated within 24 hours of observation. +
++ [4] When multiple data products are identified, the GIBS visualization product will provide users with a view of the “Best Available” data product. See the Best Available Layers advanced topic for more information on how this is determined. +
+ +Contact us at support@earthdata.nasa.gov if you have any suggestions or questions.
+Be sure to refer to the Data Use Policy and Acknowledgements when utilizing GIBS imagery services.
+You may also visit the GIBS landing page for high-level information and the GIBS blog for periodic updates on new Worldview features, GIBS service enhancements, and visualization layers.
+Feel free to subscribe to our mailing list, by sending an email to eosdis-gibs-announce-join@lists.nasa.gov to join (no subject or text in the body is needed).
+ +NASA's Global Imagery Browse Services (GIBS) visualizations are accessible through standards-compliant web services (See Visualization Services). These services, specifically the OGC Web Map Service (WMS) and Web Map Tile Service (WMTS), allow you to access GIBS visualizations directly within many Geographic Information System (GIS) clients. The information on this page provides instructions for accessing GIBS visualizations through these GIS clients:
+Note
+Some GIS applications do not currently handle time-varying visualizations, especially with WMTS sources. The primary suggested method for access within GIS clients is through WMS as this protocol has better time support. +Alternatively, Worldview's "image snapshot" tool (pictured below) can be used to export imagery as a GeoTIFF or KMZ (or other formats with worldfiles) which can then be imported into your application.
+ +The QGIS application supports GIBS' time-varying layers using the WMS protocol.
+Note
+If you're using the Web Mercator (EPSG:3857) map projection in your desktop GIS client and load the EPSG:3857 WMS endpoint, you'll currently see a flat list of GIBS' 1000+ available layers. As an alternative, you may want to load the geographic (EPSG:4326) WMS endpoint to browse those layers in a hierarchical manner (by categories such as Cloud Top Height, Land Cover, Sea Surface Temperature). In that case, the layers will be retrieved as EPSG:4326 and reprojected to EPSG:3857 by your GIS client. Note that if you instead retrieved imagery from GIBS' EPSG:3857 endpoint, the reprojection is performed by GIBS on its own EPSG:4326 imagery archive. So a reprojection will be happening in either case, it's just a matter of whether it's by the GIS client or by GIBS.
+GIBS imagery layers can be directly loaded into ESRI ArcGIS Pro using the WMS protocol.
+Note
+If you're using the Web Mercator (EPSG:3857) map projection in your desktop GIS client and load the EPSG:3857 WMS endpoint, you'll currently see a flat list of GIBS' 1000+ available layers. As an alternative, you may want to load the geographic (EPSG:4326) WMS endpoint to browse those layers in a hierarchical manner (by categories such as Cloud Top Height, Land Cover, Sea Surface Temperature). In that case, the layers will be retrieved as EPSG:4326 and reprojected to EPSG:3857 by your GIS client. Note that if you instead retrieved imagery from GIBS' EPSG:3857 endpoint, the reprojection is performed by GIBS on its own EPSG:4326 imagery archive. So a reprojection will be happening in either case, it's just a matter of whether it's by the GIS client or by GIBS.
+Here are some common reasons why imagery isn't appearing:
+GIBS imagery layers can be directly loaded into ESRI ArcGIS Desktop/ArcMap using the WMS protocol.
+GIBS imagery layers can be imported into ESRI's ArcGIS Online in one of two ways: through the GIBS WMS or as a predefined layer from ESRI.
+The web-based Google Earth and desktop Google Earth Pro support loading of KML/KMZ files which allows you to import GIBS imagery via Worldview's KMZ download capability.
+NASA's Global Imagery Browse Services (GIBS) system provides visualizations of NASA Earth Science observations through standardized web services. These services deliver global, full-resolution visualizations of satellite data to users in a highly responsive manner, enabling visual discovery of scientific phenomena, supporting timely decision-making for natural hazards, educating the next generation of scientists, and making imagery of the planet more accessible to the media and public. Browse all of these visualizations through our Worldview application.
+GIBS visualization layers are based on satellite data that has been transformed into pre-generated visualizations stored as a tile pyramid (see figure below). GIBS coordinates with NASA data centers and science teams to regularly ingest visualizations based on remotely sensed satellite data. By processing, storing, and serving these visualizations as pre-generated tiles, GIBS can enable highly responsive access to its visualizations. See here for more background on how tiled web maps work.
+ +GIBS services are built atop the open source OnEarth software and Meta Raster Format (MRF) format. Visit those projects on GitHub to learn more or become a contributor.
+Visit the following content areas within this documentation site to learn more about GIBS visualizations and how to integrate them into your applications or utilities.
+Contact us at support@earthdata.nasa.gov if you have additional questions.
+You may also visit the GIBS landing page for high-level information and the GIBS blog for periodic updates on new Worldview features, GIBS service enhancements, and visualization layers.
+NASA supports an open data policy. We ask that users who make use of GIBS in their clients or when referencing it in written or oral presentations to add the following acknowledgment:
+++We acknowledge the use of imagery provided by services from NASA's Global Imagery Browse Services (GIBS), part of NASA's Earth Observing System Data and Information System (EOSDIS).
+
A tile pyramid (from OGC WMTS 1.0.0 specification) ↩
++ + + ↑ + ↓ + ↕ + + | +
---|
+ |
+
There are several freely-available map libraries available to help build your own interface to explore NASA's Global Imagery Browse Services (GIBS) visualizations. The information on this page provides instructions for the following libraries:
+ +Additionally, information regarding bulk downloading is also provided here.
+Please see our "GIBS Web Examples" GitHub area for code samples and live demos of using popular web mapping libraries (e.g., OpenLayers, Cesium, Mapbox GL) with GIBS. Below is a screen capture of a barebones GIBS client based on the OpenLayers mapping library.
+ +The Geospatial Data Abstraction Library (GDAL) can be used as a basis to generate imagery from custom scripts. Its WMS driver supports several internal 'minidrivers' that allow access to different web mapping services. Each of these services may support a different set of options in the Service block. Documentation for these minidrivers can be found in the GDAL WMS documentation area. Two of these minidrivers in particular can be used by users to download GIBS imagery programmatically. They are the Tile Map Specification (TMS) and the OnEarth Tiled WMS (TiledWMS) minidrivers. Examples for both of these minidrivers are included below.
+GDAL version 1.9.1 or greater with cURL support enabled. To check if cURL is enabled for GDAL, type gdalinfo --format WMS
. If cURL is enabled, you will see information about the WMS format. If not, you will get an error message and you will need to reconfigure GDAL to support cURL.
This section provides basic examples of both the TiledWMS and WMS GDAL drivers. The information needed to create the local service description XML can be found in the following GIBS WMTS Capabilities documents:
+Projection Name | +GIBS WMTS "Best Available" Capabilities document | +
---|---|
Geographic | +https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/1.0.0/WMTSCapabilities.xml | +
NSIDC Sea Ice Polar Stereographic North | +https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/1.0.0/WMTSCapabilities.xml | +
Antarctic Polar Stereographic | +https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/1.0.0/WMTSCapabilities.xml | +
Web Mercator | +https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/1.0.0/WMTSCapabilities.xml | +
Note
+In very limited testing, our experience has been that better image quality is obtained by using the GeoTIFF output format, then converting this to other formats, if desired, using a second gdal_translate command (seen below), or other programs such as ImageMagick convert.
+gdal_translate -of JPEG GreatPlainsSmoke2.tif GreatPlainsSmoke2.jpg
The TiledWMS GDAL minidriver relies on a simple XML configuration block (see example below) from the user, pulling all other information from the GIBS Tiled Web Map Service (TWMS) "Tile Service" document at runtime.
+<GDAL_WMS>
+ <Service name="TiledWMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/twms/epsg4326/best/twms.cgi?</ServerUrl>
+ <TiledGroupName>MODIS Aqua CorrectedReflectance TrueColor tileset</TiledGroupName>
+ <Change key="${time}">2013-08-21</Change>
+ </Service>
+</GDAL_WMS>
+
+In the above XML block, the following values may be changed to meet your needs:
+{Endpoint Root}/twms.cgi?
, where the endpoint root is defined in this table.https://gibs.earthdata.nasa.gov/twms/epsg4326/best/twms.cgi?
The following examples demonstrate how to invoke the GDAL TiledWMS driver.
+In this example, the following XML file is created and saved to your local file system. Then the gdal_translate
command shown below is run with your desired area of interest and output dimensions.
<GDAL_WMS>
+ <Service name="TiledWMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/twms/epsg4326/best/twms.cgi?</ServerUrl>
+ <TiledGroupName>MODIS Aqua CorrectedReflectance TrueColor tileset</TiledGroupName>
+ <Change key="${time}">2013-08-21</Change>
+ </Service>
+</GDAL_WMS>
+
+gdal_translate -of GTiff -outsize 1200 1000 -projwin -105 42 -93 32 GIBS_Aqua_MODIS_true.xml GreatPlainsSmoke1.tif
+
+This example invokes gdal_translate with the content of the TileWMS local service description XML file embedded as a command line argument. This approach is useful for automated scripting to download various layers, dates, etc. To generate the same image as the previous example, run the following:
+gdal_translate -of GTiff -outsize 1200 1000 -projwin -105 42 -93 32 '<GDAL_WMS><Service name="TiledWMS"><ServerUrl>https://gibs.earthdata.nasa.gov/twms/epsg4326/best/twms.cgi?</ServerUrl><TiledGroupName>MODIS Aqua CorrectedReflectance TrueColor tileset</TiledGroupName><Change key="${time}">2013-08-21</Change></Service></GDAL_WMS>' GreatPlainsSmoke2.tif
+
+The TMS GDAL minidriver relies on a more complex XML configuration block (see example below) from the user that defines all information required for accessing a tiled visualization service.
+ <GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/2013-08-21/250m/${z}/${y}/${x}.jpg</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-180.0</UpperLeftX>
+ <UpperLeftY>90</UpperLeftY>
+ <LowerRightX>396.0</LowerRightX>
+ <LowerRightY>-198</LowerRightY>
+ <TileLevel>8</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>1</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:4326</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>3</BandsCount>
+ </GDAL_WMS>
+
+In the above XML block, the following values may be changed to meet your needs:
+-180.0, 90, 396.0, -198
for Geographic projection and -4194304, 4194304, 4194304, -4194304
for the Polar projectionsResolution | +TileLevel (Geographic) | +TileLevel (Polar) | +Resolution (Web Mercator) | +Tile Level (Web Mercator) | +
---|---|---|---|---|
2km | +5 | +2 | +GoogleMapsCompatible_Level6 | +6 | +
1km | +6 | +3 | +GoogleMapsCompatible_Level7 | +7 | +
500m | +7 | +4 | +GoogleMapsCompatible_Level8 | +8 | +
250m | +8 | +5 | +GoogleMapsCompatible_Level9 | +9 | +
125m | +9 | +- | +GoogleMapsCompatible_Level10 | +10 | +
62.5m | +10 | +- | +GoogleMapsCompatible_Level11 | +11 | +
31.25m | +11 | +- | +GoogleMapsCompatible_Level12 | +12 | +
15.625m | +12 | +- | +GoogleMapsCompatible_Level3 | +13 | +
Note
+The values for <YOrigin>, <BlockSizeX>, and <BlockSizeY> are constant for all GIBS layers.
+The following examples demonstrate how to invoke the GDAL TMS driver.
+Create a local service description XML file and invoke gdal_translate. In this example, GIBS_Aqua_MODIS_true.xml is used to generate a true color JPEG image from Aqua MODIS of a smoke plume from western fires over the central United States. The contents of GIBS_Aqua_MODIS_true.xml would be:
+ <GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/2013-08-21/250m/${z}/${y}/${x}.jpg</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-180.0</UpperLeftX>
+ <UpperLeftY>90</UpperLeftY>
+ <LowerRightX>396.0</LowerRightX>
+ <LowerRightY>-198</LowerRightY>
+ <TileLevel>8</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>1</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:4326</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>3</BandsCount>
+ </GDAL_WMS>
+
+ gdal_translate -of GTiff -outsize 1200 1000 -projwin -105 42 -93 32 GIBS_Aqua_MODIS_true.xml GreatPlainsSmoke1.tif
+
+Invoke gdal_translate with the content of the local service description XML file embedded into the command. This approach is useful for automated scripting to download various layers, dates, etc. To generate the same image as above:
+gdal_translate -of GTiff -outsize 1200 1000 -projwin -105 42 -93 32 '<GDAL_WMS><Service name="TMS"><ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/2013-08-21/250m/${z}/${y}/${x}.jpg</ServerUrl></Service><DataWindow><UpperLeftX>-180.0</UpperLeftX><UpperLeftY>90</UpperLeftY><LowerRightX>396.0</LowerRightX><LowerRightY>-198</LowerRightY><TileLevel>8</TileLevel><TileCountX>2</TileCountX><TileCountY>1</TileCountY><YOrigin>top</YOrigin></DataWindow><Projection>EPSG:4326</Projection><BlockSizeX>512</BlockSizeX><BlockSizeY>512</BlockSizeY><BandsCount>3</BandsCount></GDAL_WMS>' GreatPlainsSmoke2.tif
+
+In this example, GIBS_OMI_AI.xml is used to generate a transparent PNG image from the OMI Aerosol Index over the same region as the first two examples. The "Layer Name on Server" and EPSG/resolution in <ServerURL>, the <TileLevel>, and the <BandsCount> have changed from the first examples. The contents of GIBS_OMI_AI.xml would be:
+<GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/OMI_Aerosol_Index/default/2013-08-21/2km/${z}/${y}/${x}.png</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-180.0</UpperLeftX>
+ <UpperLeftY>90</UpperLeftY>
+ <LowerRightX>396.0</LowerRightX>
+ <LowerRightY>-198</LowerRightY>
+ <TileLevel>5</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>1</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:4326</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>4</BandsCount>
+</GDAL_WMS>
+
+gdal_translate -of GTiff -outsize 1200 1000 -projwin -105 42 -93 32 GIBS_OMI_AI.xml GreatPlainsSmokeAI.tif
+
+In this example, GIBS_Terra_MODIS_Arctic.xml is used to generate a true color JPEG image from Terra MODIS of a phytoplankton bloom in the Barents Sea. The "Layer Name on Server" and EPSG/resolution in <ServerUrl>, the <DataWindow> elements, and the <Projection> have changed from the first examples. The contents of GIBS_Terra_MODIS_Arctic.xml would be:
+<GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/MODIS_Terra_CorrectedReflectance_TrueColor/default/2013-08-01/250m/${z}/${y}/${x}.jpg</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-4194304</UpperLeftX>
+ <UpperLeftY>4194304</UpperLeftY>
+ <LowerRightX>4194304</LowerRightX>
+ <LowerRightY>-4194304</LowerRightY>
+ <TileLevel>5</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>2</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:3413</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>3</BandsCount>
+</GDAL_WMS>
+
+GeoTIFF files created by GDAL using the default tags for the GIBS polar projections do not work correctly in some GIS programs. So we recommend specifying the output projection in PROJ4 format:
+gdal_translate -of GTiff -outsize 980 940 -a_srs "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs" -projwin 1520000 240000 2500000 -700000 GIBS_Terra_MODIS_Arctic.xml BarentsSea.tif
+gdal_translate -of JPEG BarentsSea.tif BarentsSea.jpg
+
+The projection string for the GIBS Antarctic projection is "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs". Here are the links for the Arctic and Antarctic PROJ4 definitions. Some other workarounds are:
+gdal_translate -of GTiff -outsize 980 940 -projwin 1520000 240000 2500000 -700000 GIBS_Terra_MODIS_Arctic.xml BarentsSea.tif
+"copy" GIBS_Arctic_3413.tif.aux.xml "to" BarentsSea.tif.aux.xml
+gdal_translate -of JPEG BarentsSea.tif BarentsSea.jpg
+
+gdal_translate -of JPEG -outsize 980 940 -projwin 1520000 240000 2500000 -700000 GIBS_Terra_MODIS_Arctic.xml BarentsSea.jpg
+
+In this example, GIBS_Aqua_MODIS_Arctic.xml is used to generate a true color JPEG image from Aqua MODIS of the Beaufort Sea reprojected to have 145W down. The "Layer Name on Server" and EPSG/resolution in <ServerUrl>, the <DataWindow> elements, and the <Projection> have changed from the first examples. The contents of GIBS_Aqua_MODIS_Arctic.xml would be:
+<GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/2013-06-20/250m/${z}/${y}/${x}.jpg</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-4194304</UpperLeftX>
+ <UpperLeftY>4194304</UpperLeftY>
+ <LowerRightX>4194304</LowerRightX>
+ <LowerRightY>-4194304</LowerRightY>
+ <TileLevel>5</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>2</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:3413</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>3</BandsCount>
+</GDAL_WMS>
+
+gdalwarp -t_srs '+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-145 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs' -te -1600000 -2500000 1200000 -400000 -tr 1000 1000 GIBS_Aqua_MODIS_Arctic.xml Beaufort_neg145down_1km.tif
+gdal_translate -of JPEG Beaufort_neg145down_1km.tif Beaufort_neg145down_1km.jpg
+
+Only a subset of layers are available from GIBS in the polar projections. This is an example of how to project a geographic layer into a polar projection. The contents of GIBS_Terra_Cloud_Fraction.xml would be:
+<GDAL_WMS>
+ <Service name="TMS">
+ <ServerUrl>https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/MODIS_Terra_Cloud_Fraction_Day/default/2017-05-16/2km/${z}/${y}/${x}.png</ServerUrl>
+ </Service>
+ <DataWindow>
+ <UpperLeftX>-180.0</UpperLeftX>
+ <UpperLeftY>90</UpperLeftY>
+ <LowerRightX>396.0</LowerRightX>
+ <LowerRightY>-198</LowerRightY>
+ <TileLevel>5</TileLevel>
+ <TileCountX>2</TileCountX>
+ <TileCountY>1</TileCountY>
+ <YOrigin>top</YOrigin>
+ </DataWindow>
+ <Projection>EPSG:4326</Projection>
+ <BlockSizeX>512</BlockSizeX>
+ <BlockSizeY>512</BlockSizeY>
+ <BandsCount>4</BandsCount>
+ <ZeroBlockHttpCodes>204,404,400</ZeroBlockHttpCodes>
+</GDAL_WMS>
+
+gdalwarp -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -of GTiff -t_srs "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs" -ts 4096 4096 -te -4194304 -4194304 4194304 4194304 GIBS_Terra_Cloud_Fraction.xml Terra_Cloud_Fraction_Arctic.tif
+
+Accessing via Python - Python examples of accessing GIBS imagery (also downloadable as a Jupyter Notebook)
+A "Bulk Download" is defined as the planned retrieval of more than 1,000,000 imagery tiles within a 24 hour period. These activities are typically orchestrated through script-based access to the GIBS API, not user-based access through a client application. In order to ensure quality of service for all GIBS users, the GIBS team requests that bulk downloading activities be coordinated at least 48 hours in advance of the planned download. Prior to +beginning your bulk downloading activities, please contact the GIBS support team at support@earthdata.nasa.gov with the subject "GIBS Bulk +Download Request" and the following information:
+The GIBS utilization profile indicates that there is not a period of time within which "regular" usage drops. Therefore, bulk downloading activities are +allowed to occur as is convenient for the downloading group or individual. The following guidelines should be taken into consider when designing a +bulk download plan:
+Subscribe to our mailing list by sending an email to this address (no subject or text in the body is needed) and follow our blog to stay up-to-date with new features and changes to existing services. Or contact us at support@earthdata.nasa.gov with feedback and questions.
+ +