{
  "type": "object",
  "defaultProperties": [
    "name",
    "type",
    "url"
  ],
  "properties": {
    "layer": {
      "type": "string",
      "title": "#Layer",
      "description": "The WMTS layer to use."
    },
    "style": {
      "type": "string",
      "title": "#Style",
      "description": "The WMTS style to use."
    },
    "tileMatrixSetID": {
      "type": "string",
      "title": "#Tile matrix set i d",
      "description": "The WMTS Tile Matrix Set ID to use."
    },
    "tileMatrixSetLabels": {
      "type": "array",
      "title": "#Tile matrix set labels",
      "description": "The labels for each level in the matrix set.",
      "format": "tabs",
      "items": {
        "type": "string"
      }
    },
    "tilingScheme": {
      "type": "object",
      "title": "#Tiling scheme",
      "description": "The tiling scheme to pass to the WMTS server when requesting images.\nIf this property is undefiend, the default tiling scheme of the provider is used."
    },
    "getFeatureInfoFormats": {
      "type": "array",
      "title": "#Get feature info formats",
      "description": "The formats in which to try WMTS GetFeatureInfo requests.  If this property is undefined, the `WebMapServiceImageryProvider` defaults\nare used.",
      "format": "tabs",
      "items": {
        "type": "enum"
      }
    },
    "populateIntervalsFromTimeDimension": {
      "type": "boolean",
      "title": "#Populate intervals from time dimension",
      "description": "A value indicating whether a time dimension, if it exists in GetCapabilities, should be used to populate\nthe {@link ImageryLayerCatalogItem#intervals}.  If the {@link ImageryLayerCatalogItem#intervals} property is set explicitly\non this catalog item, the value of this property is ignored.",
      "format": "checkbox"
    },
    "minScaleDenominator": {
      "type": "number",
      "title": "#Min scale denominator",
      "description": "The denominator of the largest scale (smallest denominator) for which tiles should be requested.  For example, if this value is 1000, then tiles representing\na scale larger than 1:1000 (i.e. numerically smaller denominator, when zooming in closer) will not be requested.  Instead, tiles of the largest-available scale, as specified by this property,\nwill be used and will simply get blurier as the user zooms in closer."
    },
    "format": {
      "type": "string",
      "title": "#Format",
      "description": "The format in which to request tile images.  If not specified, 'image/png' is used."
    },
    "type": {
      "type": "string",
      "enum": [
        "wmts"
      ],
      "options": {
        "hidden": true
      }
    }
  },
  "description": "A {@link ImageryLayerCatalogItem} representing a layer from a Web Map Tile Service (WMTS) server.",
  "title": "Web Map Tile Service (WMTS)",
  "allOf": [
    {
      "$ref": "CatalogItem.json"
    },
    {
      "$ref": "ImageryLayerCatalogItem.json"
    },
    {
      "$ref": "CatalogMember.json"
    }
  ]
}