Skip to content
Álvaro Ramírez edited this page Nov 21, 2024 · 42 revisions

Las capas TMS (Tile Map Service) son servicios de información geográfica en forma de teselas muy similares a las capas XYZ. El protocolo TMS de OSGeo permite que las teselas usen índices numéricos y aporten metadatos para la configuración e investigación. Las capas TMS presentan la siguiente estructura:

https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg
  • {z} especifica el nivel de zoom.
  • {x} el número de columna.
  • {-y} el número de fila.

Se pueden construir de varias maneras.

1.- Añadiéndolas en el constructor del mapa. Modo cadena:

const mapa = M.map({
  container: 'map',
  getfeatureinfo: 'plain',
  projection: 'EPSG:3857*m',
  layers: ["TMS*TMSBaseIGN*https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg*true*false"],
  zoom: 7,
  center: [-491123.5838198825, 4868765.072772329],
});

2.- O añadiéndolas con el método correspondiente (addTMS/addLayers). Ejemplo en modo objeto:

const tms = new M.layer.TMS({
  url: 'https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg',
  name: 'TMSBaseIGN',
  visibility: true,
});
mapa.addTMS(tms);

Donde:

  • url: Url del servicio TMS.

  • transparent: 'false' si es una capa base, 'true' en caso contrario. Parámetro obsoleto, se recomienda usar el parámetro isBase

  • isBase: 'true' si se quiere definir la capa como capa base, 'false' en caso contrario.

  • maxExtent: La medida en que restringe la visualización a una región específica, [x.min, y.min, x.max, y.max].

  • name: Nombre de la capa. En este caso, a diferencia de los servicios WMS o WMTS, no es el nombre de la capa del servicio.

  • legend: Indica el nombre que queremos que aparezca en el selector de capas, si lo hay.

  • visibility: Indica si la capa estará por defecto visible o no.

  • displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.

  • tileGridMaxZoom: Zoom máximo de cuadrícula de mosaico. (Sobrescribe minZoom y maxZoom)

  • tileSize: Tamaño de la tesela. Por defecto 256.

  • attribution: Atribución de la capa.

    • name. Nombre de la atribución
    • description. Descripción de la atribución.
    • url. URL de la atribución.
    • contentAttributions. Atribuciones por objetos geográficos, por defecto vacío.
    • contentType. Tipo de url de “contentAttributions” (KML o GeoJSON).
  • options: Estas opciones se mandarán a la implementación de la capa.

    • opacity: Opacidad de capa, por defecto 1.
    • minZoom: Zoom mínimo aplicable a la capa.
    • maxZoom: Zoom máximo aplicable a la capa.
    • crossOrigin: Atributo crossOrigin para las imágenes cargadas.
  • vendorOptions: Opciones para la biblioteca base (el código se envía directamente a la librería base para ejecutar la funcionalidad).

Ejemplo vendorOptions:

new M.layer.TMS({}, {
  minZoom: 5,
}, {
  source: new ol.source.XYZ({
    projection: 'EPSG:3857',
    url: 'https://tms-ign-base.ign.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg',
    tileSize: 256,
    crossOrigin: 'anonymus',
  }),
});

Ejemplo completo de creación de capa TMS:

const layer = new M.layer.TMS({
  url: 'https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg',
  name: 'TMSBaseIGN',
  visibility: true,
  transparent: true,
}, {
  displayInLayerSwitcher: false, // no muestra la capa en el TOC
  minZoom: 5 // zoom mínimo aplicable a la capa.
}, {
  opacity: 0.5 // aplica opacidad a la capa
});

Otros servicios TMS del IGN son:

Servicio del Mapa: https://tms-mapa-raster.ign.es/1.0.0/mapa-raster/{z}/{x}/{-y}.jpeg
Servicio del PNOA: https://tms-pnoa-ma.ign.es/1.0.0/pnoa-ma/{z}/{x}/{-y}.jpeg

Ejemplos funcionales

1.INICIO
   1.1. Componentes de la API-CNIG
   1.2. Documentación y Puntos de acceso
   1.3. Primeros pasos
   1.4. Diagrama API CNIG

2. MAPA
2.1. Capas

 ■ 2.1.1. Fuentes
   • 2.1.1.1. Capas vectoriales
     + Vector
     + WFS
     + GeoJSON
     + KML
     + MVT
     + OGCAPIFeatures
     + MBTilesVector
     + GenericVector
     + MapLibre
   • 2.1.1.2. Capas ráster
     + WMS
     + WMTS
     + TMS
     + XYZ
     + OSM
     + MBTiles
     + GenericRaster
     + GeoTIFF
   • 2.1.1.3. Capas rápidas
   • 2.1.1.4. Grupo de capas

 ■ 2.1.2. Simbolización
   • 2.1.2.1. Genérica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.2. Básica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.3. Avanzada
     + Coropletas
     + Proporcional
     + Categorías
     + Estadísticos
     + Mapas de Calor
     + Cluster
     + Línea de flujo
     + Composición

 ■ 2.1.3. Filtros

2.3.-Plugins

  > Creación de plugin en cliente

  » Tutorial de creación de un plugin

2.4. Paneles

  » Creación de panel desde cero sin controles

  » Tutorial Panel de un único control

  » Tutorial Panel de un único control con más de un botón

  » Tutorial Panel con más de un control

2.5. Eventos

  » Gestión de eventos
  » Gestión de eventos en controles personalizados

    2.6. Internacionalización

    2.7. Configuración

    2.8. Acceso librerías base

3. UTILIDADES

4. PROXY

5. API REST
 5.1. Parametrización API-REST
 5.2. Base de Datos API-REST
 5.3. API REST Actions
 5.4. Servicio de correos electrónicos
 5.5. Capas rápidas

6. PARAMETRIZACIÓN VISUALIZADORES

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

9. GUÍA DE DESARROLLO
  > Guía para el desarrollo de API-CNIG
  » Tutorial desarrollo del núcleo de API-CNIG - (Cliente)
  > Guía de desarrollo de componentes
  » Tutorial desarrollo del núcleo de API-CNIG - (Servidor)
  > Guía de desarrollo de plugins
  » Tutorial desarrollo de plugins ya creados
  » Tutorial desarrollo de nuevos plugins
  > Guía de desarrollo de visualizadores con React

  > Compilación proyecto API-CNIG

Clone this wiki locally