-
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 el Atributo del feature por el cual se va a realizar la categorización. Y de manera opcional, la 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.Generic({polygon: {fill: {color: 'green'}}});
let amarillo = new M.style.Generic({polygon: {fill: {color: 'pink'}}});
let rojo = new M.style.Generic({polygon: {fill: {color: 'red'}}});
let azul = new M.style.Generic({polygon: {fill: {color: 'grey'}}});
let naranja = new M.style.Generic({polygon: {fill: {color: 'orange'}}});
let marron = new M.style.Generic({polygon: {fill: {color: 'brown'}}});
let magenta = new M.style.Generic({polygon: {fill: {color: '#e814d9'}}});
let morado = new M.style.Generic({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} - opcional - con las relaciones valor-estilo. Si no se especifica, se generarán estilos aleatorios para cada valor del atributo. |
💡 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? Especifica únicamente el 'attributeName' en el constructor del estilo, sin indicar ningún parámetro 'categoryStyles': Estilos aleatorios.
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