Skip to content
Jesús Guillen Encinas edited this page Feb 26, 2026 · 1 revision

Importante: Está actualmente en desarrollo por lo que no es recomendable su uso.

WMC (Web Map Context, o Web View Context) es un estándar de definición de mapas OGC. Trabajar con capas WMS independientes puede ser suficiente en muchos casos, pero si manejamos un número elevado de las mismas, o si queremos personalizar comportamientos tales como activación/desactivación de visibilidad por escala o personalización de la leyenda, es conveniente agruparlas en un único contexto de mapas.

El siguiente es un wmc que incluye diversas capas: https://componentes.idee.es/estaticos/Datos/WMC/context_cdau_callejero.xml

Para construir un mapa a partir de uno o varios wmc, basta con indicar al constructor su url, y un nombre o alias para cada uno. El único requisito es que dichas url sean públicas:

mapajs = IDEE.map({
  container: 'map',
  projection: 'EPSG:25830*m',
  wmcfiles: ['https://componentes.idee.es/estaticos/Datos/WMC/context_cdau_callejero.xml*Mapa']
});

También puede añadirse mediante el método addWMC:

var miWmc = new IDEE.layer.WMC({
  url: 'https://componentes.idee.es/estaticos/Datos/WMC/context_cdau_satelite.xml',
  name: 'Satélite'
});
mapajs.addWMC(miWmc);

Donde:

  • url: Url de acceso al fichero.
  • name: Nombre que se mostrará en el selector de contextos de mapa.

Personalización de capas

En el primer ejemplo, si navegamos por el mapa y nos vamos acercando, podremos ver como hay capas que aparecen/desaparecen según la escala, como es el caso de las calles y los portales, que no tienen sentido mostrar en escalas pequeñas. Esto es posible como comentábamos gracias al uso de maxScaleDenominator y minScaleDenominator dentro del wmc.

Además, si en un mapa se añade más de un contexto, aparece un selector de contextos con el que el usuario puede seleccionar el que desea activar en cada momento.

Capas definidas en el wmc y el objeto mapa

Las capas WMC, al ser en realidad una agrupación de capas, tienen un comportamiento especial respecto al mapa: cuando se añade una capa WMC, se activa un proceso que genera, una a una, las capas que incluye dicho WMC, que podrán ser gestionadas individualmente.

Este proceso de generación de las capas internas es asíncrono, lo que significa que las capas internas no estarán disponibles hasta que se lance el evento IDEE.evt.COMPLETED del mapa.

// wmc contiene la definicion de capas WMS
mapajs = IDEE.map({
  container: 'map',
  projection: 'EPSG:25830*m',
  wmcfiles: ['WMC*https://componentes.idee.es/estaticos/Datos/WMC/context_cdau_satelite.xml*Satelite']
});

console.log(mapajs.getLayers().length);
// 1: el wmc

mapajs.on(IDEE.evt.COMPLETED, function(evt) {
  console.log(mapajs.getLayers().length);
  // las demás
});

Otras capas

Un mapa puede combinar wmc y capas (WMS, WFS, etc.) tanto como quiera. Al cambiar de contexto, seguirán respetándose las capas que se han añadido externamente al mismo.

Secciones

Las capas definidas en un WMC pueden agruparse en secciones, en el apartado Secciones se describe cómo.

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

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
     + WMC
     + WMTS
     + TMS
     + XYZ
     + OSM
     + MBTiles
     + GenericRaster
     + GeoTIFF
     + GeoPackageTile
   • 2.1.1.3. Capas 3D
     + Terreno
     + 3DTiles
       + info 3DTiles
   • 2.1.1.4. Capas rápidas
   • 2.1.1.5. Grupo de capas
   • 2.1.1.6. Secciones
   • 2.1.1.7. GeoPackage
   • 2.1.1.8. Capas externas

 ■ 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
 5.6. Parametrización API-REST plugins externos

6. PARAMETRIZACIÓN VISUALIZADORES

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

9. GUÍA DE DESARROLLO
  > Guía para colaborar en el repositorio
  > Guía para el desarrollo de API-IDEE
  > Guía de test de API-IDEE
  » Tutorial desarrollo del núcleo de API-IDEE - (Cliente)
  > Guía de desarrollo de componentes
  » Tutorial desarrollo del núcleo de API-IDEE - (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-IDEE

Clone this wiki locally