Tile Layer

Tile layers are hierarchical raster imagery.

Layer Name

type: string
The unique display name and identifier of the layer. It must be unique and contain no special characters.

URL

type: string
A file path that points to a tileset’s directory. If the path is relative, it will be relative to the mission’s directory. The URL must contain a proper placeholder ending such as: {z}/{x}/{y}.png. See the “Tile Format” section below for more details.

DEM Tile URL

type: string optional
A file path like URL but pointing to a Digital Elevation Map tileset generated by auxillary/1bto4b/rasterstotiles1bto4b.py This is responsible for 3D data in the globe. It would be ideal if this tileset can match the extents of its corresponding raster and has either no nodata or has nodata far lower than that of its lowest point.

Legend

type: string
An absolute or relative file path pointing to a legend.csv that describes the symbology of the layer. Please see the Legend Tool to see how to form a legend.csv.

Tile Format

type: enum [TMS, WMTS, WMS]
The format of the tiles.

  • TMS: Tile Map Service tiles are 256x256 sized images hierarchically organized by zoom level and referenced with x and y coordinates. These are the standard format for web tiles and are the format that MMGIS’s auxiliary tiling scripts output. Append /{z}/{x}/{y}.png to your URL.
  • WMTS: Web Map Tile Service is the same exact concept as TMS but it has an inverted Y-axis. Just like TMS, append /{z}/{x}/{y}.png to your URL.
  • WMS: Web Map Service tiles are a popular way of publishing maps by professional GIS software. This format is similar to the previous two formats, but more generic and not so well optimized for use in web maps. A WMS image is defined by the coordinates of its corners. A layer (or list of layers) should be provided as an options by appending ?layers=<your_layer_name><,another_if_you _want> to your URL. To override WMS parameters append &<wms_param>=<value> again to the URL after the “layers” parameters. If desired, use &TILESIZE= to change the tile size of the request and layer away from the default of 256. Example URL: http://ows.mundialis.de/services/service?layers=TOPO-WMS,OSM-Overlay-WMS

Initial Visibility

type: bool
Whether the layer is on initially.

Initial Opacity

type: float
A value from 0 to 1 of the layer’s initial opacity. 1 is fully opaque.

Minimum Zoom

type: integer
The lowest (smallest number) zoom level of the tile set.
Note: This field can be automatically populate with “Populate from XML”. “Populate from XML” uses looks for a tilemapresource.xml in the tileset directory specified by the URL field.

Maximum Native Zoom

type: integer
The highest (largest number) zoom level of the tile set.
Note: This field can be automatically populate with “Populate from XML”. “Populate from XML” uses looks for a tilemapresource.xml in the tileset directory specified by the URL field.

Maximum Zoom

type: integer
The highest (largest number) zoom level to see in MMGIS. This value is at least as high as Maximum Native Zoom. This allows zooms level higher than that of the tileset. Instead of rendering new tile image, it scales them in instead.

Bounding Box

type: string optional
A comma separated string defining the tileset’s minimumLonDeg,minimumLatDeg,maximumLonDeg,maximumLatDeg. Setting a bounding box improves performance by limiting requests for tiles to only those that fit the bounds.
Note: This field can be automatically populate with “Populate from XML”. “Populate from XML” uses looks for a tilemapresource.xml in the tileset directory specified by the URL field.

Time Enabled

type: bool
True if the layer is time enabled. URLs that contain {time} will be dynamically replaced by their set values when the layer is fetched.

Time Type

type: enum [Global, Individual]
Whether the layer should use global time values or function independently with its own time values.

Time Format

type: string optional
The string format to be used in the URL for {time}. Defaults to %Y-%m-%dT%H:%M:%SZ.

Composited Time Tile

type: boolean

When using MMGIS-served time tiles (time enabled, {t} in the url, tiles served under /Missions in the format described in Time_Tiles), whether to composite/merge each tile with with the other tiles are the same location across the time query. This is useful when Time Tile data is sparse. It is a more expensive operation. If your Time Tiles are complete (no alpha in a tile), leave this False as merging tiles historically would have no effect.

Raw Variables

Clicking “Set Default Variables” will add a template of all possible raw variables (without overwriting ones that are already set). All raw variables are optional.

Example:

{
    "shortcutSuffix": "single letter to 'ATL + {letter}' toggle the layer on and off",
    "urlReplacements": {
      "name_of_{}_value_to_replace_in_url": {
        on: "timeChange",
        url: "url",
        type: "GET || POST",
        body: {
          some_body: "{starttime} and {endtime} get filled",
        },
        return:
          "value_in_response_to_replace_with.use.dot.notation.to.traverse.objects",
      },
    },
    "tools": {
      "measure": {
        "layerDems": [
          {
            "name": "(str) example",
            "url": "(str) path_to_data/data.tif (required)"
          }
        ]
      },
      "identifier": {
        "data": [
          {
            "url": "(str) path_to_data/data.tif (required)",
            "bands": "(int) how many bands to query from",
            "sigfigs": "(int) how many digits after the decimal",
            "unit": "(str) whatever string unit",
            "timeFormat": "(str) for injecting '{starttime}' and '{endtime}' in url. See syntax in https://d3js.org/d3-time-format#locale_format"
          }
        ]
      }
	  }
}
  • shortcutSuffix: A single letter to ‘ALT + {letter}’ toggle the layer on and off. Please verify that your chosen shortcut does not conflict with other system or browser-level keyboard shortcuts.
  • urlReplacements: For the case where parts or all of a tileset’s url comes from intermediary endpoints. For example a service may require sending a query to a server that then returns a uuid and that uuid is required in the tileset’s url to query it.