-
Notifications
You must be signed in to change notification settings - Fork 15
Categorías
Un capa categorizada es una capa cuya simbología se establece asociando un estilo a cada elemento o feature en base al valor de un atributo del mismo.
Por tanto, para definir ese tipo de simbología, es necesario especificar al menos los siguientes parámetros:
- Atributo del feature por el cual se va a realizar la categorización.
- Relación de Valores/Estilos para la representación de los diferentes valores del atributo.
Así, para categorizar por ejemplo una capa poligonal de municipios de Andalucía, de modo que a cada elemento se le diera un color en función de la provincia a la que pertenece, que viene indicado en uno de sus atributos:
// Definimos los estilos de cada categoría. Como queremos diferenciar entre
// provincias, crearemos un color para cada una
let verde = new M.style.Polygon({fill: {color: 'green'}});
let amarillo = new M.style.Polygon({fill: {color: 'pink'}});
let rojo = new M.style.Polygon({fill: {color: 'red'}});
let azul = new M.style.Polygon({fill: {color: 'grey'}});
let naranja = new M.style.Polygon({fill: {color: 'orange'}});
let marron = new M.style.Polygon({fill: {color: 'brown'}});
let magenta = new M.style.Polygon({fill: {color: '#e814d9'}});
let morado = new M.style.Polygon({fill: {color: '#b213dd'}});
// Creamos la simbologia. El atributo "provincia" contiene el nombre
// de la provincia a la que pertenece cada feature
let categoryStyle = new M.style.Category("provincia", {
"Almería": marron,
"Cádiz": amarillo,
"Córdoba": magenta,
"Granada": verde,
"Jaén": naranja,
"Málaga": azul,
"Sevilla": rojo,
"Huelva": morado
});
layerMunicipios.setStyle(categoryStyle);
Donde M.style.Category recibe:
Parámetro | Descripción |
---|---|
attributeName | {string} - atributo que contiene el campo por el que categorizar |
categoryStyles | {object} - con las relaciones valor-estilo |
💡 Los estilos deben corresponder al tipo de geometría de la capa
No es necesario especificar estilo para todos los diferentes valores que pueda adoptar el atributo 'attributeName':
- Si el valor del atributo de un feature no aparece en la lista de categoryStyles, ese feature se pintará con la simbología por defecto que tenga la capa.
- El valor "other" en la lista de categoryStyles recogerá a todos los features cuyo atributo 'attributeName' tenga un valor que no se corresponda con ningún otro de la lista.
¿Y si quiero aplicar un estilo diferente y aleatorio a cada feature en función de un atributo, sin importarme qué estilo? Aunque este escenario se automatizará próximamente en Mapea, es posible programarlo: Aquí lo puedes ver funcionando
Se puede acceder a las propidades de un estilo Category ya existente, y modificar aquellos aspectos de la misma que se desee:
// La capa ya tiene el estilo asignado
let estiloCategory = capa.getStyle();
// Obtenemos las categorías existentes, y el atributo de categorización
// Podrían modificarse con los métodos 'set' equivalentes
let categorías = estiloCategory.getCategories();
let atributo = estiloCategory.getAttributeName();
// Cambiamos únicamente el estilo asociado a la categoría de "Sevilla"
estiloCategory.setStyleForCategory("Sevilla",amarillo);
Inicio
Primeros pasos
Personalizar del mapa
> Capas raster
WMS, WMC, WMTS, Mapbox, OSM
> Capas vectoriales
WFS, GeoJSON, KML, MVT
Features
Filtros
Simbología
• Genérica (Puntos, Líneas, Polígonos)
• Básica (Puntos, Líneas, Polígonos)
• Coropletas, Proporcional, Categorías, Estadísticos, Mapas de Calor
• Cluster, Composición
> Otros formatos
GeoPackage, MBtiles
> Grupos de capas
> Controles básicos
> Opciones
> Paneles
> Extensión máxima
> Proyecciones
Plugins
> API versiones plugin
Proxys
Eventos
Utilidades
Diálogos
Popups
i18n
Acceso librerías base
> versionado
> versiones Mapea disponibles
Mapea iframe
Solución de problemas
Mapea con ES Modules
Testing de aplicaciones
ROADMAP