Web de MiraMon

La simbolización en MiraMon


Conceptos generales de la simbolización en MiraMon Tablas de simbolización en MiraMon
Vídeotutoriales de simbolización en MiraMon

Conceptos generales de la simbolización en MiraMon

MiraMon permite un amplio abanico de simbolización (colores, tramas y patrones para polígonos, fuentes sofisticadas para textos, símbolos de puntos, semitransparencias, etc) como de visualización de la capa en la leyenda (cuántos de estos símbolos aparecen en la leyenda y como lo hacen).

La simbolización se realiza a partir de una tabla de simbolización (de colores, de tramas, de fuentes y de iconos), en la que se define, para un número determinado de entradas (registros), la simbolización (el color, la trama, etc) asociada a cada una de ellas.

Previamente a la descripción de cada una de las tablas de simbolización, es preciso entender algunos conceptos clave en la simbolización:

1. Formato y contenido de las tablas de simbolización de MiraMon

1.1 Formato de las tablas de simbolización

Las tablas de simbolización pueden estar integradas en el esquema relacional de tablas alfanuméricas asociadas a los objetos de la capa o bien pueden ser tablas aisladas. En todos los casos se soportan en formato DBF o en cualquier formato accesible vía ODBC (MDB de Access, Oracle, etc); en este último caso, pueden ser tablas físicas, vistas predefinidas o consultas SQL construidas dinámicamente.

Los campos aceptados por las tablas de MiraMon pueden ser de tipo carácter, numérico, fecha y lógico:

  • Los campos de tipo carácter o "C" pueden contener cadenas de caracteres como por ejemplo "Barcelona", "Sant Pol de Mar", "273" o "34.5". ". También pueden contener expresiones que deban ser evaluadas. De momento las expresiones soportadas son de tipo xpath, como son xpath("http://www.meteo.cat/servmet/opendata/ctermini_comarcal.xml","/smc/prediccio[0]/variable[0]/@data"). Esto se consigue indicando en GeM+ que el campo es de este tipo activando la casilla "Es expresión".

    Todas las propiedades mostradas por el campo (descripción, unidades, etc) en realidad se refieren al resultado de la expresión una vez evaluada, no al texto en sí de la expresión, salvo el nombre del campo.

  • Los campos de tipo numérico o "N" pueden contener valores numéricos enteros o reales de prácticamente cualquier precisión, como por ejemplo 2004 o 3.14159265 (enteros entre 1 y 32 bits, reales de precisión simple y doble).
  • Los campos de tipo data o "D" pueden contener una expresión de fecha, como por ejemplo 4-08-2024.
  • Los campos de tipo lógico o "L" pueden contener un valor verdad o un valor falso.

Esta denominación se debe entender genérica, no ligada a ningún formato concreto (DBF, MDB, Oracle, etc) y sin perjuicio de las limitaciones de ciertos formatos de bases de datos (por ejemplo los campos lógicos no existen como tales en ciertos gestores).

En términos generales, los campos de tipo carácter y lógico se usan para expresar variables categóricas y los campos de tipo numérico y fecha se usan para expresar variables cuantitativas continuas y ordinales. No obstante, un campo de tipo numérico y fecha también puede ser tratado de forma categórica si está explícitamente documentado en el fichero de metadatos como de tipo categórico o se ha modificado el tratamiento en las opciones de visualización de la capa con la finalidad, por ejemplo, que un valor numérico 123 se interprete como un texto "123". Asimismo, un campo de tipo categórico puede ser tratado como numérico si está explícitamente documentado en el fichero de metadatos como de tipo cuantitativo continuo o de tipo ordinal (o modificando los botones radiales del tratamiento de la capa), con la finalidad, por ejemplo, que el texto "123" se interprete como un valor numérico. Estos casos, no obstante, no suelen ser habituales.

Si se desea optimizar la apertura de bases que contengan grandes tablas DBF, se recomienda tenerlas en el juego de caracteres ANSI y no en OEM a fin de no tener que hacer traducciones durante las operaciones de simbolización en las que intervienen campos de tipo 'C'.

1.2 Contenido de las tablas de simbolización

Las tablas de simbolización contienen varios campos, unos comunes a todas las tablas de simbolización y otros específicos en función de la simbolización correspondiente (color, fuentes, etc).

Campos comunes para cada cualquier tipo de simbolización:

  • CLAUSIMBOL: corresponde al valor a usar como clave identificadora de la simbolización la cual puede ser del mismo tipo que el campo que indica la simbolización, es decir, que puede ser un campo numérico, pero también un campo categórico o fecha si conviene. También existe la posibilidad que CLAUSIMBOL sea una pareja de campos [MIN_SIMBOL, MAX_SIMBOL], siempre de tipo numérico. Como excepción, y por compatibilidad con versiones anteriores de MiraMon, el campo CLAUSIMBOL se puede llamar NOM_SIMBOL en las tablas de simbolización referidas a iconos, si bien se recomienda ir abandonando esta denominación. La anchura máxima de campo CLAUSIMBOL (o NOM_SIMBOL en nomenclatura antigua) de las tablas de simbolización de simbología de puntos es de 100 caracteres. Además, se añade un aviso si una tabla sobrepasa este límite. Si necesita ampliar este límite, escriba a suport@miramon.uab.cat.
  • DESCRIPCIO: corresponde al campo que contiene la descripción de aquel símbolo (la que típicamente se mostrará en la leyenda). El campo descripción es de tipo categórico. El campo descripción, no obstante, puede pertenecer a la tabla que contiene el campo que indica la simbolización, en lugar de pertenecer a la tabla de simbolización. No obstante, para simplificar la explicación, aquí se plantea que el campo DESCRIPCIO pertenece a la tabla de simbolización. Por ejemplo, se desea colorear los municipios de un mapa según la comarca a la cual pertenecen y se quiere que la descripción sea el nombre de la comarca. En este caso, el campo que indica la simbolización (CLAUSIMBOL) puede ser CODI_COMARCAL y el campo que indica la descripción (DESCRIPCIO) puede ser NOM_COMARCA, campo que pertenece a la misma tabla que CODI_COMARCAL, en lugar de un campo específico DESCRIPCIO de la tabla de simbolización. Aun así, la solución más habitual y natural sería simbolizar directamente por el campo NOM_COMARCA

Campos específicos para cada tipo de simbolización:

  • R_COLOR, G_COLOR y B_COLOR: las tablas de simbolización de color (color del interior de polígonos, color de líneas, etc) definen el color a partir de estos tres campos, uno para cada componente RGB, los cuales contienen valores numéricos comprendidos entre 0 y 255.

  • R_TRAMA, G_TRAMA y B_TRAMA: las tablas de simbolización de color de tramas son análogas al caso anterior, con los tres campos RGB de valores numéricos comprendidos entre 0 y 255. También se admite la denominación R_COLOR, G_COLOR y B_COLOR referida al color de la trama.
  • TIPUSTRAMA: las tablas de simbolización de tramas contienen un campo que define los diferentes tipos de trama el cual contiene valores de tipos categóricos (se utiliza "Y", "-", "+", etc).
  • FI_ICONA: las tablas de simbolización de iconos contienen este campo, el cual es categórico y define la ubicación de las imágenes utilizadas como iconos. Como excepción, y por compatibilidad con versiones anteriores de MiraMon, este campo también se puede llamar FI_SIMBOL en las tablas de simbolización referidas a iconos, si bien se recomienda ir abandonando esta denominación.
  • FI_MOSTRA: en las tablas de simbolización de iconos, si los iconos deseados son diferentes a los que contiene MiraMon (típico en mapas sombreados), el campo FI_MOSTRA, de tipo categórico, define la ubicación de los ficheros de muestras. Cuando un registro de este campo contiene el valor especial "*" indica que se desea usar, para aquel registro, el símbolo estándar de la tabla de símbolos.
  • FONT: las tablas de simbolización de fuentes disponen de un campo categórico para la descripción completa de una fuente (tipo, color, tamaño y unidades, halo y su color, inclinación, etc).
  • FONT, FONT_ENTIT, TEXT_FONT y DESCRIPCIO: las tablas de simbolización que describen las fuentes de los textos en una capa de puntos, se definen a partir de estos campos. FONT y FONT_ENTIT son campos de tipo 'C' que describen todos los aspectos de la visualización de la fuente. FONT se utiliza para definir simbolizaciones a nivel de tipos de objeto y FONT_ENTIT se utiliza para definir simbolizaciones a nivel de entidades puntuales. TEXT_FONT es un campo de tipo 'C' usado para ejemplificar el tipo de fuente en la leyenda. Por ejemplo, un "TEXT_FONT" como "Roma" sería escrito con la fuente correspondiente al campo FONT del mismo registro y al lado se leería, con la fuente normal de la leyenda, la descripción "Ciudad de más de un millón de 'habitantes' situada en el campo DESCRIPCIO. A continuación se muestra un ejemplo del aspecto de una tabla de simbolización de fuente:
CLAUSIMBOL
FONT/FONT_ENTIT
TEXT_FONT
DESCRIPCIO
3
/NArial/H20/B Barcelona Ciudades de más de un millón de habitantes
2
/NArial/H12/C255,0,0 Sant Cugat Ciudades de más de noventa mil habitantes
1
/NTimes/H8 Balsareny Villas y pequeños núcleos
  • Esta tabla generará una leyenda con el aspecto:

  • LIN_COMBIN: se usa en tablas de simbolización combinada para líneas. El modelo permite, aunque habitualmente no será necesario, definir en una misma capa líneas con propiedades independientes en lo que se refiere a las propiedades comunes de las líneas de simbolización combinada: por ejemplo tener líneas con espesores en unidades mapa y estilo de conexión entre segmentos en chaflán mezcladas con líneas con grosores en píxeles y conexiones redondas entre segmentos. En este caso, será necesario definir la clave LinCombin= del fichero REL como PerObjete (LinCombin=PerObjete) para que MiraMon interprete que la simbolización combinada se indica por un campo de la base de datos, que apunta a una tabla de simbolización de líneas de simbolización combinada, la cual tendrá el tradicional campo CLAUSIMBOL y el mencionado campo LIN_COMBIN (que contendrá la cadena del formato de la línea de simbolización combinada).
  • FI_PATRO: se utiliza en las tablas de simbolización de patrones. Es campo, el cual es categórico y define la ubicación de los ficheros de patrones usados para llenar polígonos.

Se puede encontrar información específica sobre la simbolización del color, tramas, fuentes, etc, en Tablas de simbolización de MiraMon.

2. Tipología de simbolización: constante para toda la capa o indicada en función de un campo de la base de datos

En MiraMon, cada tipo de simbolización (color, tipo de trama, color de trama, etc) puede ser constante para toda la capa (es decir, un solo símbolo -color, trama, etc- para toda la capa), o bien puede ser variable en función de un campo de la base de datos (cualquier campo de cualquier tabla de la base de datos). En la siguiente figura se muestra, en la parte superior, un mapa en el que la simbolización de color es constante para todas las variables (carreteras principales) y, en la parte inferior, el mismo mapa con la simbolización de color indicada en función del campo "tipo de vía". Así pues, en el primer caso todas las carreteras aparecen del mismo color (azul) mientras que en el segundo caso, a cada carretera (tipo de vía) se le asigna un color diferente).

En la simbolización indicada por un campo de la base de datos, MiraMon contempla dos casos según qué tipo de tratamiento de la información del campo que indica la simbolización se desee dar:

  • Campos de variables categóricas: por ejemplo, los tipos de usos del suelo (agua continental, infraestructuras viarias, urbanizaciones, bosques, etc) son típicas variables categóricas. Tal y como se ha comentado anteriormente, se considera variables categóricas las de tipo lógico y de carácter tratadas de forma categórica (caso habitual), así como también las numéricas o fecha tratadas de manera categórica (caso no habitual), por ejemplo que un valor numérico 123 se interprete como un texto "123". En este último caso, es necesario modificar el tratamiento, de cuantitativo a categórico en la caja de visualización de la capa.
  • Campos de variables cuantitativas continuas o campos de tipo ordinal: por ejemplo los valores altitudinales de un Modelo Digital de Elevaciones (MDE) son típicas variables cuantitativas continuas. Tal y como se ha comentado anteriormente, se considera variables cuantitativas continuas las de tipo numérico y fecha tratadas de manera cuantitativa continua u ordinal (caso habitual), así como también las categóricas o lógicas tratadas de manera cuantitativa continua u ordinal (caso no habitual), por ejemplo, el nivel de contaminación de un suelo (1 para "bajo", 2 para "medio" y 3 para "alto") es una variable ordinal que será simbolizada de forma mucho más adecuada tratándola como categórica.
  • Para modificar el tratamiento habitual de las variables, es suficiente con modificar la opción que aparece por defecto en el apartado "Tratamiento" de la caja de visualización de la capa.

    Para ambos casos, una vez se define el campo que indica la simbolización, se puede optar por elegir una tabla de simbolización preexistente o bien por crear una tabla nueva (por ejemplo, eligiendo la tabla "Automático", modificándola mediante el botón "Avanzadas" según sea conveniente y guardándola como una nueva tabla). En esencia, esta elección determina cuántos símbolos diferentes (por ejemplo cuántos colores) se utilizará para la visualización del campo. MiraMon realizará una proyección del campo seleccionado para conocer cuántos valores diferentes aparecen al campo.

2.1 Simbolización indicada por un campo de la base de datos de tipo CATEGÓRICO

a) Tabla de simbolización nueva

Si se elige definir una tabla nueva, el programa creará en memoria una tabla nueva con las condiciones adecuadas de visualización (recuérdese que esta tabla puede ser guardada en cualquier momento a través del menú "Fichero | Guardar paleta o tabla de simbolización", y la vinculación con el fichero REL se puede guardar con el botón "Guardar..." presente en las cajas de diálogo dónde se establecen las condiciones de visualización).

La tabla presenta los campos definidos en el apartado de formato de las tablas de simbolización (CLAUSIMBOL, DESCRIPCIO y el campo o campos que describen la simbolización, como por ejemplo R_COLOR, G_COLOR, B_COLOR). El campo CLAUSIMBOL es, en este caso, de tipo categórico y contiene la proyección del campo que indica la simbolización. Por lo tanto, la nueva tabla tendrá tantos registros como esta proyección.

Como que el campo que indica la simbolización es categórico, el campo o campos que describen la simbolización se llenarán con valores diversos (por ejemplo diferentes valores de tramas, como "I", "-", etc). Si el número de símbolos diferentes es insuficiente para el número de registros de la proyección, se repetirán los símbolos (por ejemplo, si el campo es el nombre de los más de 900 municipios de Cataluña y el tipo de simbolización es de tipo trama, los diversos tipos de trama disponibles se irán asignando rotatoriamente a los diferentes municipios).

Si el campo que indica la simbolización contiene valores "sindatos", al campo o campos que describen la simbolización se les asignará el tipo por defecto indicado en el fichero MiraMon.par y en el campo CLAUSIMBOL se indicará el literal especial "%sindatos%". Si posteriormente se desea modificar estas asignaciones, recuérdese que dejar el contenido del campo o campos de simbolización en blanco implica no dibujar el objeto (dejar el polígono transparente, dejar la línea invisible, no dibujar el símbolo de un punto, etc). Así pues, el uso de cadenas vacías (o totalmente en blanco) se puede usar para indicar que la categoría nodebe ser visible en la leyenda si se activa la opción correspondiente en la caja de diálogo "Visualización de la CAPA/SERIE en la leyenda".

Si la nueva tabla, creada automáticamente, ha sido modificada (por ejemplo cambiando un color de los propuestos automáticamente por MiraMon), se advertirá, antes de cerrar la capa, de la conveniencia de guardar la tabla y de guardar la vinculación vía el fichero REL correspondiente a la capa y/o vía el eventual Mapa de MiraMon (MMM) generado.

b) Tabla de simbolización preexistente

Si se elige una tabla de simbolización preexistente, el programa examina los campos de la tabla y sigue la siguiente lógica:

  • Si la tabla no es adecuada al tipo de simbolización que se está efectuando (por ejemplo si se desea simbolizar colores y se selecciona una tabla de fuentes, que en lugar de tener los campos R_COLOR, etc, contiene el campo FONT), aparecerá un mensaje de error y se deberá volver a elegir. Para no confundir las diferentes tablas de simbolización es importante tener cada tipo en un directorio diferente, y cuando menos, con nombres de ficheros que indiquen qué tipo de simbología contiene cada una.
  • Si el campo CLAUSIMBOL es de tipo numérico (y no es tratado de manera categórica), la tabla de simbolización se considera no adecuada y se procede como en el caso anterior.
  • Si el campo CLAUSIMBOL es de tipo categórico, se hará una asignación directa por comparación de las cadenas de caracteres (si el campo era de tipo numérico o fecha, tratado de manera categórica, se comparan los valores numéricos en formato texto). Pulsando el botón "Avanzadas..." se accede a la caja de diálogo de Simbolización categórica desde la cual se puede modificar diversas condiciones de asignación.
  • Las opciones de asignación que se pueden elegir en esta caja de diálogo son el número de símbolos a representar y el símbolo a utilizar (por ejemplo el color de cada categoría). Si se modifica la tabla de simbolización, recuérdese que pulsando el botón "Guardar..." se conservarán los cambios. Si se pulsa el botón "Casos especiales", se puede elegir el tratamiento de algunos casos específicos de simbolización.

    Cuando el campo que indica la simbolización contiene un valor que no se encuentra en la tabla de simbolización, por defecto, MiraMon le asigna la simbolización indicada en el fichero MiraMon.par en la clave "ColorObjectesSenseAtribut", como por ejemplo, asignación de color negro (0,0,0). No obstante, se puede modificar esta opción, eligiendo no asignar simbolización de manera que el polígono será transparente, o bien se puede elegir asignar la simbolización como sindatos, con la activación del aviso en caso de ocurrencia si se desea.

    Un caso diferente es cuando el campo que indica la simbolización está vacío o no contiene ningún registro. En este caso, por defecto MiraMon aplica el valor sindatos de la tabla de simbolización. No obstante, también se puede modificar, no asignándole ninguna simbolización (polígono transparente) o bien asignando el valor indicado en la clave "ColorObjectesSenseAtribut" de MiraMon.par.

  • Si el campo CLAUSIMBOL es de tipo numérico, el enlace entre el registro correspondiente de la tabla de simbolización y la cadena de caracteres del campo que indica la simbolización se realiza de forma diferente según si el campo es lógico, de caracteres o fecha, o numérico (todos ellos tratados de manera categórica):
    • Si el campo que indica la simbolización es lógico, los valores TRUE se consideran 1 y los FALSE 0.
    • Si el campo que indica la simbolización es de caracteres o fecha, se convierte cada cadena de caracteres a un valor numérico en el intervalo [0,255]. Esta conversión es constante, es decir, una misma cadena de caracteres siempre da el mismo valor numérico, con lo cual la asignación de símbolos se mantiene invariable incluso si la capa se enriquece con nuevos elementos o si se cambian las cadenas de otros registros del mismo campo.
    • Si el campo es de tipo numérico, se usa el valor numérico del campo.

    En estos casos, pese a que CLAUSIMBOL es de tipo numérico, los valores son tratados de manera categórica, de manera que MiraMon no soporta utilizar tablas de simbología con campos [MIN_SIMBOL, MAX_SIMBOL) que definan el intervalo de asignación.

    Una vez realizada la conversión de la cadena a un valor numérico, el enlace entre las dos tablas se efectúa por asignación directa por defecto. Aun así, a través del botón "Avanzadas..." se puede acceder a la caja de diálogo de Simbolización categórica desde la cual se puede modificar diversas condiciones de asignación explicadas anteriormente.

    Recuérdese que si la tabla adoptada es modificada en la sesión de MiraMon (por ejemplo cambiando un color), el programa avisará de la conveniencia de guardar la tabla antes de cerrar la capa, y de guardar la vinculación vía el fichero REL correspondiente a la capa.

2.2 Simbolización indicada por un campo de la base de datos de tipo CUANTITATIVO CONTINUO u ORDINAL

a) Tabla de simbolización nueva

Si se elige definir una tabla nueva, el programa creará en memoria una tabla nueva con las condiciones adecuadas de visualización (recuérdese que esta tabla puede ser guardada en cualquier momento a través del menú "Fichero | Guardar paleta o tabla de simbolización", y la vinculación con el fichero REL se puede guardar con el botón "Guardar..." presente en las cajas de diálogo dónde se establecen las condiciones de visualización).

La tabla presenta los campos definidos en el apartado de formato de las tablas de simbolización (CLAUSIMBOL, DESCRIPCIO y el campo o campos que describen la simbolización, como por ejemplo R_COLOR, G_COLOR, B_COLOR). El campo CLAUSIMBOL es, en este caso, de tipo numérico y contiene la proyección del campo que indica la simbolización. Por lo tanto, la nueva tabla tendrá tantos registros como esta proyección.

Para conocer si el campo que indica la simbolización contiene una variable de tipo ordinal o una de tipo cuantitativo continuo, MiraMon consulta los metadatos del campo. En caso de que no esté indicado, se ofrece por defecto el que parezca más verosímil según el número de valores diferentes que aparecen al campo y el tipo de valores numéricos (por ejemplo, la presencia de valores reales parece indicar que se trata de un campo de tipo cuantitativo continuo).

MiraMon muestra el número real de valores diferentes que existen en el campo que indica la simbolización y permite indicar el número de valores deseados. También permite elegir entre definir clases basadas en intervalos definidos por el usuario o basadas en asignaciones numéricas automáticas (asignación directa, escalado lineal, escalado logarítmico, etc).

En el caso de elegir asignación por intervalos definidos por el usuario, el botón correspondiente permite especificar estos intervalos. Por defecto, se hacen intervalos basados en un escalado lineal entre valores. No obstante, estos intervalos pueden ser modificados. Los nuevos intervalos que se definan se guardan en los campos MIN_SIMBOL y MAX_SIMBOL de la tabla creada.

En el supuesto de que se elija asignación Numérica automática, por defecto se aplica asignación directa si es posible (es decir, cuando el número y rango de valores solicitados es igual al de símbolos); si no es posible se aplica desplazamiento y si esto tampoco es posible se aplica el escalado lineal.

Tanto si se elige asignación por intervalos como automática, la simbolización se hace, si es posible (color, tamaño, etc) de forma graduada. Esta graduación se puede modificar pulsando el botón de cada valor.

Para el tratamiento de valores sin registro, consúltese las indicaciones dadas para "sindatos" en el caso de los campos con variables categóricas.

Si la nueva tabla, creada automáticamente, ha sido modificada (por ejemplo cambiando un color de los propuestos automáticamente por MiraMon), se advertirá, antes de cerrar la capa, de la conveniencia de guardar la tabla y de guardar la vinculación vía el fichero REL correspondiente a la capa y/o vía el eventual Mapa de MiraMon (MMM) generado.

b) Tabla de simbolización preexistente

Si se elije una tabla de simbolización preexistente, el programa examina los campos de la tabla y sigue la siguiente lógica:

  • Si la tabla no es adecuada al tipo de simbolización que se está efectuando, o bien si el campo CLAUSIMBOL es de tipo categórico, se muestra un mensaje de error y se permite volver a elegir (análogamente al caso ya explicado de variables categóricas).
  • Si el campo CLAUSIMBOL es numérico, se aplican las opciones explicadas en el caso de tabla de simbolización nueva. Aun así, también es posible modificar los mismos aspectos que en el caso de crear una tabla nueva.
  • Si en ninguna parte del campo CLAUSIMBOL existen los campos [MIN_SIMBOL, MAX_SIMBOL) se aplican las opciones comentadas en la asignación por intervalos.

Recuérdese que si la tabla adoptada es modificada en la sesión de MiraMon, el programa avisará de la conveniencia de guardar la tabla antes de cerrar la capa, y de guardar la vinculación vía el fichero REL correspondiente a la capa

3. Simbolización en la capa y simbolización en la leyenda

El número de símbolos utilizados para mostrar una capa no tiene por qué coincidir con el número de símbolos a mostrar en la leyenda. Cuando se simboliza un campo de la base de datos que recoge una variable de tipo categórico (por ejemplo el tipo de vía -AP2, AP7, etc-) el número de símbolos utilizados para mostrar la capa coincide con el número de símbolos de la leyenda (a no ser que se desee ocultar algunas entradas de la leyenda por algún motivo, como por ejemplo poca presencia en el mapa, etc, opción que se puede realizar indicando manualmente los valores deseados en Visualización de la capa en la leyenda). En cambio, cuando se simboliza un campo de la base de datos que recoge una variable de tipo cuantitativo continuo (como los valores altitudinales de un Modelo Digital de Elevaciones), puede que se desee usar una tabla de simbolización de color de 20 niveles de gradación y mostrar en la leyenda estas 20 subentradas, pero también puede que, sin renunciar al aspecto graduado de los 20 niveles deseemos mostrar sólo 6 subentradas en la leyenda. En el caso de las variables de tipo ordinal, habitualmente la leyenda recoge tantas subentradas como niveles se visualizan, si bien puede ser imprescindible hacer reducciones en la leyenda en el caso de capas con muchos objetos.

A continuación se muestra un MDE en el que los nivel de visualización son 256 y, en cambio, los niveles o subentradas de la leyenda son 16 (múltiplos de 200 m).

Para más información en relación a la visualización de la capa en la leyenda, consúltese Cambiar orden y propiedad de las capas, del menú Visualización.

Simbolización multicampo para una misma capa

La simbolización multicampo puede ser utilizada cuando sea interesante indicar diferentes símbolos en función de diferentes campos de una misma base de datos. Por ejemplo, se puede indicar que el color de llenado de los polígonos responda a un campo de la base de datos (en una capa de actividades extractivas podría ser la "Situación actual" -en activo con restauración integrada, en activo y restauración no iniciada, etc-) y, simultáneamente, se puede indicar un tipo de trama diferente a cada polígono en función de otro campo de la base de datos (en las actividades extractivas podría ser el "Tipo de recurso explotado" -arcillas, calcáreas, gravas, etc-).

En los polígonos, la simbolización multicampo puede aplicarse a color de llenado, color de los bordes, grueso de los bordes, tipos de trama, color de la trama y patrones, aun cuando un mapa que use todas las posibilidades simultáneamente será difícilmente comprensible. En los arcos y líneas se puede aplicar la simbolización diferenciada al color de la línea y a su grosor, mientras que en los puntos, se puede aplicar al tipo de símbolo y al tamaño de los símbolos.

Cada nuevo aspecto que se simboliza "por campo de la base de datos" implica una nueva aparición de la capa en la leyenda. En cambio, los aspectos simbolizados como "constante", aparecen en la leyenda acompañando los simbolizados. En el ejemplo de las actividades extractivas los campos "Situación actual" y "Tipo de recurso explotado" son aspectos simbolizados por campo de la base de datos, y por lo tanto, aparecen por separado a la leyenda. En cambio, el límite de las canteras es un aspecto simbolizado con color constante (negro) y grueso constante (grueso 2) y por esto se muestra conjuntamente con los aspectos de "Situación actual" y "Tipo de recurso explotado". En cambio, si se deseara simbolizar el límite de las canteras por campo de la base de datos, por ejemplo con el campo "Tipo de Permiso", implicaría la aparición de este nuevo aspecto en la leyenda, tal y como muestra la figura siguiente.

Multisimbolización para un mismo campo

La multisimbolización para un mismo campo puede ser utilizada cuando sea interesante indicar diferentes símbolos para un mismo campo de la base de datos. Por ejemplo, se puede indicar que el color de llenado de los polígonos responda a un campo de la base de datos y que, a la vez, el tipo de trama aplicado también se indique en función del mismo campo de la base de datos. En estos casos, en la leyenda habrá tantas entradas como atributos diferentes contenga el campo, y cada entrada tendrá la doble simbolización (color y trama), puesto que ambos símbolos se indican por un mismo campo de la base de datos. Esto es lo que se denomina "colapsar". El colapso, no obstante, solo se producirá si los criterios de simbolización son idénticos y, por tanto, no es suficiente con que el campo de la base de datos sea el mismo, sino que también el tratamiento debe ser igual (categórico o cuantitativo), deben tener la misma tabla de simbolización y esta debe tener el mismo número de símbolos, etc.

4. Simbolización combinada de líneas

Las líneas de simbolización combinada permiten representar de forma correcta elementos lineales complejos como las carreteras, autopistas, etc. La línea de simbolización combinada se genera a través de la superposición de varias líneas elementales, que van siendo "sobrecargadas" (overloaded) para conseguir el efecto deseado. Por ejemplo, se pueden dibujar una línea continua de espesor 11 metros y color azul y, encima, una línea de puntos y guiones de espesor 7.5 metros y color blanco. Por defecto las líneas se pintan sobre fondo transparente (background), es decir, que si la línea es de puntos y guiones entre ellos no se dibujará ningún color. Si se desea, por ejemplo, un fondo blanco, simplemente debe indicarse la presencia de una línea de fondo de ese color.

Una línea de simbolización combinada se especifica a través de una cadena de texto que puede estar en un fichero REL o MMM (en la clave LinCombin=) si aplica a toda la capa, o en un campo (de nombre LIN_COMBIN) de una tabla de simbolización de líneas de simbolización combinada. Nótese que el modelo permite, aunque habitualmente no será necesario, definir en una misma capa líneas con propiedades independientes en cuanto a las propiedades comunes de las líneas de simbolización combinada: por ejemplo tener líneas con grosores en unidades mapa y estilo de conexión entre segmentos en chaflán mezcladas con líneas con grosores en píxeles y conexiones redondas entre segmentos. El uso de líneas de simbolización combinada excluye el uso de líneas simples convencionales. Así pues, la presencia de la clave LinCombin= indica que se ignorará la eventual presencia de la clave ColorConstant_L= o de otras claves derivadas, como ColorLinia= o GruixConstant_L= en los ficheros REL y MMM, por cuanto estos detalles están en la propia cadena referida por LinCombin= o en la correspondiente tabla de simbolización. La clave LinCombin= puede contener:

  • La cadena que especifica la línea de simbolización combinada (con el formato que se describe a continuación). En este caso, MiraMon interpreta que la simbolización combinada es constante para todas las entidades de la capa.
  • La cadena literal "PerObjecte" (sin las comillas). En este caso MiraMon interpreta que la simbolización combinada se indica por un campo de la base de datos, que apunta a una tabla de simbolización de líneas de simbolización combinada, que tendrá el tradicional campo CLAUSIMBOL y el mencionado nuevo campo LIN_COMBIN (que contendrá la cadena del formato de la línea de simbolización combinada).

El formato de la cadena que especifica la simbolización combinada está constituido por una serie de etiquetas que hacen referencia a las diferentes propiedades de toda la línea de simbolización combinada y otras que hacen referencia a las propiedades de cada línea elemental. Cada propiedad se especifica con una barra de dividir (/) seguida de una letra característica (sensible al caso: no debe usarse indistintamente mayúsculas y minúsculas) y, a continuación, en su caso, el valor que toma la propiedad. Las propiedades generales se indican al inicio de la cadena, seguidas de un punto y coma que indica que se han terminado las propiedades generales y que comienzan las propiedades de la primera línea elemental. Importante: si no hay ninguna propiedad general, la cadena empezará directamente con un punto y coma. Las propiedades de cada línea elemental también se separan con un punto y coma. La primera línea que se define es la primera que se dibuja y, por tanto, será la más "profunda" en el apilamiento de líneas elementales dibujadas. No debe escribirse punto y coma al final de la cadena, a menos que se desee aplicar una última línea negra de espesor 1 (parámetros por defecto de una línea).

Las propiedades soportadas para la línea de simbolización combinada son las siguientes:

Para la línea de simbolización combinada:

  • Número de líneas elementales que forman la simbolización combinada: No se especifica por ser deducible del número de puntos y coma que hay en la cadena que describe toda la simbolización combinada. El número máximo de líneas elementales que forman una línea de simbolización combinada ha sido fijado en 5, pero si se necesitara más, se puede enviar un correo electrónico a suport@miramon.uab.cat y con una simple recompilación del programa puede ampliarse tanto como convenga este límite.
  • Unidades del grosor (WidthUnits): /M. Indica que las unidades en las que se expresa el grosor de cada línea elemental son unidades mapa. Si no se indica se asume que el grosor está en unidades píxel para el grosor de la línea en la pantalla, y en mm para el grosor de la línea en la impresora. Es una propiedad común de la línea de simbolización combinada porque no tiene sentido indicar, por ejemplo, que de dos líneas elementales que forman una simbolización combinada, una sea en metros y otra en píxeles.
  • Conexión entre segmentos (Join): /K. A continuación se especifica el tipo de conexión de los diferentes segmentos de la línea, que puede ser en Chaflán -X- (bevel), punto Redondo -R- (round) o en Ángulo -A- (miter). Ejemplos /KX, /KR y /KA. Si no se indica, se aplica R (conexión entre segmentos en punto redondo). La siguiente figura ilustra cada tipo de conexión.

Para cada línea elemental:

  • Tipo de línea (PenStyle): /N. El estilo indica qué tipo de línea se desea: 0 (sólida), 1 (de guiones), 2 (de puntos), 3 (de puntos y guiones), 4 (de dobles puntos y guiones). Ejemplo: /N3. Si no se indica, se aplica el tipo 0 (sólida). Si se desea una línea transparente, simplemente de dejarse en blanco la totalidad de la codificación de la simbolización combinada; si se desea que una línea elemental no se pinte (útil en el dibujado progresivo de carreteras) debe indicarse a través del parámetro color, poniendo un color transparente.
  • Espesor de la línea en la pantalla (Width): /H. Se entiende que es en unidades píxel salvo que se hubiera indicado expresamente que los grosores están en unidades mapa a través de /M. Ejemplos: /H3 (grosor 3 píxeles); /H200.5 (grosor 200.5 unidades mapa, típicamente metros, si se había indicado /M al inicio de la definición de la simbolización combinada). Si no se indica, se aplica un grosor 1 (que será 1 píxel si no se ha indicado /M o 1 unidad mapa de lo contrario).
  • Espesor de la línea en la impresora (PrinterWidth): /h. Indica el grosor en milímetros (mm) de la línea en la impresora. Sólo aplica si las unidades en pantalla son píxeles y no unidades mapa (es decir, aplica si NO se ha indicado /M). Ejemplos: /h.3 (grosor 0.3 mm); /h1.5 (grosor 1.5 mm). Si no se indica, se aplica un grosor proporcional al grosor en píxeles en la pantalla, siguiendo el convenio que se desea que 1 píxel de pantalla se imprima como una línea de 0.15 mm (debe recordarse que si se ha indicado /M el grosor es común para pantalla y para impresora).
  • Color de la línea (Color): /C. A continuación se especifican, separadas por comas, las intensidades R,G,B. Ejemplo /C255,0,0 (color rojo). Si se quiere que una línea elemental no se pinte, debe indicarse a través de codificar con 1 cada componente de color: /C1,1,1 (aunque si lo que se desea es no pintar en absoluto la línea con simbolización combinada resulta más fácil dejar en blanco la totalidad de la codificación de la línea con simbolización combinada). Si no se indica color, se aplica NEGRO.
  • Extremo de la línea (EndCap): /E. A continuación se especifica el tipo de extremo de la línea, que puede ser Redondo -R- (round), Cuadrado -Q- (square) o Plano -P- (flat). Ejemplos /ER, /EQ y /EP. Si no se indica, se aplica R (extremo redondo). Debe notarse que al ser una propiedad de la línea elemental, pueden combinar estilos de extremo de línea si se desea. La siguiente figura ilustra cada tipo de extremo, así como el hecho de que sólo el tipo plano evita extenderse más allá del final de la línea cuando ésta tiene un cierto grosor.

Los modos plano y cuadrado de extremo de línea se muestran iguales en la leyenda, para evitar el efecto extraño que se produciría si se combinaran en una misma capa y se dibujaran unos más largos que otros; sin embargo, se respeta su comportamiento si se combinan entre sí o con el modo redondo a fin de que pueda apreciarse el efecto deseado al final de línea.

Algunos ejemplos de líneas de simbolización combinada:

Una cadena vacía implica, por convenio, una línea transparente (o sea, no se pinta la línea).

Una cadena con un solo punto y coma indica una línea de simbolización combinada formada por una sola línea elemental con los parámetros por defecto: sólida, de color negro, de 1 píxel de espesor en la pantalla y de 0.15 mm de espesor en la impresora, conexión entre segmentos en punto redondo y extremos redondos:

";/H5/C0,0,255;/H3/C255,255,0"
";/H7/C0,0,255/EP;/N1/H3/C255,255,0"
"/M/KA;/H25/C0,255,255;/N3/H7.5/C255,255,255"

Uso simultáneo de simbolización combinada de líneas y multiseries parciales:

Las multiseries parciales permiten que objetos de diferentes series cartográficas pertenecientes a la misma multiserie se dibujen en un mismo "nivel" de dibujado. Esta interesante propiedad hace posible, por ejemplo, dibujar un tramo de autopista por encima o por debajo de una carretera comarcal, según convenga. La simbolización combinada de líneas es plenamente compatible con el uso de multiseries parciales, con lo que es posible obtener efectos como los destacados en rojo en la siguiente figura.

Notas para la creación de multiseries parciales (MSP):

Hay que crear, dentro de la tabla de la multiserie, por ejemplo bt25mv10mm0IdTemaData_01ca.dbf, un campo de nombre MS_PARCIAL (descripción sugerida: "Multiserie parcial a la que pertenece"), de tipo Carácter y de ancho 29. Este campo contendrá, en las series que lo requieran, el nombre de la multiserie parcial a la que pertenece. Este nombre es libre pero evidentemente debe ser distinto para cada multiserie parcial definida dentro de una multiserie. Adicionalmente, la clave OrdenDintreMultiSerieParcial1 dentro del fichero REL (en la sección [METADATOS]) de la hoja en cuestión indicará las entidades que forman cada "iteración de redibujado". Debido a que de momento cada MSP no tiene otras características que el nombre de la MSP (que se deduce de la lectura de la tabla de la multiserie) y el número de niveles de la MSP (que se puede deducir del número de separadores que encontramos en la clave de la MSP de la capa-hoja), no se ha establecido una tabla ni un fichero REL que contenga atributos de la MSP. Sin embargo, y dado que el número de niveles de la MSP es una característica que debe mantenerse común en todas las capas-hoja que pertenecen a una misma MSP, es necesario que sea coherente en todas las series que forman parte de la MSP; de ahí que el campo de nombre NIV_MS_PAR (descrito como "Número de niveles de la multiserie parcial") en la tabla de la MSP indica este valor; al leer la tabla MiraMon controla que todos los valores de las MSP de igual nombre sean iguales y mayores que cero y avisará si detecta inconsistencias. El número máximo de niveles que forman una MSP ha sido fijado en 12, pero si se necesitara más, se puede enviar un correo electrónico a suport@miramon.uab.cat y con una simple recompilación del programa se puede ampliar tanto como convenga este límite.

Las multiseries parciales sólo se pueden aplicar a las series modernas, ya que las antiguas no tienen ni fichero de especificación de multiseries a la que pertenece cada serie.

Interfaz de usuario

Además de la indicación que se puede hacer desde los ficheros REL/MMM (líneas constantes para toda la capa) y desde la tabla de simbolización de líneas de simbolización combinada (líneas con simbolización indicada por un campo de la base de datos), la caja de diálogo de Composición de líneas combinadas permite a la persona usuaria definir interactivamente todas las propiedades de la simbolización combinada de líneas, tal y como se puede ver en la siguiente captura de pantalla:

La caja de diálogo aparece tanto al hacer doble clic desde un ítem de la leyenda, como desde la caja de simbolización de líneas y arcos.

Dibujado progresivo

Dado que las líneas combinadas se usan en muchos casos para codificar carreteras, se ha establecido un dibujado progresivo de las diferentes líneas elementales para que los enlaces de las carreteras queden correctamente establecidos desde un punto de vista visual. En este sentido resulta útil definir para todas las líneas combinadas de una capa de carreteras una línea elemental de base, con extremos de línea redondeados, combinada con otras líneas elementales teniendo presente que serán dibujadas "por iteraciones de líneas elementales" en toda la capa. Este modo de dibujado progresivo (primero la primera línea elemental de todas las entidades de la capa, después la segunda si existe, etc) proporciona resultados visuales satisfactorios en la mayoría de situaciones, aunque es algo más lento que el dibujado no progresivo. Es en este contexto que puede ser útil definir uno de los "pisos" de líneas elementales como "transparente" (a través del color codificado como tal) de forma que una carretera puede enlazar de forma más correcta con otras según las combinaciones de líneas elementales que se están diseñando. La idea es siempre tener presente que en el dibujado progresivo se irán dibujando los componentes en iteraciones desde la línea elemental más "profunda" hasta la más "externa".

La característica de dibujado progresivo o "por líneas elementales" de las líneas combinadas se indica en la sección de simbolización del mapa o del REL a través de la clave DibuixatProgressiuLinCombinades=. El valor por defecto es 1, mientras que si se especifica el valor 0 las líneas combinadas se dibujarán de forma individualizada, siguiendo el orden en el que aparecen en el archivo de entidades lineales y dibujando todas sus líneas elementales antes de pasar a dibujar la siguiente línea combinada.

En la siguiente figura hay tres entidades lineales, una que sube desde la parte inferior izquierda, una transversal y una que sube desde la parte inferior derecha. La figura superior muestra el efecto de indicar que NO se desea el dibujado progresivo.

Imagen superior: sin dibujado progresivo. Imagen inferior: con dibujado progresivo.

Desaparición de líneas demasiado finas por confusión con el color de fondo

Cuando, por motivo de escala, una línea combinada resulta pintada con el mismo grosor para todas sus líneas elementales (típicamente esto ocurre cuando todas son de grosor 1 píxel) y, además, la línea elemental superior es sólida y prácticamente igual al color del fondo de la pantalla (o del papel en impresión), esta línea combinada no se visualiza. El motivo de este artefacto es que el color de la última línea elemental "tapa" las otras líneas elementales y se confunde con el color de fondo. Con el fin de evitar este efecto indeseable, MiraMon adopta para la línea elemental superior el color de la anterior línea elemental en orden de dibujado que no sea transparente.

El modo automático

Como es habitual, si la primera vez que se simboliza un campo no se dispone de la correspondiente tabla de simbolización, suele ser más práctico que MiraMon haga una primera tabla a través de la activación del modo "Automático". En este caso, el programa actúa como siempre, pero con las siguientes particularidades:

  • Si el campo que indica la línea con simbolización combinada tiene un tratamiento categórico. En este caso, MiraMon parte de una pequeña colección interna de simbolización combinada de líneas. Si el número de símbolos necesarios sobrepasa el número de elementos de esta pequeña colección, ésta se va repitiendo, pero cambiando el color de la línea más externa de las líneas elementales siguiendo la tradicional paleta automática de tipo categórico. Así, el programa generará una tabla con tantos registros como se deriven de la proyección del campo, más el registro destinado a los sindatos, que se simbolizará con una línea simple de color negro y grosor 1.
  • Si el campo que indica la línea con simbolización combinada tiene un tratamiento cuantitativo continuo. En este caso, dadas las propiedades disponibles, el color es posiblemente la que se desee que MiraMon cambie. Así, el programa generará una tabla en la que se tomará como patrón una línea con simbolización combinada formada por un halo blanco más un segundo halo negro y un color interior que se asignará a los clásicos colores de la paleta cuantitativa continua de MiraMon; el registro destinado a los sindatos se simbolizará con una línea simple de color negro y espesor 1. Si previamente se ha asignado un número de símbolos diferente (por ejemplo porque se ha ensayado una simbolización categórica o porque se ha variado su número a través del botón avanzadas, éste será el número de registros que asumirá el modo automático cuantitativo continuo).

Si es necesario hacer retoques en la tabla de simbolización automática generada se puede guardar desde "Fichero | Guardar paleta o tabla de simbolización" y efectuarlos con MiraDades o bien, como es habitual, la persona usuaria puede ir cambiando la elección que ha hecho MiraMon automáticamente haciendo doble clic en las entradas de la leyenda, teniendo plena libertad para cambiar cualquier propiedad de la línea con simbolización combinada (colores, grosores, etc) de la categoría que ha seleccionado.

5. Simbolización en bases de datos provenientes de ARCSDE

MiraMon permite la herencia de la simbolización desde ficheros REL de capa con conexión vía SDS. Además, se ha acelerado diversos aspectos de la lectura de ArcSDE, y entre ellos la posibilidad de interrumpir la carga de elementos pulsando la tecla "May.", tal y como se hace para indicar otras interrupciones de dibujado en MiraMon. También se ha incluido un contador de objetos en la barra de estado para apreciar el proceso de recuperación de datos. Para acelerar el proceso y poder interrumpirlo eventualmente haciendo un nuevo zoom o desplazamiento mientras se recuperan los datos se hace una simbolización sencilla (líneas negras, polígonos sin pintar, etc) que finalmente se repinta con la simbolización definitiva, una vez el programa ha recuperado todos los elementos requeridos.

Si se guarda la simbolización de una capa en ArcSDE, ésta se guarda en el REL desde el que se ha abierto la capa, o en el temporal si ésta no se ha abierto a partir de un REL.

6. Modificación de una tabla de simbolización

Si una tabla de simbolización (paleta de color, de tramas, etc) ha sido modificada desde la leyenda o desde la caja "Avanzadas", en la caja de simbolización aparece, delante del nombre, la palabra [Modificada]. De esta forma si se pulsa "Aceptar" el programa entiende que se quiere mantener la paleta con los colores modificados (en vez de hacer como anteriormente, que mostraba un mensaje diciendo que se perderían los cambios y sugería pulsar "Cerrar"). Sin embargo, como también es necesario que haya una vía para recargar los colores de la paleta original, lo que se debe hacer ahora es pulsar el botón de exploración y volver a seleccionarla (desaparecerá la marca [Modificada]) y se procederá a cambiar la paleta anterior (modificada) por la nueva (releída).


Las tablas de simbolización de MiraMon dependen del tipo de elemento a simbolizar:

1. Tablas de simbolización de color

Una tabla de simbolización de color es una tabla en la cual se define, para un número determinado de entradas (registros), el color asociado a cada una de ellas. Las tablas de color pueden representar un número máximo de colores de 65536 dado que internamente, y siguiendo las características de Windows, MiraMon trabaja con este límite. Aun así, muchas tarjetas gráficas e impresoras no soportan más de 256 colores, por lo cual es recomendable no exceder este valor. El número máximo de niveles para cada componente RGB es de 256.

A partir de la versión 4.0 de MiraMon, las tablas de simbolización de color tienen el formato explicado en el apartado de Conceptos generales de las tablas de simbolización. No obstante, MiraMon continúa soportando los diferentes formatos para las tablas de simbolización de las versiones anteriores de MiraMon en función de los niveles máximos para cada componente RGB: P25 (0,255), PAL (0,63) y P65 (0,65535). Para más información, consúltese al final del presente apartado Tablas de simbolización de color anteriores a la versión 4.0 de MiraMon.

Las tablas de simbolización de color son aplicables para cualquier caso de indicación de color: color de ráster, color de línea (arcos, bordes de polígonos y líneas de vectores no estructurados), color de interior de polígono, color de tramas, etc.

1.1 Tablas de simbolización de color en ficheros ráster:

Cuando se abre un fichero ráster, MiraMon pide la tabla de simbolización de color a utilizar. Cada vez que se inicia una sesión, MiraMon ofrece unas tablas de simbolización (consúltese Directorio de lectura de ficheros), entre las cuales se incluyen de nivel de grises (Cgris16, Cgris256, etc) de modelos digitales de elevaciones y otras variables continuas (CMDE16, CMDE256, CNDVI256, Combr256, etc), de mapas categóricos (Ctematic, Cdigi256, etc). Se puede elegir, pues, alguna de estas tablas de simbolización de color, o bien otras que se hayan creado en ocasiones anteriores.

Los rásters (no las composiciones RGB, cuya simbolización tiene una naturaleza diferente) disponen de una caja de simbolización, de forma que puede indicarse color constante (que llenará todo el ráster excepto las eventuales zonas donde haya sindatos, que se tratará de forma transparente) o a través de una paleta de color. En este último caso, se puede acceder a la caja de opciones avanzadas, que en el supuesto de tratamiento cuantitativo de los datos de los píxeles permite indicar el número de colores en la paleta, el mínimo y máximo deseados o el tipo de asignación (directa, lineal, logarítmica, etc). Como siempre, MiraMon sigue eligiendo los parámetros más adecuados con una heurística interna en función del tipo de ráster, metadatos, etc, salvo que el fichero ya indique, a través de su REL o a través del mapa que lo abra, cuáles son las opciones deseadas; aunque la heurística de MiraMon se ha demostrado acertada durante muchos años, es también cierto que en algunas circunstancias puede ser necesario aplicar diferentes estrategias de simbolización.

En el caso de las composiciones RGB, la caja de simbolización permite indicar qué píxeles deben mostrarse transparentes (ninguno, los sindatos, los blancos, etc). Desde las respectivas cajas de simbolización de rásters (incluyendo JPEG2000, BMP, etc) y de composiciones RGB es posible:

  • Indicar el porcentaje de transparencia de la capa. Este porcentaje es compatible con la utilización de colores totalmente transparentes en la paleta.
  • Invocar la caja de mejora de imagen, también para los dos tipos de rásters.
  • Indicar el rango de escalas entre los que la capa será visible.
  • Acceder a la edición avanzada de la simbolización en los rásters categóricos con más de 256 categorías, y ya no sólo edición puntual de colores concretos a través de doble clic en la categoría correspondiente de la leyenda.

Se ha implementado el color transparente en las tablas de simbolización de los rásters de forma simétrica a la de los vectores, tanto para combinaciones RGB como para rásters con paleta (caso también soportado para los rásters de más de 256 categorías). La indicación interactiva de un color transparente se puede realizar a través de la leyenda, haciendo doble clic en el símbolo correspondiente o, también, desde la caja de simbolización para ficheros de 24 bits (tanto en combinaciones RGB como en JPEG, JPEG2000, etc). Su utilización en una capa hace que su dibujado sea algo más lento (MiraMon debe analizar la presencia de píxeles transparentes en esa vista y, en caso afirmativo, pedir a Windows que haga el tipo de visualización, más lento, que permite, transparencia total en algunos puntos).

Las propiedades de la transparencia total son también totalmente simétricas a las de los vectores: se indica por las intensidades RGB (-1,-1,-1) en la tabla de simbolización, puede aplicarse a cualquier símbolo, incluido el sindatos, y en la leyenda impresa se simboliza transparente, mientras que en la leyenda en pantalla se simboliza con el color de fondo que la persona usuaria ha elegido para MiraMon (menú "Visualización"); la indicación interactiva de un color transparente se puede hacer desde la leyenda haciendo doble clic en el símbolo correspondiente a la leyenda, caso también soportado para los rásters de tipo integer o long asociados a una leyenda (es decir, rásters con más de 256 categorías). También se ha apoyado la indicación de transparencia en las combinaciones RGB; en este caso se indica con la clave Color_Transparent= de la sección [RASTER_RGB_#] de los ficheros MMM; de momento la clave puede tomar los valores "3xsindatos", "sindatos", "Blanco" y "Negro", que indican, respectivamente, que los píxeles transparentes serán aquellos con los 3 valores RGB sindatos, con alguno de los valores RGB sin datos, totalmente blancos o totalmente negros; aparte de indicarlo vía esta clave de los ficheros MMM, la transparencia en ficheros de 24 bits (tanto en combinaciones RGB como en JPEG, JPEG2000, etc, de 24 bits) se puede indicar también a través de la caja de diálogo que aparece al pulsar "Visualización" desde el gestor de capas o desde la leyenda. No deben activarse colores o combinaciones RGB transparentes innecesariamente ya que, como se ha dicho, su utilización en una capa hace que en Windows su dibujado sea algo más lento; en caso necesario, de los 4 modos, el rápido es el sindatos; por otro lado, el modo 3xsindatos es puramente experimental porque puede crear efectos visuales extraños ya que el píxel con valor sindatos en una banda se prepara con un valor especial (típicamente 255) para preparar el efecto de transparencia pero sí otros componentes RGB del píxel no resultan ser sindatos habrá perdido su valor original.

Esta propiedad de los archivos JPG de presentar zonas transparentes en píxeles que contienen algún sindatos (o forzando a hacerlo sólo cuando sean sindatos los 3 componentes RGB) se permite que se escriba y se lea también en MMM. Con esta mejora también las especificaciones de transparencia en caso de color blanco, negro, etc, pasan a ser escritas/leídas en MMM. Hay que considerar, sin embargo, que por las especiales características de la compresión con pérdida, una zona sindatos en un RGB compuesto de 3 archivos IMG puede presentar, cuando se convierte en JPEG, una pequeña franja de transición cromática que haga que algunos píxeles sindatos presenten valores "similares" pero no idénticos (por ejemplo si eran 255 ahora sean 253) y, por tanto, la transparencia no se aplique de forma totalmente perfecta en la zona que era sindatos en el fichero sin compresión con pérdida original.



El color de los núcleos urbanos se ha definido como transparente y, por tanto, el ráster de usos del suelo deja ver, en estas zonas, la ortofoto subyacente.

Se soporta, en rásters multibanda, el uso simultáneo de las secciones [COLOR_TEXT] (como indicación genérica de la simbolización a usar para las bandas que no tienen una sección específica de simbolización) y de las secciones [COLOR_TEXT:NOM_BANDA] (como indicación de la simbolización específica de la banda) en el mismo REL. Semejantemente se soporta para el caso de la sección [VISU_LLEGENDA]. De este modo un ráster multibanda puede tener ahora una simbolización general para todas las bandas, pero también una específica para las bandas que convenga.

1.2 Tablas de simbolización de color en ficheros vectoriales

En el caso de ficheros vectoriales, la simbolización de color es aplicable a las líneas, al interior de los polígonos, a las tramas, etc. Cada vez que se define un color, MiraMon permite elegir un color constante para todos los objetos o bien indicado por un campo de cualquier tabla de la base de datos.

  • Color constante: por defecto se asigna un color el cual puede ser modificado pulsando el botón . Si se decide cambiar el color por defecto, aparecerá la caja de diálogo Colores dónde se podrá elegir el color. Este se mantendrá independientemente de las tablas de simbolización de color cargadas en cada momento y del tipo de atributo del fichero (cadena de texto o numérico). La ventana de edición de color permite elegir cualquier color de entre 16 millones de colores posibles. Aun así, existen 48 colores básicos predefinidos por el sistema (Windows) y también hasta 16 colores personalizados que serán conservados hasta el fin de la sesión. La definición de los colores se puede hacer mediante valores RGB, HSL o gráficamente.
  • Color indicado por un campo de la base de datos: si se decide visualizar los colores de los objetos de manera indicada, se debe definir el campo de cualquier tabla de la base de datos que indica el color (si se trata de un fichero vectorial no estructurado, el campo que indica el color será el "Atributo") y la tabla de simbolización deseada. Si no se elige ninguna tabla de simbolización, MiraMon coloreará los objetos de manera automática. La selección del campo de la tabla que se desee utilizar como índice de color se puede hacer sobre una lista de campos que aparecerá en una caja de diálogo. En esta lista sólo se muestran los campos que en el Gestor Universal de Metadatos Geoespaciales han sido marcados como simbolizables (si se desea un listado de todos los campos, se debe activar la opción "Mostrar todos los campos").

1.3 Tablas de simbolización de color anteriores a la versión 4.0 de MiraMon

Para versiones anteriores a la 4.0, MiraMon permitía diferentes formatos para las paletas en función de los niveles máximos para cada componente RGB (P25, PAL, P65). Importante: es necesario no confundir estos valores con el número de colores que puede contener la paleta. Aun cuando a partir de la versión 4.0 de MiraMon, se crea un nuevo formato para las tablas de color (DBF) que permite superar ciertas limitaciones de los formatos antiguos, estos se siguen soportando.

La antigua tabla de simbolización de color de MiraMon se define en un fichero de texto de 4 columnas y con tantas líneas como colores define la tabla:

contador valorR valorG valorB
0 0 0 0
1 0 97 0
2 0 162 0
3 0 255 0
4 255 255 0
5 255 210 0
6 255 182 0
7 255 138 0
8 255 113 0
9 186 85 0
10 182 125 0
11 186 162 0
12 121 101 0
13 121 65 0
14 243 243 0
15 255 178 0

El valor del contador se ignora y puede ser utilizado por el usuario en la manera que le convenga, puesto que la primera columna actúa como un simple numerador de líneas del fichero (desde el cero), de valor auxiliar cuando se editan los ficheros con editores de texto sin numeración de líneas (como el bloc de notas de Windows) pero sin ningún valor para MiraMon, puesto que el programa utiliza como índice de color la línea (desde el cero) en la que se define el color.

En función del formato de la antigua tabla de simbolización de color, los componentes RGB pueden tener diferente rango de valores. En MiraMon, existen tres formatos antiguos de tablas de simbolización de color en función de este rango. Es decir, aun cuando la tabla de simbolización de color puede tener como máximo 256 colores de visualización, el rango de los componentes RGB que definen cada uno de los colores de visualización puede llegar a tener 65535 niveles. En concreto, los tres formatos antiguos de tablas de colores, y el rango de valores de cada componente RGB se muestran a continuación:

-PAL: 64 niveles por componente RGB [0,63]

-P25: 256 niveles por componente RGB [0,255]

-P65: 65536 niveles por componente RGB [0,65535]

Las antiguas tablas de simbolización presentan ciertas limitaciones que las hacen menos operativas que las actuales tablas de simbolización. Entre estas limitaciones destaca la inexistencia de registro para sindatos. En estos casos, no hay un tratamiento especial de los sindatos (a diferencia de lo que sucede en las actuales tablas de simbolización).

Otra limitación, también muy importante, es que en las antiguas tablas de simbolización de color, el campo que indica el color sólo puede ser numérico. Esto implica la necesidad de definir un tesauro que vincule los campos categóricos (que realmente se desea indexar) con valores numéricos que puedan ser interpretados por la tabla de simbolización.

Por todo ello se aconseja no utilizar los formatos antiguos y optar por el nuevo formato tabular.

2. Tablas de simbolización de tramas

Una tabla de simbolización de tramas es una tabla en la cual se define, para un número determinado de entradas, la trama asociada a cada una de ellas. Las tablas de tramas pueden representar un número máximo de 46 símbolos diferentes (incluye el símbolo "sin trama").

Las tablas de simbolización de tramas son aplicables a vectores estructurados y a vectores no estructurados de tipo polígono. MiraMon por defecto activa la simbolización sin trama, de manera que el interior del polígono queda llenado según se haya elegido en la opción del color para llenar el interior del polígono (no llenar, color constante o color indicado).

Si se desea activar la opción trama, se debe pulsar el botón "Tramas..." de la caja de diálogo Visualización de vectores polígono y se accederá a la caja de diálogo Tramas. Cada vez que se defina una trama, MiraMon permite elegir una trama constante para todos los objetos o bien una indicada por un campo de cualquier tabla de la base de datos.

  • Trama constante: las tramas son líneas de color constante o indicado (tal y como se ha explicado en Tablas de simbolización de color) sobre un fondo transparente, lo cual permite que la trama se superponga al color de fondo del polígono (si tiene). Por defecto, el estilo de trama constante asignado por MiraMon es la línea horizontal. Si se desea modificar la trama, se debe pulsar el botón de los tres puntos y aparecerá una caja de diálogo con los diferentes estilos de tramas que se pueden utilizar.

  • Trama indicada: si se decide visualizar el estilo de las tramas de manera indicada, se debe definir el campo de la tabla de la base de datos que la indica (si se trata de un fichero vectorial no estructurado, el campo que indica la trama será la "Atributo") y la tabla de simbolización que se desea. Recuérdese que la lista de campos que aparecen para indicar la trama sólo muestra aquellos que en el Gestor Universal de Metadatos Geoespaciales han sido marcados como simbolizables. Para ver todos los campos, se debe pulsar "Mostrar todos los campos". Si no se elige ninguna tabla de simbolización, MiraMon asignará las tramas de manera automática. Para crear una nueva tabla de simbolización de tramas los diferentes estilos de tramas se definen en el campo TIPUSTRAMA con los caracteres "I", "-", "+", "\", etc. Se puede consultar los símbolos utilizados para cada trama en "Tipo de Trama", cuando se elige la opción de "Trama constante" en la ventana de diálogo de Tramas.

3. Tablas de simbolización de fuentes

Tradicionalmente una tabla de simbolización de fuentes es una tabla en la cual se define el tipo de fuente asociado a los ficheros estructurados de tipos PUNTO. No obstante, a partir de la versión 6 se introduce la posibilidad de hacer aparecer textos en entidades de tipo línea (siguiendo su dirección) y polígono (ubicándolos en su interior), pudiendo la persona usuaria elegir la mayoría de las anteriores propiedades, salvo las referidas a la rotación del texto y a la rotación de los caracteres, que son calculadas por el programa en el primer caso para cada entidad, y que no suelen ser necesarias en el segundo caso. Como es propio en un Sistema de Información Geográfica, los textos que aparecen corresponden a propiedades de la entidad, es decir, la persona usuaria elige un campo de la base de datos (de cualquiera de las tablas que la forman) y los contenidos de este campo se muestran en forma de textos a lo largo de la línea o en el polígono. Además, se permite que los distintos objetos de una misma capa de puntos aparezcan simbolizados de forma distinta. Sin embargo, dada la especial complejidad de las fuentes (definidas, como hemos dicho, por un conjunto extenso de propiedades), ha parecido conveniente ir algo más allá del esquema clásico aplicado a colores, tramas, etc, y que como es sabido se basa en las posibilidades de "sin", "constante" e "indicado por un campo de la base de datos" (con las sofisticaciones de tratamiento categórico o cuantitativo y, en este último caso, con escalado lineal, logarítmico, etc).

Estas extensiones no rompen el esquema unificado al que se ha ido tendiendo en la simbolización de MiraMon, sino que amplían sus posibilidades en un caso, el de las fuentes, que necesita recursos extra en la representación sobre el mapa y en la leyenda.

La simbolización de fuentes de MiraMon permite que algunas propiedades dependan de un campo de la base de datos y de una tabla de simbolización (por ejemplo, el tipo de fuente) mientras que de otras propiedades puedan ser tratadas individualmente en cada entidad (por ejemplo: la altura de la fuente, la inclinación y la rotación de los caracteres, etc). Con estos parámetros se hace posible representar los textos con una calidad muy satisfactoria, tal y como se puede observar en las tres figuras siguientes, extraídas de la BT-5M del Institut Cartogràfic de Catalunya en formato vectorial de MiraMon.

Así pues, la simbolización de textos está muy consolidada, permitiendo colores, tamaños en unidades mapa o tipográficas, características a nivel de objeto, de familia de objetos y de capa, etc. Muchas de estas sofisticaciones han sido aplicadas con éxito y estabilidad a las miles de hojas topográficas del Instituto Cartográfico de Cataluña distribuidas en formato MiraMon a escalas 1:5000, 1:25000 y 1:50000.

3.1 Niveles de simbolización de fuentes

La definición de la simbolización de textos puede realizarse a 4 niveles:

  • 1. Fuente estándard de Windows: por defecto, MiraMon activa la casilla "Mostrar textos" de la caja de diálogo Visualización de vectores PUNTO, que permite visualizar el texto del campo de la base de datos que se elija (atributo, identificador gráfico interno, etc). Este texto, por defecto se muestra en el ángulo superior derecho del punto, con la fuente estándar de Windows, que corresponde a una fuente sin opciones de formato, lo que implica una máxima velocidad en la visualización.
  • 2. Fuente constante para todos los textos de la capa: corresponde, por defecto, a tipo "Arial" tamaño "10". No obstante, si se pulsa el botón "Cambiar fuente..." se accede a la caja de diálogo "Definir fuente" desde la cual se puede modificar varios aspectos de la fuente:
    • Tipo de letra: Si se pulsa el botón "Fuente..." se accede a la caja de diálogo Tipo de letra, desde dónde se puede modificar el tipo de letra (Arial, Times New Roman, Tahoma, etc), el estilo de la letra (Normal, Cursiva, etc), el tamaño de la letra (medida 10, 20, etc), el color de la letra y los efectos (tachado, subrayado, etc).
    • Color de fondo: La caja de diálogo Definir fuente permite elegir varias opciones de color de fondo de la fuente. Por defecto MiraMon activa la opción "Ningún color de fondo", si bien también se puede elegir un color "Opaco" o bien que el fondo sea con un "Halo" alrededor. Para estas dos últimas opciones, se puede elegir el color de entre los 48 colores básicos predefinidos por el sistema (Windows) o bien se puede elegir otros personalizados (hasta 16 colores personalizados serán conservados hasta el fin de la sesión) de entre los 16 millones de colores posibles. La definición de los colores se puede hacer mediante valores RGB, HLS o gráficamente.
    • Tamaño de la letra: permite definir el tamaño de la letra.
    • Unidades del tamaño de la letra: El tamaño de la letra se puede expresar en unidades mapa (m o la unidad que corresponda) o bien en puntos tipográficos convencionales. Si se elige unidades mapa, el tamaño de la fuente cambiará de acuerdo con el cambio de escala. En cambio, si se elige el tamaño en puntos tipográficos, la fuente se mantendrá constante, independientemente de la escala de visualización.
    • Inclinación de la fuente: permite inclinar un texto respecto la horizontal. El rango de inclinación permitido es de entre 0 y 360º.
    • Orientación de cada carácter: permite que los caracteres que forman un texto se inclinen sobre la horizontal, independientemente de la inclinación de todo el texto.
    • Espaciado extra entre caracteres: permite definir una separación entre los caracteres que conforman el texto.
    • Estiramiento extra de la fuente: permite aumentar la anchura de cada fuente, sin que varíe la altura.
    • Desplazamiento X Y: permite modificar el punto de inserción del texto (por defecto se muestra en el ángulo superior derecho del punto) y determinar las unidades de desplazamiento, bien sea en puntos tipográficos como en unidades mapa.
    • Evitar solapamientos: permite evitar solapamientos de textos. Como es natural, esto es una petición, pero en caso de, por ejemplo, mucha densidad de textos puede no ser físicamente posible.
    • En el ejemplo siguiente se muestra en primer lugar un texto con halo de fondo. En la segunda figura (de izquierda a derecha) se ha aplicado una inclinación de la fuente de 15º. En la tercera figura se ha aplicado, sin ninguna inclinación de fuente, una inclinación de cada carácter de 15º. En la figura inferior izquierda se ha aplicado un espaciado extra entre caracteres de 10 puntos tipográficos y en la figura inferior derecha se ha aplicado un estiramiento extra de la fuente de 8.

  • 3. Fuente por objeto, indicada por un campo de la base de dades: corresponde al caso simétrico a "por objeto" conocido de otros tipos de simbolización (colores, tramas, etc). Las fuentes de los textos no están dotadas de simbolización particularizada para cada una de las propiedades que las controlan dado que en el caso de las fuentes no es habitual, para una misma capa, cambiar el color en función de un campo de la base de datos y, al mismo tiempo, cambiar también el tamaño en función de otro campo de la base de datos, etc. El tipo de tratamiento dado a las fuentes en cartografía obedece más a un tratamiento "en bloque", por lo que un cierto tipo de entidad (por ejemplo un nombre de municipio de más de un millón de habitantes) se quiere con una fuente que, "en bloque", se caracteriza por un cierto tipo de letra, tamaño, color, etc. Por otra parte, fuentes con estilos bien distintos (por ejemplo azules) presentes en el mismo mapa serán típicamente en otra capa (por ejemplo de ríos). Es por ello que el campo de la tabla de simbolización que determina cómo se verá una fuente (llamado FONT y de tipo 'C' en este tipo de simbolización) incluye todos los aspectos de visualización (en el apartado de especificaciones se describen las propiedades de simbolización que se pueden definir). Sin embargo, y dado que estos aspectos están perfectamente documentados en el apartado anterior, una persona usuaria que requiera un tratamiento especial de las fuentes como resultado de la interacción de más de un campo de la base de datos siempre puede escribir una sentencia SQL que llene adecuadamente el campo en función de los contenidos de los campos implicados.

    Adicionalmente, la tabla de simbolización contendrá un campo llamado TEXT_FONT, de tipo 'C', para el texto a usar para ejemplificar el tipo de fuente en la leyenda. Por ejemplo, un "TEXT_FONT" como "Roma" sería escrito con la fuente correspondiente al campo FUENTE del mismo registro y al lado se leería, con la fuente normal de la leyenda, la descripción "Ciudad de más de un millón de 'habitantes' situada en el campo DESCRIPCIO.

  • 4. Fuente por entidad, tipificada en una tabla de simbolización: en algunos casos puede ser necesario indicar propiedades específicas para una cierta entidad (para un cierto punto), como la inclinación. Estas propiedades no se muestran en la leyenda por no constituir una propiedad tipificada, sino particular de cada entidad.
  • Estas propiedades no se guardan en el campo fuente sino en un campo FONT_ENTIT, de tipo 'C' que contendrá, en el mismo formato de la cadena descrita en el apartado de especificaciones, las propiedades de fuente de la entidad. Por ahora, este campo está ubicado en la tabla principal, pero en un futuro podría establecerse en cualquier otra tabla de la base de datos o incluso en una tabla externa, vinculable a través del campo que contiene el identificador de entidad (o el identificador gráfico en su defecto). Cuando MiraMon crea el campo lo hace con una anchura de 150 caracteres para garantizar que cualquier expresión de especificaciones de fuente para la entidad, por compleja que sea, tenga cabida; sin embargo, se puede recortar convenientemente el ancho del campo si sólo se usan algunas propiedades (por ejemplo si sólo se indica negrita (/B) con un ancho de 2 caracteres sería suficiente).

    La individualización de propiedades de la fuente para cada entidad sólo se puede realizar sobre ficheros en formato REL4. Se debe convertir la capa en REL4 usando ConvREL si se necesita esta propiedad.

    Aspecto de la tabla principal (T.dbf) con los campos implicados en la simbolización de los puntos.

    A través del grupo "Propiedades tratadas individualmente para cada entidad" es posible indicar qué propiedades se desea individualizar a nivel de cada entidad. Si se selecciona:

    • Ninguna: se aplicará la fuente (constante por capa o por objeto) que corresponda. Todos los botones del grupo quedarán en gris. En el fichero REL/MMM se indica FontPerEntitat=0 (FONT_PER_GRUP en el código interno).
    • Todas: quedará en gris todo el grupo "Fuente a utilizar" y cada punto tendrá su propia fuente (internamente el programa lo etiquetará como constante). En este caso la leyenda utilizará un texto elegido por el propio programa de entre los representados en la capa. En el fichero REL/MMM se indica FontPerEntitat=1 (FONT_PER_ENTITAT en el código interno).
    • Algunas: podremos seleccionar qué propiedades se guardarán en el campo FONT_ENTIT. La leyenda tendrá el aspecto que corresponda en función de la elección en el grupo "Fuente a utilizar" (en caso de que se individualice alguna propiedad muy básica como el nombre de la fuente MiraMon también tomará una decisión entre los textos de la capa). En el fichero REL/MMM se indica FontPerEntitat=2 (FONT_MIXTA en el código interno) seguido de dos puntos (':') y de las letras indicativas de las propiedades a tratar individualmente para cada entidad, y que pueden ser las siguientes, que corresponden a los botones de activación del grupo inferior de la caja mostrada anteriormente:
      • /N: Nombre: "Arial", etc.
        /H: Altura y unidades: También incorpora unitats_mapa y alcada_font
        /C: Color: color_font
        /K: Color de fondo i aspecto: opaco, halo. Incorpora ColorFons i RectangleOpac
        /B: Negrita
        /I: Cursiva
        /U: Subrallada
        /S: Tachada
        /E: Inclinación y rotación de caracteres. Incorpora lfEscapement i lfOrientation
        /i: Espaciado extra entre caracteres
        /x: Estiramiento extra de la fuente
        /POS: Posición respecto al punto de inserción. Incorpora PosicioText, desp i DespUnitatsMapa

      Por ejemplo, FontPerEntitat=2:/E/POS indica que la inclinación y rotación de los caracteres, así como la posición (centrado, etc) y el desplazamiento se leerán del campo FONT_ENTIT en lugar de utilizar lo indicado en la fuente constante (cuando toda la capa se simboliza igual) o en la tabla de simbolización (cuando la fuente se indica por un campo de la base de datos).

Especificación de las propiedades de una fuente en las tablas de simbolización de MiraMon dentro del campo FONT / FONT_ENTIT (por ejemplo "/NArial/H12/B")

Tal y como se estableció en la versión 4, una fuente se especifica a través de una cadena de texto que puede estar en un fichero REL o MMM si aplica en toda la capa, o en un campo de una tabla de simbolización de fuentes, etc. El formato de esta cadena está constituido por una serie de etiquetas que hacen referencia a las distintas propiedades de la fuente. Cada propiedad se especifica con una barra de dividir (/) seguida de una letra característica (sensible al caso: no debe usarse indistintamente mayúsculas y minúsculas) y, a continuación, en su caso, el valor que toma la propiedad. El listado de propiedades soportadas es el siguiente:

    A. Propiedades con valor obligatorio (si se indican, deben ir seguidas de un valor)

    • Nombre de la fuente (FaceName): /N. Ejemplo: /NArial. Si no se indica, se aplica Arial.
    • Altura de la fuente (Height): /H. Se entiende que está en unidades tipográficas excepto que se indique expresamente que es en unidades mapa a través de /M. Ejemplos: /H12 (altura 12 puntos); /H200.5/M (altura 200.5 unidades mapa, típicamente metros). Si no se indica, se aplica una fuente de 10 puntos.
    • Color de la fuente (Color): /C. A continuación se especifican, separadas por comas, las intensidades R,G,B. Ejemplo: /C255,0,0 (color rojo). Si no se indica, se aplica NEGRO.
    • Color de fondo de la fuente (Background): /K. El color se especifica como en el caso /C. Si no se indica, se aplica BLANCO. Si se indica /h (¡en la minúscula!) el color de fondo se aplica a un halo y no a todo el rectángulo de fondo.
    • Inclinación de la fuente (Escapement): /E. A continuación se especifica, en decigrados en sentido antihorario, la inclinación. Ejemplos: /E450 (45°), /E225 (22.5°). Si no se indica, se aplica 0 (texto horizontal). Esta propiedad no aplica en el caso de los textos dinámicos que etiquetan líneas.
    • Rotación de cada carácter (Orientation): /O. A continuación se especifica, en decigrados en sentido antihorario, la rotación. Ejemplos: /U450 (45°), /U225 (22.5°). Si no se indica, se aplica 0 (letras sin rotación alguna). Típicamente debe escribirse el mismo valor que en la inclinación. No funciona en las versiones 9x de Windows. Esta propiedad no aplica en el caso de los textos dinámicos que etiquetan líneas.
    • Espaciado extra entre los caracteres de la fuente (InterCharSpacing): /i. A continuación se especifica, en puntos tipográficos, el espaciado extra entre los caracteres. Ejemplo: /i12. Si no se indica, se aplica 0 (sin espaciado extra).
    • Estiramiento horizontal extra de los caracteres de la fuente (Width): /x. A continuación se especifica el estiramiento horizontal de los caracteres escritos. Ejemplo: /x9. Si no se indica se aplica 0, que significa estándar; como referencia, en una fuente Arial de altura 10, un valor de 6 da el resultado estándar y valores más pequeños comprimen la fuente mientras que valores mayores la estiran.
    • Desplazamiento respecto al punto de inserción: /X e /Y: A continuación se especifica la distancia del inicio del texto al punto de inserción. La distancia se expresa por defecto en unidades píxel; si se desea expresarla en unidades mapa de indicarse /m; en caso de que esté en unidades píxel, el desplazamiento positivo es el clásico en rásters (hacia la derecha y hacia abajo), mientras que si está en unidades mapa sigue el criterio cartesiano habitual (hacia la derecha y hacia arriba). Ejemplo /X25.5 /Y33.7 /m. Si no se indica, se aplica 0 (el texto comienza en la coordenada XY del punto); es admisible indicar sólo una de las dos propiedades, en cuyo caso se aplica 0 a la no especificada. Véase también la propiedad "/POS", más adelante. Nótese que la propiedad "/X" no indica lo mismo que "/x".

    B. Propiedades con valor optativo

    • Espesor de la fuente (Weight): /B. Puede ir seguido de un valor entero si se desea un valor distinto al estándar (valor 700, equivalente a negrita). Ejemplos: /B (negrita estándar); /B400 (fuente normal, equivalente a no indicar la propiedad /B); /B100 (fuente muy fina); /B900 (fuente muy negra). Estos valores especiales no se pueden incorporar desde los menús ya que se considera que la persona usuaria estándar no lo necesitará, pero se pueden escribir manualmente o con programas en la cadena para enfatizar si conviene.

    C. Propiedades activables

    • Fuente cursiva (Italic): /. Ejemplo /I
    • Fuente subrayada (Underline): /U. Ejemplo /U
    • Fuente tachada (StrikeOut): /S. Ejemplo /S

    D. Otras propiedades

    Adicionalmente, aunque no es una característica de la fuente en sí, también se pueden añadir las siguientes propiedades, en este caso precedidas de una etiqueta de 3 letras:

    • Alineación: La indicación de texto a lineado a la derecha, centrado o a la izquierda se consigue con las indicaciones de Posición (se puede consultar el punto siguiente) NW, N y NE. Es necesario hacer notar que las indicaciones E, C y W en realidad no sólo alinean sino que también bajan el texto de modo que la línea horizontal que pasa por el punto de inserción atraviesa aproximadamente por medio las letras mayúsculas y números.
    • Posición del texto respecto al punto de inserción: /POS. A continuación se especifica, en base a los 8 puntos cardinales (N, S, E, W, NE, SE, NW, SW) o en el centro (C), la posición (se entiende que aquí los puntos cardinales simplemente se usan para indicar fácilmente la idea habitual de que N está en la parte superior, S en la inferior, etc, sin que tenga nada que ver con la orientación sobre la Tierra). Las posiciones NE, N y NW escriben el texto sobre la línea horizontal que pasa el punto de inserción alineándolo convenientemente a la derecha, centrado o izquierda. Las posiciones E, C y W alinean el texto como antes pero lo bajan de forma que la línea horizontal que pasa por el punto de inserción atraviesa aproximadamente de por medio las letras mayúsculas y números. Las posiciones SW, S y SE alinean el texto como antes pero lo bajan aún más, de forma que la línea horizontal que pasa por el punto de inserción queda en la parte superior de la caja del texto (la zona rectangular de color que puede apreciarse si se pide que el color de fondo de la fuente, background, sea opaco). Si no se indica posición, se escribe el texto en el ángulo NE del punto. Se puede consultar también las propiedades "/X" y "/Y", previamente presentadas. Esta propiedad no aplica en el caso de los textos dinámicos que etiquetan líneas o polígonos puesto que el proceso dinámico posiciona los caracteres convenientemente.

    Además, cuando se indica el tamaño en unidades tipográficas, la representación en pantalla es exactamente igual a la del papel (siempre y cuando se tenga bien configurada la indicación del tamaño del monitor). Nota: Toda la notación descrita en este apartado puede usarse, también, en la descripción de la simbolización de textos en ficheros .rel y .mmm.

3.2 Etiquetado dinámico

Etiquetado dinámico de los ficheros de arcos y líneas

Se permite el etiquetado dinámico de los arcos y de los VEC de líneas. Así, cualquier campo de cualquier tabla de la base de datos asociada a un fichero de arcos o atributo de un fichero VEC de líneas puede ser mostrado como un texto discurriendo junto al arco. Esta funcionalidad permite establecer el rango de escaleras dentro del cual mostrar los textos de las líneas (independientemente del rango de escaleras de la capa en sí y muy recomendable para evitar un exceso de textos en vistas generales), así como censurar los textos de 'una longitud excesiva en relación a su arco/línea correspondiente; esta última funcionalidad permite indicar valores como 0% (los textos siempre se dibujarán independientemente de la longitud del arco), 100% (los textos se dibujarán cuando el arco sea al menos tan largo como el texto), 200% (los textos sólo se dibujar si el arco es por lo menos el doble de largo que el texto), etc; este comportamiento permite evitar el etiquetado de arcos demasiado cortos y la obtención de textos solapados.

También es posible establecer una distancia al arco, por encima o por debajo, e incluso establecer el texto "atravesado" por la línea, como es tradición en las curvas de nivel; este parámetro también se indica en %: un valor 0 indica que el texto se sitúa por encima de la línea, un 50% indica que se deja media caja de texto extra separándolo de la línea, 100% indica que se deja l espacio correspondiente a una línea de texto entre el texto y la línea, etc; si se indica un desplazamiento negativo el texto se desplaza hacia abajo: si el desplazamiento es del -50% (media caja de texto) el texto queda "travesado" por la línea, si es del -100% se ubica enteramente debajo de la línea, etc.

El texto se orienta de la forma intuitiva según la orientación de la propia línea y, en caso de estar cerca del borde, valora si lo cambia a un lado del arco para poder hacerlo visible. El algoritmo estudia los distintos segmentos de la línea y elige el más largo como representativo para orientar el texto, pero si los segmentos son muy cortos generaliza paulatinamente la línea para encontrar una dirección satisfactoria. En cada intento pondera positivamente la centralidad del segmento en el contexto de su arco así como la longitud del segmento elegido. Si un arco entra y sale del campo de visualización o de impresión, éste se etiqueta todas veces que aparezca (a menos que alguna de las veces ocupe demasiado poco y sea censurado por alguno de los otros parámetros).

Es posible indicar "Evitar solapamientos" para que el programa intente evitar colisiones entre las etiquetas. El texto puede simbolizarse utilizando la práctica totalidad de propiedades que aplican a los puntos, con la excepción de la inclinación y orientación y el desplazamiento XY, que no tienen sentido en las líneas porque se deciden en función del arco/línea a etiquetar; en particular, debe recordarse que el texto se puede establecer en unidades tipográficas o en unidades mapa (se hará más pequeño al alejarse).

Etiquetado dinámico de los ficheros de polígonos

Se permite el etiquetado dinámico de los ficheros de polígonos (tanto POL como VEC). Así, cualquier campo de cualquier tabla de la base de datos asociada a un fichero POL o atributo de un fichero VEC de polígonos puede ser mostrado como un texto dentro del polígono. Esta funcionalidad permite establecer el rango de escalas dentro del cual mostrar los textos en los polígonos (independientemente del rango de escalas de la capa en sí y muy recomendable para evitar un exceso de textos en vistas generales), así como censurar los textos de un área excesiva en relación a su polígono correspondiente; esta última funcionalidad permite indicar valores como 0% (los textos siempre se dibujarán independientemente del área del polígono), 100% (los textos se dibujarán cuando el polígono ocupe al menos tanta superficie como el texto), 200% (los textos sólo se dibujar si el polígono es como mínimo el doble en superficie en el texto), etc; este comportamiento permite evitar el etiquetado de polígonos demasiado pequeños y la obtención de textos solapados.

La heurística de colocación de las etiquetas sigue un sofisticado sistema cuyas principales características son:

  • Se analiza un gran número de posiciones candidatas, basadas en la división del envolvente en zonas del tamaño de la etiqueta que se intenta ubicar dentro del polígono y cada posición se puntúa favoreciendo su centralidad en el polígono y su lejanía de los bordes interiores (agujeros) o exteriores del polígono. Si se selecciona la opción "Análisis completo" este análisis es exhaustivo y finalmente se elige la posición de la etiqueta que ha obtenido mejor puntuación, mientras que si no se marca dicha opción, cuando el programa encuentra una situación razonablemente satisfactoria detiene la búsqueda de la posición de la etiqueta, lo que acelera considerablemente el proceso de dibujado.
  • Se permite realizar un análisis extra que permite buscar alternativas en la posición horizontal de la etiqueta para evitar resultados poco satisfactorios por culpa de intersecciones con el borde en zonas horizontalmente estrechas. Este análisis extra se consigue marcando la opción "Criterios bordes".
  • Las etiquetas se desplazan de los bordes de visualización para intentar evitar que queden cortadas por la ventana de visualización.
  • Es posible indicar "Evitar solapamientos" para que el programa intente evitar colisiones entre las etiquetas.
  • En caso de múltiples islas (grupos topológicos) se elige el polígono de área más grande.
  • El texto se puede simbolizar utilizando la práctica totalidad de propiedades que aplican a los puntos; en particular, se debe recordar que el texto se puede establecer en unidades tipográficas o en unidades mapa (se hará más pequeño en alejarse).

    Cuando se cambia el contenido del campo que está siendo usado como atributo del objeto para el etiquetado dinámico en el proceso de digitalización de una capa (de arcos/líneas o polígonos) simbolizada con etiquetado dinámico el cambio de atributo se refleja inmediatamente en la pantalla.

    El modo automático

    Como es habitual, si la primera vez que se simboliza un campo no se dispone de la correspondiente tabla de simbolización, suele ser más práctico que MiraMon haga una primera tabla a través de la activación del modo "Automático". En este caso, el programa actúa como siempre, pero con las siguientes particularidades:

    El campo que indica la fuente tiene un tratamiento categórico:

    En este caso, de las propiedades disponibles, el color es posiblemente la que se deseará que MiraMon cambie; por otra parte, con un tratamiento categórico el programa no puede deducir a qué categorías desea la persona usuaria asignar textos grandes o pequeños, por ejemplo. Así, el programa generará una tabla en la que se tomará como patrón la última fuente constante cargada en la capa (Arial 10 si no se ha especificado ninguna) y generará tantos registros como se deriven de la proyección del campo, coloreándolos con la típica paleta temática utilizada en simbolización categórica automática, más el registro destinado a los sindatos, que se simbolizará con la variable interna de MiraMonFontObjectesSenseAtribut (Arial 10 negrita subrayada cursiva centrada).

    El campo que indica la fuente tiene un tratamiento cuantitativo continuo.

    En este caso, de las propiedades disponibles, la altura de la fuente es posiblemente la que se deseará que MiraMon cambie. Así, el programa generará una tabla en la que se tomará como patrón la última fuente constante cargada en la capa (Arial si no se ha especificado ninguna) y trabajará con la misma heurística que en los demás casos, intentando deducir si conviene aplicar una asignación directa, lineal, etc, partiendo de 10 registros a los que asignará fuentes progresivamente mayores (6,8,10,12,14,16,18,20,22,24), más el registro destinado a los sindatos, que se simbolizará con la variable interna de MiraMonFontObjectesSenseAtribut (Arial 10 negrita subrayada cursiva centrada). Si previamente se ha asignado un número de símbolos diferente (por ejemplo porque se ha ensayado una simbolización categórica o porque se ha variado su número a través del botón avanzadas, éste será el número de registros que asumirá el modo automático cuantitativo continuo.

    En ambos casos, el campo TEXT_FONT creado tiene una anchura de 45 caracteres, que se considera sobrado para albergar un texto representativo como "Barcelona" o "Sant Cugat del Vallès". El campo se rellena con el mismo valor que CLAUSIMBOL pero como se ha explicado previamente, la persona usuaria puede cambiar ese valor si le conviene. Si es necesario realizar retoques en la tabla de simbolización automática generada se puede guardar desde "Fichero | Guardar paleta o tabla de simbolización" y efectuarlos con MiraDades.

    4. Tablas de simbolización de iconos (símbolos)

    Una tabla de simbolización de iconos o símbolos define, para un número determinado de puntos, el símbolo asociado a cada uno de ellos. Las tablas de símbolos pueden representar un número ilimitado de símbolos. Los símbolos de las entidades de tipo punto, además de ficheros EMF y WMF, también pueden ser JPEG, PNG, BMP y GIF (incluso mezclados en una misma tabla de simbolización). Sin embargo, sí debe tenerse presente las limitaciones gráficas de estos formatos si se han de representar en una resolución que evidencie su naturaleza ráster. Sólo son aplicables a ficheros estructurados topológicamente.

    Por defecto, la opción de utilizar símbolos para representar puntos está desactivada, de manera que los puntos se visualizan mediante círculos blancos con contorno negro. El radio por defecto de estos puntos viene dado por el parámetro "RadiPnt" del fichero MiraMon.par, aunque se puede cambiar a través de la caja correspondiente: un valor 0 impide la visualización de los puntos, mientras que el valor 1 o 2 es adecuado en la mayoría de casos.

    En los ficheros de puntos también se puede elegir representar el radio en función de un campo de la base de datos. Esto es útil, por ejemplo, para representar datos como número de habitantes de municipios asociados a puntos, o para representar el recubrimiento de copas obtenido en un inventario forestal. En este caso se debe indicar el campo a usar así como el radio mínimo y máximo para escalar la representación.

    A través del botón "Simbología" de la caja de diálogo Visualización de vectores PUNTO se pueden seleccionar varias opciones para los símbolos:

    • Símbolo constante: todos los puntos están representados por el mismo símbolo. MiraMon dispone de un abanico de símbolos, clasificados en símbolos forestales, geométricos, de incendios, de números, de territorio, topográficos y otros. Cada vez que se inicia una sesión, MiraMon ofrece unas tablas de simbolización (se puede consultar Directorio de lectura de ficheros) desde dónde se puede elegir el símbolo deseado.
    • Símbolo indicado por campo y tabla de símbolos: el símbolo varía en función del campo de la tabla principal que se decida en función de una tabla de símbolos la cual debe contener al menos 3 campos: NOM_SIMBOL, DESCRIPCIO y FI_SIMBOL. Para más información, puede consultarse Campos de las tablas de simbolización. Esta tabla de símbolos puede ser creada con MiraDades o bien se puede utilizar alguna de las ya existentes en el directorio "Símbolos".
    • En la figura anterior se observa, en la parte superior, las capitales de comarca con un símbolo constante. En la parte inferior, el símbolo está indicado en función de la provincia. Si no se desean símbolos adicionales, se puede optar por diseñar nuevos símbolos desde un programa de edición gráfica capaz de exportar EMF (o WMF) o bien realizar esta edición con MiraMon e imprimir el resultado sobre un EMF.

    • Unidades del tamaño del símbolo: permite elegir que el tamaño del símbolo sea en unidades píxeles o bien en unidades mapa. Si se elige unidades mapa, el tamaño del símbolo cambiará de acuerdo con el cambio de escala. En cambio, si se elige el tamaño en píxeles, el símbolo se mantendrá constante independientemente de la escala de visualización.
    • Tamaño de los símbolos: permite elegir el tamaño del símbolo, con un valor constante (el cual puede ser definido) o bien con un valor indicado por un campo de la base de datos (análogamente al caso del radio del punto, puede ser útil, por ejemplo, para representar datos como número de habitantes de municipios asociados a un símbolo, etc). En este caso se debe indicar el campo a usar así como el radio mínimo y máximo para escalar la representación.
    • Posición del símbolo: permite elegir la posición del símbolo entre centrado, superior derecha, superior izquierda, inferior derecha o inferior izquierda del punto de inserción.

    Para no visualizar el punto de inserción en sí, se puede indicar, en la caja de diálogo Visualización de vectores PUNTO, un radio de tamaño 0.

    Si en la caja de simbología (iconos) se simboliza utilizando el mismo campo (típicamente un campo numérico de enteros pequeños 1,2,3...) para indicar tanto diferentes tamaños relativos de los símbolos como diferentes símbolos (indicados en la tabla de simbolización de los símbolos a través del correspondiente campo CLAUSIMBOL (o NOM_SIMBOL)), se observará que en la leyenda se colapsan los dos criterios y se ven los diferentes símbolos en gradación de tamaños.


    Se han desarrollado diversos videotutoriales relativos a la simbolización en MiraMon consultables en Simbolización en MiraMon.