Convertir texto en números con ArcGIS Arcade
Vídeo
Este tutorial también está disponible en vídeo.
Intente aplicar estilo al mapa con el campo Valor total
Empezará viendo los datos de evaluación de propiedades en un mapa y revisando el campo Valor total. Intentará simbolizar el mapa con este campo.
- Abra la capa de evaluación de propiedades de Portage la Prairie en Visor de mapas.
Aparece un mapa de los límites de las propiedades de la ciudad.
- En caso necesario, haga clic en Iniciar sesión en la cinta e inicie sesión en su cuenta de organización de ArcGIS.
Nota:
Si no tiene una cuenta de organización, consulte las opciones de acceso a software.
- En el panel Capas, haga clic en el botón Opciones en el nombre de la capa y, seguidamente, en Mostrar tabla.
Aparece la tabla de atributos de la capa debajo del mapa.
- Desplácese horizontalmente por la tabla para buscar el campo Valor total.
Visualizará este campo en el mapa, de modo que pueda ver qué propiedades tienen valores más altos que otras.
- Cierre la tabla.
- En la barra de herramientas Configuración, en el lado derecho de la pantalla, haga clic en el botón Estilos.
Nota:
Si la barra de herramientas Configuración no está disponible, en el panel Capas, haga clic en Evaluación de propiedades de Portage la Prairie . La barra de herramientas Configuración solo está disponible cuando se selecciona una capa.
- En el panel Estilos, haga clic en el botón Campo.
- En la ventana Campos seleccionados, haga clic en Valor total y en Agregar.
El panel Estilos se actualiza para mostrar los estilos disponibles para el campo Valor total. Solo hay dos: Tipos (símbolos únicos) y Ubicación (símbolo único). Esperaba utilizar un estilo cuantitativo como Recuentos y cantidades (tamaño), pero ninguno está disponible.
Cerca de la parte superior del panel Estilos, junto a Valor total, el tipo de campo aparece como abc, lo que indica que es una cadena de caracteres o un campo de texto.
Se requieren valores numéricos para utilizar el estilo Recuentos y cantidades. No funcionará con valores de texto.
Crear una expresión de Arcade
Todavía puede simbolizar el mapa con el campo Valor total y el estilo Recuentos y cantidades. Utilizará una expresión de Arcade para convertir los valores de texto en valores numéricos.
- En el panel Estilos, junto a Valor total, haga clic en el botón Eliminar.
- Haga clic en el botón Expresión.
Aparece la ventana del generador de expresiones.
- Borre cualquier código de ejemplo en la ventana del generador de expresiones.
- Cerca de la parte inferior de la ventana, haga clic en el botón Expandir.
- En la barra de herramientas expandida, haga clic en Funciones.
Aparece el panel Funciones, que enumera todas las funciones de Arcade disponibles.
- En la barra de búsqueda, escriba número.
La lista se filtra a una función, Number(value, pattern?) -> Número
- Número es el nombre de la función.
- El valor y el patrón son sus dos parámetros. El signo de interrogación indica que el patrón es un parámetro opcional.
- El texto -> Número al final indica que la salida de esta función será un número.
Utilizará esta función para convertir los valores de texto almacenados en el campo Valor total en valores numéricos.
- Haga clic en Number(value, pattern?) -> Número
La función aparece en el generador de expresiones. El parámetro valor_ se resalta. A continuación, lo reemplazará por el campo Valor total, por lo que deje resaltado el parámetro.
- En la barra de herramientas, haga clic en Variables de perfil.
Las variables de perfil son variables de datos del mapa que puede utilizar como entradas en Arcade expresión de Arcade. Incluyen todos los campos de la capa.
En el panel Variables de perfil, $feature hace referencia a las entidades de la capa. En este caso, las entidades son propiedades de la capa Evaluación de propiedades de Portage la Prairie.
- Junto a $feature, haga clic en el botón de flecha.
Aparece una lista de todos los campos de la capa Evaluación de propiedades de Portage la Prairie.
- Desplácese hasta la parte inferior de la lista y haga clic en $feature.Total_Value.
La expresión se actualiza a Número ($feature.Total_Value).
El primer parámetro, valor, se define ahora como $feature.Total_Value. La expresión accederá al atributo Valor total de cada entidad de la capa. El siguiente parámetro, patrón, es opcional, por lo que ejecutará la expresión para comprobar si funciona sin definir un patrón.
- Encima del generador de expresiones, haga clic en Ejecutar.
En la ventana Salida, se informa el Número de salida: NaN. Nan significa "No es un número". En este caso, la expresión no funcionó con un patrón indefinido.
- Modifique la expresión a Number($feature.Total_Value, '#.#').
El carácter # significa un dígito opcional en la función Número. El patrón #.## convertirá cualquier cantidad de dígitos antes del decimal y hasta dos dígitos después del decimal. Los valores del campo Valor total son monetarios, así que hay una posibilidad de que algunos se puedan expresar con hasta dos decimales. Este patrón garantizará que los valores con posiciones decimales se puedan convertir.
- Haga clic de nuevo en Ejecutar.
La ventana Salida sigue reportando Número: NaN. A continuación, consultará la documentación de la función para encontrar una solución.
Arreglar la expresión
Se recuerda que en la tabla de atributos cada número del campo Valor total iba precedido por un carácter $. Este es un carácter de texto. La expresión falla porque no puede convertir el carácter $ en un número. Consultará la documentación de la función Número para ver si hay una forma de eliminar el carácter $.
- En la barra de herramientas, haga clic en Funciones.
- En la barra de búsqueda, escriba número.
- Junto a Number(value, pattern?) -> Número, haga clic en el botón de flecha.
Aparece la documentación de la función.
- Desplácese hacia abajo hasta la sección Ejemplos.
El segundo ejemplo muestra cómo ignorar ciertos caracteres al convertir texto a números.
Number('abc10def', 'abc##def') // devuelve 10.
En la expresión de ejemplo, abc y def se definen como texto que se debe ignorar. Puede utilizar este patrón para ignorar el carácter $.
- En el generador de expresiones, coloque el cursor delante de #.## y escriba $.
La expresión final debe ser Number($feature.Total_Value, '$#.##').
- Haga clic en Ejecutar.
La ventana Salida informa Número: 85200. La expresión se realizó correctamente al convertir valores como $85.200 en números como 85200.
Nota:
Si su navegador web está configurado con un idioma distinto del inglés americano, la expresión puede fallar debido a las comas que se utilizan como separadores de miles. Si la ventana Salida sigue informando Número: NaN, borre la expresión existente y sustitúyala por el siguiente:
var numberOnly = Replace($feature.Total_Value, '$', '') // Remove dollar signs. var digitsOnly = Replace(numberOnly, ',', '') // Remove commas. Number(digitsOnly)
Nota:
Al hacer clic en Ejecutar, la expresión se prueba con la primera entidad de la capa.
Ahora que la expresión está completa, cambiará su nombre para describir mejor su propósito.
- En la parte superior de la ventana, haga clic en Nueva expresión. Borre el texto existente y escriba Valor total (numérico).
- Haga clic en Hecho.
Reaparece el mapa. El panel Estilos muestra la expresión Valor total (numérico) como el atributo elegido. Se ha seleccionado Recuentos y cantidades (color) como estilo predeterminado para los valores numéricos devueltos por la expresión.
El mapa visualiza los valores del campo Valor total con círculos más grandes para valores de propiedad evaluados más grandes.
Nota:
El campo Valor total y la capa Evaluación de propiedades de Portage la Prairie no cambian. La expresión Valor total (numérico) se guarda en el mapa web, no en la capa, pero si guarda una copia de la capa, estará disponible para su uso en otros mapas.
En este tutorial, aprendió a utilizar la función Número Arcade para convertir valores de texto en valores numéricos para una capa de un mapa de manera que pudiera aplicar el estilo Recuentos y cantidades. La expresión que ha escrito-Number($feature.Total_Value, '$#.##')- también se puede usar para formatear elementos emergentes y etiquetas.
Encontrará más tutoriales en la galería de tutoriales.