You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

Vector products are accessible through the GIBS WMTS and WMS 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 each visualization service is the same, however the mechanism for styling differs.  A client application is responsible for applying styling to MVTs when using the WMTS API.  Conversely, GIBS applies a default style when rendering vector data as a raster when using the WMS API.  See the Vector Layer Styles section below for more information.

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 the Vector Layer Metadata section below for more information.

The following sections provide examples for how to detect and interact with vector products within the GIBS WMTS and WMS services



Vector Layer Metadata

As mentioned previously, the Mapbox vector tile specification provides structure for representing these data, but no mechanism for interpreting the meaning or intended use.  As such, GIBS has developed the following specification for defining each property contained within MVTs in its vector products. Each vector product has an associated vector layer metadata file which provides the following information:

  • A unique identifier for the property, as found in the MVT data itself
  • Descriptive information such as a title, description, and the function of the property (e.g. identification vs styling)
  • The data type and optional units for the property
  • Valid values for the property
  • Additional flags for improved UI experience (e.g. "is this optional")


JSON?

Contents

vector layer 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 layer metadata file.

MVT Property 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 layer metadata file.

Sample Vector 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
    }
}




MVT Metadata Specification

Stuff...

  • Identifier [1]
  • Title [1]
  • Descripition [1]
  • Units [0..1]
  • Data Type [1]
  • Value Ranges [0..1]
  • Value List [0..1]
  • Value Map [0..1]
  • Function [1]
  • Is Optional [1]
  • Is Label [1]


NameDescriptionTypeRequired?Sample Value
IdentifierThe unique identifier of the MVT property.String(tick)FRP
TitleA human readable title for the property.String(tick)Fire Radiative Power
DescriptionA human readable description for the property.String(tick)
UnitsThe units value to be applied to the actual value of this property.String(error)MW
DataTypeThe data type of this property.Enumeration(tick)float
ValueListA listing of the possible valid values for a 'string' property type, if the property has a controlled list.


ValueRangesA listing of mutually exclusive min and max value pairs representing ranges of valid values for the 'Integer', 'float', and 'datetime' property types.


ValueMapA map of the possible valid values for 'string' or 'int' property types, and their associated description.


FunctionThe property’s intended function as a part of the visualization product.Enumeration(tick)Describe
IsOptionalIndicates whether the property is optional.Boolean(tick)true
IsLabelIndicates whether the property should be used to label the point in a user interface.Boolean(tick)true
Identifier

Description

The unique identifier of the MVT property.

Sample Value

“FRP”

Title

Description

The unique identifier of the MVT property.

Sample Value

“FRP”

Description

Description

A human readable description for the property written using HTML notation.  Newlines within the markdown must be escaped.  This value is used for informational dialogues.

Sample Value

“The Fire Radiative Power (FRP) is a measure of the rate of radiant heat output from a fire. It has been demonstrated in small-scale experimental fires that the FRP of a fire is related to the rate at which fuel is being consumed (Wooster et al., 2005) and smoke emissions released (Freeborn et al., 2008).”

Units

Description

An optional units value to be applied to the actual value of this property.

Sample Value

“MW”

Data Type

Description

The data type of this property.  Valid values include:

  • ‘string’
  • ‘int’
  • ‘float’
  • ‘datetime’ (YYYY-MM-DDTHH:MM:SSZ)


Sample Value

“double”

Valid Values
Value Ranges

Description

A listing of mutually exclusive min and max value pairs representing ranges of valid values for the “Integer”, “Float”, and “DateTime” property types. 

Sample Value

{ "Min": 0, "Max": 99999999 }

Value List

Description

A listing of the possible valid values for a “String” property type, if the property has a controlled list. 

Sample Value

[ "Lake Ice", "Sea Ice", "Not Ice" ]

Value Map

Description

A map of the possible valid values for “String” or “int” property types, and their associated description.  This facilitates a KVP lookup table allowing for a simplified property value (i.e. the ‘key’ in the KVP). 

Sample Value

{ 10 : “Processed Fire Pixel”, 20 : “Saturated Fire Pixel” }

Function

Description

The property’s intended function as a part of the visualization product.  Possible functions include:

  • Identify - Properties that form a “primary key” to identify the visualization product. Often these are used used during processing to separate data points into separate layers (e.g. Platform and Day/Night).  These properties typically would also be in the associated layer metadata (e.g. Platform or Version) and embedded in the layer identifier (e.g. MODIS_Terra_Day_Fires).
  • Style - Properties that are utilized for styling or filtering vector features.  These will typically be included in the default style(s) offered through WMS or the Mapbox Style JSONs. 
  • Describe - Properties that provide additional information regarding the vector feature (e.g. Acquisition Time or Inclination Angle).  They may be useful for tooltip presentation to users.


Sample Value

“Identify”

Is Optional

Description

Indicates whether the property is optional.

Sample Value

True

Is Label

Description

Indicates whether the property should be used to label the point in a user interface.

Sample Value

True

  • No labels