Skip to content

GenericVector

Jesús Guillen Encinas edited this page Feb 26, 2026 · 2 revisions

GenericVector permite añadir cualquier tipo de capa vectorial pasando el objeto capa de la librería base como tercer parámetro.
1.- En el constructor del mapa:

// En el caso de usar la implementación de  OL
const Layer = new ol.layer.Vector({
  source: new ol.source.Vector({
    format: new ol.format.GeoJSON(),
    url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
    strategy: ol.loadingstrategy.bbox,
  }),
});

// En el caso de usar la implementación de CesiumJS
const kml = "https://www.ign.es/web/resources/delegaciones/delegacionesIGN.kml"
const Layer  = Cesium.KmlDataSource.load(
                       kml,
                       {
                       clampToGround:true
                       }
);



const GenericVector = new IDEE.layer.GenericVector({}, {}, Layer)

// Instanciando la capa
const map = IDEE.map({
            container: 'map',
            layers: [GenericVector],
        });

2.- Mediante los métodos addLayers:

const olLayer = new ol.layer.Vector({
  source: new ol.source.Vector({
    format: new ol.format.GeoJSON(),
    url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
    strategy: ol.loadingstrategy.bbox,
  }),
});

const GenericVector = new IDEE.layer.GenericVector({}, {}, olLayer)

map.addLayers(GenericVector)

Parámetros:

  • name: nombre de la capa.
  • legend: Nombre asociado en el árbol de contenidos, si usamos uno.
  • isBase: 'true' si se quiere definir la capa como capa base, 'false' en caso contrario.
    • No disponible para la implementación de CesiumJS.
  • visibility: Indica la visibilidad de la capa.
  • styles: Estilos de la capa.
  • maxExtent: La medida en que restringe la visualización a una región específica.
    • No disponible para la implementación de CesiumJS.
  • infoEventType: Define si consultar la capa con un clic o con "hover".
  • ids: Opcional - identificadores por los que queremos filtrar los objetos geográficos.
    • No disponible para la implementación de CesiumJS.
  • cql: Opcional - Sentencia CQL para filtrar los objetos geográficos. El método setCQL(cadena_cql) refresca la capa aplicando el nuevo predicado CQL que reciba.
    • No disponible para la implementación de CesiumJS.
  • extract: Opcional Activa la consulta por clic en el objeto geográfico, por defecto verdadero.
    • Las capas GenericVector cuentan con métodos get y set para modificar el extract.
capa.extract = true; // activa consulta
capa.extract = false; // desactiva consulta
console.log(capa.extract); // muestra el estado de la propiedad
  • template: Opcional Plantilla que se mostrará al consultar un objeto geográfico.
    • Las capas GenericVector cuentan con métodos get y set para modificar el template.
capa.template = `<div>My custom popup</div>`; // especifica la plantilla
console.log(capa.template); // muestra el estado de la propiedad
  • 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.

    • styles: Estilos de la capa.
    • sldBody: Parámetros "ol.source.ImageWMS".
    • minZoom: Zoom mínimo aplicable a la capa.
    • No disponible para la implementación de CesiumJS.
    • maxZoom: Zoom máximo aplicable a la capa.
    • No disponible para la implementación de CesiumJS.
    • queryable: Indica si la capa es consultable.
    • crossOrigin: Atributo crossOrigin para las imágenes cargadas.
    • minScale: Escala mínima.
    • No disponible para la implementación de CesiumJS.
    • maxScale: Escala máxima.
    • No disponible para la implementación de CesiumJS.
    • minResolution: Resolución mínima.
    • No disponible para la implementación de CesiumJS.
    • maxResolution: Resolución máxima.
    • No disponible para la implementación de CesiumJS.
    • opacity: Opacidad de capa, por defecto 1.
    • height: Define la altura del objeto geográfico. Puede ser un número o una propiedad.
    • Si se define la altura será constante para todos los puntos de los objetos geográficos de la fuente de datos.
    • Sólo disponible para geometrías poligonales.
    • Sólo disponible para la implementación de CesiumJS.
    • clampToGround: Define si el objeto geográfico se debe ajustar al suelo, por defecto falso.
    • Si se indica este parámetro el parámetro height se obviará.
    • Sólo disponible para la implementación de CesiumJS.

Ejemplo:

const olLayer = new ol.layer.Vector({
  source: new ol.source.Vector({
    format: new ol.format.GeoJSON(),
    url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
    strategy: ol.loadingstrategy.bbox,
  }),
});


const generic = new IDEE.layer.GenericVector({
// name: 'Nombre de prueba',
// ids: '1,2',
// cql: "nombre LIKE '%ada%'",
// extract: true,
// infoEventType: 'hover',
// maxExtent: [-952551.7366869409, 4498177.065457279, -669276.1098620776, 4562995.6654431075],
// legend: 'capaGenericVector',
// maxExtent: [-952551.7366869409, 4498177.065457279, -669276.1098620776, 4562995.6654431075],
}, {
// visibility: false,
// opacity: 0.5,
// minZoom: 5,
// maxZoom: 7,
// minScale: 2000000,
// maxScale: 7000000,
// minResolution: 705.5551745557614,
// maxResolution: 2469.443110945165,
}, olLayer);

Ejemplos:

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