# Module: ol/tilegrid/WMTS

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/tilegrid/WMTS

### Classes

WMTSTileGrid

### Functions

#### createFromCapabilitiesMatrixSet(matrixSet, extent, matrixLimits){WMTSTileGrid}

tilegrid/WMTS.js, line 99

      import {createFromCapabilitiesMatrixSet} from 'ol/tilegrid/WMTS';

  Create a tile grid from a WMTS capabilities matrix set and an optional TileMatrixSetLimits.

  Name | Type | Description
  --- | --- | ---
  `matrixSet` | Object | An object representing a matrixSet in the capabilities document.
  `extent` | Extent | undefined | An optional extent to restrict the tile ranges the server provides.
  `matrixLimits` | Array.<Object> | undefined | An optional object representing the available matrices for tileGrid.

  ##### Returns:

  WMTS tileGrid instance.

### Type Definitions

#### Options{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `extent` | Extent | undefined | Extent for the tile grid. No tiles outside this extent will be requested by `TileSource` sources. When no `origin` or `origins` are configured, the `origin` will be set to the top-left corner of the extent.
  `origin` | Coordinate | undefined | The tile grid origin, i.e. where the `x` and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and downwards. If not specified, `extent` or `origins` must be provided.
  `origins` | Array<Coordinate> | undefined | Tile grid origins, i.e. where the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length should match the length of the `resolutions` array, i.e. each resolution can have a different origin. Tile coordinates increase left to right and downwards. If not specified, `extent` or `origin` must be provided.
  `resolutions` | Array.<number> | Resolutions. The array index of each resolution needs to match the zoom level. This means that even if a `minZoom` is configured, the resolutions array will have a length of `maxZoom + 1`
  `matrixIds` | Array.<string> | matrix IDs. The length of this array needs to match the length of the `resolutions` array.
  `sizes` | Array<Size> | undefined | Number of tile rows and columns of the grid for each zoom level. The values here are the `TileMatrixWidth` and `TileMatrixHeight` advertised in the GetCapabilities response of the WMTS, and define each zoom level's extent together with the `origin` or `origins`. A grid `extent` can be configured in addition, and will further limit the extent for which tile requests are made by sources. If the bottom-left corner of an extent is used as `origin` or `origins`, then the `y` value must be negative because OpenLayers tile coordinates use the top left as the origin.
  `tileSize` | number | Size | undefined | Tile size.
  `tileSizes` | Array.<(number|module:ol/size~Size)> | undefined | Tile sizes. The length of this array needs to match the length of the `resolutions` array.