Generar expresiones de etiqueta
Puede utilizar expresiones de etiqueta para ajustar el formato de las etiquetas. Además de las funciones de inserción y escritura de secuencias de comandos, puede utilizar etiquetas de formato de ArcGIS en expresiones de etiqueta. Son caracteres especiales para cambiar el aspecto de todas las etiquetas o solo un grupo. Por ejemplo, puede utilizar la etiqueta de formato en negrita para que la primera línea de una etiqueta apilada, de varias líneas, esté en negrita.
Una expresión de etiqueta se limita a una línea única de código a menos que marque la casilla Avanzada del cuadro de diálogo Etiquetar expresión. Si marca la casilla Avanzada puede escribir una función con lógica de programación y que abarque varias líneas de código.
Pasos:
- Haga clic en el botón Administrador de etiquetas en la barra de herramientas Etiquetado.
- Haga clic en una clase de etiqueta en la lista Clases de etiquetas.
- Haga clic en el botón Expresión.
- Elija un lenguaje en el menú Analizador.
- Escriba una expresión JScript o VBScript. Opcionalmente, escriba etiquetas de formato de texto de ArcGIS en el cuadro Expresión para aplicar formato a una parte del texto de la etiqueta.
Si la expresión va a abarcar varias líneas de código, marque la casilla de verificación Avanzada y, a continuación, escriba la expresión de la etiqueta.
- Haga clic en Verificar para asegurarse de que no hay errores de sintaxis.
- Haga clic en Aceptar en cada uno de los cuadros de diálogo.
Ejemplos de expresiones
A continuación se ofrecen ejemplos de expresiones de etiqueta:
- Concatenar una cadena de caracteres al valor de un campo. Por ejemplo, esta expresión crea una etiqueta donde "Parcela núm." precede el valor del campo PARCELNO:
VBScript
"Parcel no: " & [PARCELNO]
"Parcel no: " + [PARCELNO]
- Redondear un número decimal a un número fijo de decimales. Esta expresión muestra un campo de área redondeado a una sola posición decimal:
VBScript
Round ([AREA], 1)
function FindLabel ( [AREA] ) { var ss; var num= parseFloat([AREA]); ss = num.toFixed(1); return (ss); }
- Convertir las etiquetas de texto a todo mayúsculas o todo minúsculas. Esta expresión hace un campo Nombre esté todo en minúsculas:
VBScript
LCase ([NAME])
[NAME].toLowerCase()
- Convertir las etiquetas de texto a las mayúsculas o minúsculas correctas. Esta expresión toma un campo Nombre que está todo en mayúsculas y escribe en las mayúsculas o minúsculas correctas:
VBScript
Function FindLabel ( [NAME] ) FindLabel = UCase(Left([NAME],1)) & LCase(Right([NAME], Len([NAME]) -1)) End Function
function FindLabel ( [NAME] ) { var str = [NAME]; var iLen = String(str).length; var upper = (str.substring(0,1)).toUpperCase(); var lower = (str.substring(1, iLen)).toLowerCase() return upper + lower; }
- Crear texto apilado. Esta expresión crea una etiqueta con el campo Nombre y los dos campos de dirección, todos en líneas separadas:
VBScript
"Name: " & [NAME] & vbCrLf& [ADDRESS_1] & vbCrLf& [ADDRESS_2]
"Name: " + [NAME] + "\r" + [ADDRESS_1] + "\r" + [ADDRESS_2]
- Crear texto apilado en función del texto de un campo. Esta expresión utiliza la coma para especificar donde tiene lugar la pila:
VBScript
Function FindLabel ( [LABELFIELD] ) FindLabel = replace([LABELFIELD], ", ", vbnewline) End Function
function FindLabel ( [LABELFIELD] ) { var r, re; var str = [LABELFIELD]; re = /,/g; r = str.replace(re, "\r"); return r; }
- Dar formato a las etiquetas. Esta expresión muestra la etiqueta como moneda:
VBScript
"Occupancy Revenue: " & FormatCurrency ([MAXIMUM_OC] * [RATE])
function FindLabel ( [MAXIMUM_OC], [RATE] ) { var ss; var num1 = parseFloat([MAXIMUM_OC]); var num2 = parseFloat([RATE]); var num3 = num1 * num2 ss = num3.toFixed(2); return ("$" + ss); }
- Especificar una instrucción IF-ELSE condicional. Estas funciones etiquetan ciudades con su nombre con una fuente grande y roja si su población es igual o superior a 250.000 y con la etiqueta predeterminada si la población es menor de 250.000:
VBScript
Function FindLabel ([NAME], [POPULATION]) if ([POPULATION] >= 250000) then FindLabel = "<CLR red='255'><FNT size = '14'>" + [NAME] + "</FNT></CLR>" else FindLabel = [NAME] end if End Function
function FindLabel ( [NAME], [POPULATION] ) { if ([POPULATION] >= 250000){ return ("<CLR red='255'><FNT size = '14'>" + [NAME] + "</FNT></CLR>"); } else return ([NAME]); }
Nota:Para etiquetar un subconjunto de entidades en función del valor de un campo, cree la consulta SQL en la clase de etiqueta en lugar de hacerlo a través de la expresión de etiqueta.
Más información sobre la referencia al lenguaje Microsoft VBScript
Más información sobre la referencia al lenguaje Microsoft JScript
Esta información se encuentra en páginas web creadas por Microsoft Corporation, que tiene su propiedad y las actualiza. ESRI no puede garantizar la disponibilidad de estas páginas y no es responsable del contenido que se encuentra en ellas.
Etiquetas de formato de texto de ArcGIS
Las etiquetas se dibujan utilizando el símbolo especificado en las fichas Administrador de etiquetas o Etiquetas del cuadro de diálogo Propiedades de capa. Puede modificar o modificar el aspecto de este símbolo para partes determinadas de la expresión insertando en la expresión etiquetas de formato de texto de ArcGIS como cadenas de texto. Así puede crear etiquetas con formato mixto en las que, por ejemplo, se subraye un campo de una etiqueta.
Las etiquetas que puede utilizar se muestran en la tabla siguiente. Los valores aceptables para Color (RGB) son rojo, verde, azul = 0–255, y los valores aceptables para Color (CMYK) son cian, magenta, amarillo, negro = 0–100; se supone que los atributos de color que faltan 0.
Fuente |
"<FNT name='Arial' size='18'>" & [LABELFIELD] & "</FNT>" "<FNT name='Arial' scale='200'>" & [LABELFIELD] & "</FNT>" |
Color |
"<CLR red='255' green='255' blue='255'>" & [LABELFIELD] & "</CLR>" "<CLR cyan='100' magenta ='100' yellow='100' black='100'>" & [LABELFIELD] & "</CLR>" |
N |
"<BOL>" & [LABELFIELD] & "</BOL>" |
Itálica |
"<ITA>" & [LABELFIELD] & "</ITA>" |
S |
"<UND>" & [LABELFIELD] & "</UND>" |
Todo mayúsculas |
"<ACP>" & [LABELFIELD] & "</ACP>" |
Versales |
"<SCP>" & [LABELFIELD] & "</SCP>" |
Superíndice |
"<SUP>" & [LABELFIELD] & "</SUP>" |
Subíndice |
"<SUB>" & [LABELFIELD] & "</SUB>" |
Espaciado entre caracteres (0% = normal) |
"<CHR spacing='25'>" & [LABELFIELD] & "</CHR>" |
Ancho de carácter (100% = normal) |
"<CHR width='150'>" & [LABELFIELD] & "</CHR>" |
Espaciado entre palabras (100% = normal) |
"<WRD spacing='150'>" & [LABELFIELD] & "</WRD>" |
Línea directriz (pts) |
"<LIN leading='12'>" & [LABELFIELD] & "</LIN>" |
Anular negrita |
"<_BOL>" & [LABELFIELD] & "</_BOL>" |
Anular cursiva |
"<_ITA>" & [LABELFIELD] & "</_ITA>" |
Anular subrayado |
"<_UND>" & [LABELFIELD] & "</_UND>" |
Anular superíndice |
"<_SUP>" & [LABELFIELD] & "</_SUP>" |
Anular subíndice |
"<_SUB>" & [LABELFIELD] & "</_SUB>" |
Sintaxis de etiquetas
Las siguientes reglas de sintaxis se aplican a las etiquetas en expresiones de etiqueta:
- Las etiquetas de formato deben estar rodeadas por comillas dobles y concatenarse a otras partes de la expresión mediante el operador &:
"<BOL>" & [LABELFIELD] & "</BOL>"
"Current <BOL>status</BOL> of parcel: " & [LABELFIELD]
- Las etiquetas de formato de texto de ArcMap siguen las reglas de la sintaxis XML. Cada etiqueta inicial debe ir acompañada por una etiqueta final. Las etiquetas se pueden anidar, pero es necesario cerrar la etiqueta interior antes de cerrar una etiqueta exterior:
"<BOL><UND>" & [LABELFIELD] & "</UND></BOL>"
- En los pares de etiquetas, las mayúsculas y minúsculas se deben utilizar exactamente igual. Es válido <BOL>...</BOL> y <bol>..</bol>, pero <Bol>...</bol> no es válido.
- En expresiones de etiqueta, los atributos de etiqueta se deben escribir entre comillas sencillas o por dos pares de comillas dobles. Las siguientes expresiones son equivalentes:
"<FNT name=""Arial"" size=""18"">" & [LABELFIELD] & "</FNT>"
"<FNT name='Arial' size='18'>" & [LABELFIELD] & "</FNT>"
- Los caracteres especiales & y < no son válidos en el texto si se utilizan etiquetas de formato. Utilice los códigos de caracteres equivalentes, & y <. Por ejemplo, en esta expresión se muestran los valores del campo de la etiqueta dentro de caracteres < >:
"<ITA><" & [LABELFIELD] & "></ITA>"
Function FindLabel ([LABELFIELD]) NewString = Replace([LABELFIELD],"&","&") FindLabel = "<ITA>" & NewString & "</ITA>" End Function
- Las etiquetas de formato se pueden incrustar en los valores del campo utilizado para etiquetar las entidades de una capa, tanto si utiliza una expresión de etiqueta como si no. De esta manera, puede cambiar el formato de cualquier parte de un valor determinado de un campo de etiqueta. Para incrustar etiquetas de formato, el campo de la etiqueta debe ser del tipo de cadena. Las etiquetas y los atributos de etiqueta utilizados en valores de campo no se tienen que escribir entre comillas, de modo que los valores siguientes son válidos en un campo de etiqueta:
<ITA>Rochester</ITA> <FNT size='18'>C</FNT>Colorado
Sugerencias para crear expresiones de etiqueta
Las siguientes sugerencias le ayudarán a crear expresiones de etiqueta:
- Para comprobar la validez de expresiones que contienen etiquetas de formato de texto, haga clic en el botón Verificar, o en el botón Aplicar para ver las etiquetas en el mapa. Si hay sintaxis o etiquetas de formato no válidas, las etiquetas aparecen como texto sin formato en la ventana Verificar y las etiquetas del mapa.
- Se pueden utilizar etiquetas de formato de texto en prácticamente cualquier lugar donde se coloca texto en el mapa o alrededor de él.
Más información sobre cómo utilizar etiquetas de formato de texto