-
Notifications
You must be signed in to change notification settings - Fork 0
2.1.1.1. Capas vectoriales
En un modelo de datos vectorial se recogen las características de los fenómenos de la realidad mediante entidades geométricas que definen sus límites. Según el fenómeno que se trate se utilizarán puntos, líneas o polígonos para representarlos, codificandolos explícitamente mediante las coordenadas de los puntos o vértices que forman los segmentos de líneas y polígonos.
A diferencia de las capas ráster, donde el cliente recibe una imagen o parte ella generada por el servidor de mapas, las capas vectoriales se descargan en el cliente, y éste es el que las representa. La API soporta los siguientes tipos de capas vectoriales:
Un feature representa un fenómeno o elemento geográfico de una capa vectorial. Está formado por un identificador, una geometría y una serie de atributos alfanuméricos o propiedades. Por ejemplo, un feature que representa un edificio puede tener atributos como su altura, su área, su uso, su fecha de construcción, etc. Los features son representados en un SIG por medio de geometrías que describen su forma y posición en el mapa. Las geometrías pueden ser de diferentes tipos como puntos, líneas o polígonos.
Cuando un servidor de mapas nos devuelve una capa vectorial, nos está mandando el conjunto de todos los features o elementos que la forman:
const mapajs = IDEE.map({
container: "map",
wmcfiles: ["cdau"]
});
//capa vectorial GeoJSON de provincias servida
const layer = new IDEE.layer.GeoJSON({
name: "Provincias",
url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application/json"
});
mapajs.addLayers(layer);
// Cada feature es una provincia en esta capa
layer.on(IDEE.evt.LOAD, function() {
layer.getFeatures().forEach(function(feature) {
console.log('Provincia: ' + feature.getAttribute('nombre'));
})
});Dispone de métodos para obtener/establecer su id, sus atributos y su geometría. Estos son algunos métodos comunes a todas las capas vectoriales:
// Creamos feature
const feature= new IDEE.Feature("featurePrueba002", {
"type": "Feature",
"id": "prueba_pol_wfst.1985",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[263770.72265536943,4085361.4590256726],
[230910.00600234355,4031901.3328427672],
[288293.77947248437,4017678.0840030923],
[263770.72265536943,4085361.4590256726]
]
]
},
"geometry_name": "geometry",
"properties": {
"cod_ine_municipio": "41091",
"cod_ine_provincia": "-",
"area": 1234,
"perimetro": 345,
"cod_ine_comunidad": "-",
"nombre": "feature2",
"nom_provincia": "Cádiz",
"alias": "f2",
"nom_ccaa": "Andalucía"
}
});
// lo añadimos a la capa
capaVectorial.addFeatures([feature])
// Añadir feature
capaVectorial.addFeatures([feature]);
// Eliminar feature
capaVectorial.removeFeatures([feature]);
// Obtener los features de una capa
const elementos = capaVectorial.getFeatures();
// Obtener la extension de los features de una capa
const bbox = capaVectorial.getFeaturesExtent();
// O eliminarlos todos los features
capaVectorial.clear();💡 Dos features serán iguales si tienen el mismo id. Si se añade features con id repetidos el método getFeatures devolverá todos los features añadidos, pero a la capa sólo se añadirá el primer feature de los ids repetidos.
También es posible definir un feature desde cero mediante la especificación GeoJSON correspondiente:
const capaGeoJSON = new IDEE.layer.GeoJSON({
source: {
"crs": {"properties": {"name": "EPSG:25830"},"type": "name"},
// Se añade su notacion GeoJSON
"features": [feature.getGeoJSON()],
"type": "FeatureCollection"
},
name: 'prueba'
});
mapajs.addLayers(capaGeoJSON);
// Otra opción: añadir el feature a la capa
//capaGeoJSON.addFeatures(feature);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.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.4. Paneles
» Creación de panel desde cero sin controles
» Tutorial Panel de un único control
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
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