OGCAPIFeatures - IGN-CNIG/API-CNIG GitHub Wiki

OGCAPIFeatures (OGC API - FEATURES) es un estándar OGC que ofrece la capacidad de crear, modificar y consultar datos espaciales en la Web y especifica requisitos y recomendaciones para las API que desean seguir una forma estándar de compartir datos de entidades.

Para visualizar capas OGCAPIFeatures, se pueden:

1.- Añadir en el constructor del mapa, tanto en modo cadena como objeto:

// Ejemplo de capas OGCAPIFeatures en modo cadena 
const mapajs = M.map({
  container: "map",
  center: { x: -965497.2717184591, y: 4166095.580546307 },
  zoom: 5,
  controls: ['backgroundlayers'],
  layers: ["OGCAPIFeatures*Capa*https://api-features.idee.es/collections/*falls*30"]
});

2.- O añadiéndolas con el método correspondiente (addOGCAPIFeatures o addLayers):

// Ejemplo de capas WFS en modo objeto
const layer = new M.layer.OGCAPIFeatures({
  url: 'https://api-features.idee.es/collections/',
  name: 'falls',
  legend: 'Capa OGCAPIFeatures',
  limit: 20  
});

mapajs.addOGCAPIFeatures(layer);

Donde:

  • url: url del servicio.

  • name: nombre de la capa en el servidor.

  • legend: indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.

  • limit: límite de features a mostrar en la capa.

  • bbox: filtro para mostrar los resultados de un bbox específico .

  • format: formato de respuesta de los objetos geográficos.

  • offset: determina desde que número comenzará a leer los features.

  • id: filtro por ID para un feature.

  • maxExtent: Restringe la visibilidad de la capa a una extensión.

  • conditional: filtro de condiciones literales.

  • infoEventType: Opcional Parametriza el método de activación del popup para obtener la información de una feature ('click' / 'hover'), por defecto 'click'.

  • extract: opcional, activa la consulta por click en el objeto geográfico, por defecto falso.

  • 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.

    • predefinedStyles: estilos predefinidos para la capa, aparecen en el selector de capas "LayerSwitcher" para cambiar el estilo de la capa.
    • style: estilo actual de la capa.
    • minZoom: Zoom mínimo aplicable a la capa.
    • maxZoom: Zoom máximo aplicable a la capa.
    • displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.
    • visibility: Define si la capa es visible o no. Verdadero por defecto.
    • opacity: Opacidad de capa, por defecto 1.
    • cql: filtro CQL (disponible para servicios PostgreSQL).
  • vendorOpts: 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.OGCAPIFeatures({}, {}, {
  source: new ol.source.Vector({
    format: new ol.format.GeoJSON(),
    url: 'https://api-features.idee.es/collections/portarea/items?f=json',
  }),
});

Ejemplo completo de creación de capa OGCAPIFeatures:

const layer = new M.layer.OGCAPIFeatures({
  url: 'https://api-features.idee.es/collections/',
  name: 'falls',
  legend: 'Capa OGCAPIFeatures',
  limit: 20
}, {
  displayInLayerSwitcher: false, // no muestra capa en TOC
  // aplica un estilo a la capa
  style: new M.style.Point({
    fill: {
      color: 'red',
    }
  })
}, {
  opacity: 0.5 // aplica opacidad a la capa
});

Ejemplos: