Skip to content

Categorías

fbma edited this page Dec 13, 2017 · 9 revisions

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

Ejemplo funcional

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.
Clone this wiki locally