Publicar un servicio de entidades
En este tutorial, creará una capa de entidades alojada en ArcGIS Online para mostrar datos de embalses de Texas casi en tiempo real. Primero, descargará datos de embalses de Texas. A continuación, usará esta información para publicar una capa de entidades alojada y configurar una vista de esta. Configurará un script de Python para actualizar la capa de entidades y configurará una tarea de Windows para ejecutarlo. La capa de entidades de datos de embalses de Texas se sobrescribirá a medida que haya disponibles datos nuevos, por lo que los mapas web basados en la vista de entidades siempre mostrarán la información más reciente.
Acceder a datos de embalses de Texas casi en tiempo real
Primero, accederá a información sobre embalses del sitio web Water Data for Texas. A continuación, descargará los datos en formato GeoJSON y los almacenará localmente.
- En un navegador, vaya al sitio web Water Data for Texas. Desplácese hacia abajo y, en el gráfico Statewide Conservation Storage, haga clic en Recent Averaged Storage Conditions y luego en GeoJSON.
El sitio web le redirige a https://www.waterdatafortexas.org/reservoirs/statewide/recent-conditions.geojson, que contiene datos de embalses de Texas casi en tiempo real. Este es un archivo GeoJSON. Contiene información para cada embalse de Texas, como la ubicación (coordenadas), el nombre, el volumen total de explotación, el porcentaje de volumen embalsado y la última actualización (marca de tiempo).
Nota:
El sitio web Water Data for Texas es dinámico. Se actualiza con frecuencia, tan pronto como haya disponibles datos nuevos. El valor de marca de tiempo de cada embalse muestra la hora de la última actualización. - Haga clic en la página, pulse Ctrl + A para seleccionar todo el texto de la página de condiciones recientes, haga clic con el botón derecho y, seguidamente, haga clic en Copiar. También puede pulsar Ctrl + C para copiar el texto.
- Abra un editor de texto como, por ejemplo, el Bloc de notas++, y pulse Ctrl + V para pegar el texto en un nuevo archivo.
- Guarde el archivo en su equipo local. En la ventana Guardar como, vaya a una carpeta de su equipo como, por ejemplo, C:\Temp\ y, a continuación, escriba recent-conditions.geojson para el nombre del archivo. En Guardar como tipo, elija Todos los archivos.
Nota:
Verifique el archivo de la carpeta local después de guardarlo para asegurarse de que la extensión de archivo es .geojson y no .geojson.txt.
Agregar un elemento a ArcGIS Online
Utilizará un archivo GeoJSON local de datos de embalses de Texas para crear una capa de entidades alojada en ArcGIS Online.
- Inicie sesión en su cuenta de la organización de ArcGIS.
Nota:
Si no tiene una cuenta de organización, consulte las opciones de acceso a software.
- Si es necesario, haga clic en Contenido y luego en Mi contenido.
- Haga clic en Nuevo elemento.
- Arrastre el archivo recent-conditions.geojson que acaba de guardar en el panel de carga.
- Acepte la opción predeterminada para Agregar recent-conditions.geojson y crear una capa de entidades alojada y haga clic en Siguiente.
- Acepte las opciones predeterminadas configuradas en la página Campos y haga clic en Siguiente.
- En la siguiente página del panel Nuevo elemento, introduzca lo siguiente:
- En Título, escriba TX_reservoirs_recent_ y agregue su nombre o iniciales.
- En Etiquetas, escriba Condiciones recientes de embalses de Texas y pulse Intro después de cada una.
- En Resumen, escriba Información de embalses de Texas casi en tiempo real .
- Haga clic en Guardar.
El proceso tardará unos minutos. Una vez completado, aparece la página Descripción general de la capa de entidades alojada Datos_recientes_embalses_TX_(sunombre). Además de esta capa, se agrega una copia del archivo GeoJSON Datos_recientes_embalses_TX a su sección Mi contenido.
Ha accedido a información de embalses de Texas casi en tiempo real y creado un servicio de entidades alojado en ArcGIS Online. A continuación, usará el servicio de entidades para crear una vista de entidades. Esta vista de entidades se puede personalizar, compartir públicamente y agregar a sus aplicaciones. Crear la vista de entidades permite que el servicio de entidades se actualice sin alterar la simbología y los elementos emergentes configurados para la vista. Así se simplifica el proceso de actualización de los datos posteriormente.
Crear una vista de capa de entidades alojada
Ahora, creará una vista de capa de entidades alojada a partir de la capa de entidades alojada, compartirá la vista de capa de entidades alojada públicamente, actualizará su simbología y configurará sus elementos emergentes.
Crear la vista de capa de entidades alojada
La capa de entidades alojada de embalses de Texas que creó se sobrescribirá cuando haya disponible información nueva. El proceso de sobreescritura eliminará los ajustes de simbología y elementos emergentes personalizados y los restaurará a la configuración predeterminada. Para evitar que cambie el modo en que se muestran los datos en sus aplicaciones y mapas web, creará una vista de capa de entidades alojada en ArcGIS Online y configurará sus ajustes de simbología y elementos emergentes. Seguirán siendo los mismos y mostrarán los datos más recientes tras sobrescribir la capa de entidades alojada.
- En la página Descripción general de la capa de entidades TX_reservoirs_recent_(yourname), haga clic en Crear capa de vista y Ver capa.
- En la ventaja Crear capa de vista, en el panel Capas, la capa TX_reservoirs_recent_(yourname) - points está seleccionada de forma predeterminada. Haga clic dos veces en Siguiente.
En el panel Capas incluidas puede establecer definiciones de capas. Para obtener más información sobre estas opciones, consulte la documentación Crear vistas de capas de entidades alojadas.
- En el panel Crear, introduzca lo siguiente:
- En Título, escriba Condiciones recientes de embalses de Texas (sunombre).
- En Carpeta, si lo desea, puede especificar la carpeta en la que desea guardar la capa de vista.
- En Etiquetas, escriba Agua, Texas, Embalses, Entorno, Recursos naturales, Feeds en directo, feeds en directo, pulsando Intro después de cada una.
- Para Resumen, puede proporcionar texto adicional sobre la capa de vista.
- Haga clic en Crear. Una vez creada la vista, aparece la ventana emergente Correcto. Cierre esta ventana.
Se crea un nuevo elemento de vista de capa de entidades alojada desde la capa de entidades alojada y aparece la página de detalles del elemento para la nueva vista de capa de entidades.
- En la página Descripción general, haga clic en Compartir, elija Todos (público) y haga clic en Guardar.
La vista de capa de entidades alojada ahora es pública y accesible para todas las personas.
- Haga clic en Contenido.
Ahora hay tres elementos en su página Mi contenido: el archivo GeoJSON, la capa de entidades alojada y la vista.
Nota:
Se recomienda usar una vista de capa de entidades alojada para compartir una capa de entidades alojada, manteniendo privada la capa de entidades alojada original. Puede cambiar los elementos emergentes y la simbología de la vista de capa de entidades alojada sin modificar la capa de entidades alojada original. Durante el proceso de actualización, la capa de entidades alojada se puede sobrescribir y los valores nuevos se reflejarán en la vista de capa de entidades alojada. La simbología de la vista de capa de entidades alojada se guarda con ella y no se ve afectada cuando se sobrescribe la capa de entidades alojada original.Cambiar simbología
La vista de capa de entidades alojada tiene datos de embalses de Texas. Personalizará su simbología para representar mejor la información en la capa con el volumen total de explotación de los embalses de distintos tamaños de entidades y con el nivel actual de porcentaje de volumen embalsado en diferentes colores.
- Haga clic en la capa de entidades Condiciones recientes de embalses de Texas_(su nombre) para abrir la página del elemento de la vista de capa de entidades alojada.
La página del elemento Condiciones recientes de embalses de Texas_(su nombre) aparece en la pestaña Descripción general.
- Haga clic en Abrir en Map Viewer.
- En caso necesario, en el panel Capas, haga clic en la capa Condiciones recientes de embalses de Texas para activarla.
- En la barra de herramientas Configuración (clara), haga clic en Estilos.
- En Elegir atributos, haga clic en el botón Campo.
- En la ventana Seleccionar campos que aparece, elija percent_full y conservation_capacity y haga clic en Agregar.
Los atributos se agregan al panel Estilos.
- Arrastre percent_full sobre conservation_capacity.
- En Elegir un estilo, para Color y tamaño, haga clic en Opciones de estilo.
- En Recuentos y cantidades (color), haga clic en Opciones de estilo.
- En el panel Opciones de estilo, en el histograma, haga clic en el corte de valor mínimo, escriba 50 y pulse Intro.
- Haga clic en la rampa de color en Estilo de símbolo.
- En el panel Estilo de símbolo que se abre, en Relleno, haga clic en la rampa de color azul-gris (se denomina azul10) y haga clic en Aceptar.
Para ver el nombre de una rampa de color, señálela con el puntero.
- En el panel Opciones de estilo, haga clic en Hecho.
- En Recuentos y cantidades (tamaño), haga clic en Opciones de estilo.
- Haga clic en el símbolo que aparece debajo de Estilo del símbolo. En el panel Estilo de símbolo que aparece, en Color de contorno, haga clic en el botón Editar.
- En Hex, borre y sustituya el valor actual por #283849 y pulse Intro.
- En el panel Opciones de estilo, haga clic en Hecho y, a continuación, haga clic en Hecho dos veces más.
Ya se ha establecido la simbología para la capa. A continuación, configurará el mapa y lo guardará.
- En la barra de herramientas Contenido (oscuro), haga clic en Mapa base y luego en Lona gris claro.
Ya se ha establecido la simbología para la capa y el mapa base.
El mapa final muestra las condiciones recientes de embalses en Texas. El color de cada punto representa el porcentaje lleno de cada embalse y el tamaño del punto representa la capacidad total del embalse.
Configurar el elemento emergente
Mejorará el elemento emergente de la capa para mostrar solo la información relevante. Mostrará el nombre, el volumen total de explotación y el porcentaje de volumen embalsado de cada embalse.
- En la barra de herramientas Configuración, haga clic en Elementos emergentes.
- En el panel Elementos emergentes, expanda Título, elimine el texto existente y haga clic en el botón Agregar campo.
Aparece la ventana Agregar campo.
- En el menú desplegable, elija full_name.
El título de la ventana emergente mostrará ahora el contenido del atributo full_name.
- En Lista de campos, haga clic en el botón Opciones y elija Eliminar.
- Haga clic en el botón Agregar contenido y luego en Texto.
Se abrirá un cuadro de texto.
- En el cuadro de texto, escriba {percent_full}% completo a las {timestamp} y haga clic en Aceptar.
Se remplazarán los nombres de campos de atributos entre llaves por los valores de dichos campos cuando se abra el elemento emergente haciendo clic en una entidad.
La ventana emergente mostrará el título y el texto que configuró al hacer clic en una entidad.
Todavía puede mejorar el formato de los campos configurando el modo en que se muestra cada uno de los campos.
- En la barra de herramientas Configuración, haga clic en la pestaña Campos y haga clic en el campo percent_full.
- Cambie el Nombre de visualización a Porcentaje completo (%) y, en el menú desplegable Dígitos significativos, elija 0 posiciones decimales.
- Haga clic en Hecho.
- En la barra de herramientas Contenido, haga clic en Guardar y abrir y, a continuación, en Guardar como.
- En la ventana Guardar mapa, introduzca la siguiente información:
- En Título, escriba Embalses de Texas (su nombre)
- Agregue Etiquetas,Agua,Texas y Embalses.
- En Resumen, escriba Un mapa casi en tiempo real de embalses de Texas que muestra el porcentaje completo y la capacidad.
- Haga clic en un embalse en el mapa.
El elemento emergente muestra el nombre del embalse, el porcentaje de volumen embalsado y la fecha y hora de la última actualización.
Ha creado una vista de capa de entidades alojada en ArcGIS Online a partir de la capa de entidades alojada de embalses. La vista de capa de entidades alojada le permite personalizar la visualización de la capa de embalses de Texas y conservar estas personalizaciones incluso cuando se sobrescriba la capa de entidades alojada. A continuación, sobrescribirá la capa de entidades alojada de embalses de Texas con un simple script de Python. La información actualizada se reflejará automáticamente en la vista de capa de entidades alojada.
Actualizar una capa de entidades alojada
Ahora, configurará un breve script para sobrescribir la capa de entidades alojada de embalses de Texas. Primero, descargará el script de sobreescritura desde ArcGIS Online. Luego, recuperará los parámetros de la capa de entidades alojada, por ejemplo, el título del elemento y el Id. del elemento. Por último, ejecutará el script localmente con la ventana de comandos de Python. El proceso de sobreescritura le permite actualizar la capa de entidades alojada con la información más reciente.
Descargar el script de sobreescritura
Primero, descargue el script para sobrescribir una capa de entidades alojada en ArcGIS Online.
- Descargue el archivo OverwriteFS.zip en su equipo.
El archivo .zip contiene dos archivos: el script de Python (OverwriteFS.py) y un documento (ReadMe.pdf).
- Extraiga el contenido del archivo .zip en una carpeta en su equipo, por ejemplo, C:\Temp\.
- Abra con un editor de texto como el Bloc de notas o Notepad++ un nuevo archivo de texto en blanco.
- En ArcGIS Online, en Mi contenido, haga clic en la capa de entidades alojada Datos_recientes_embalses_TX_(sunombre).
Necesitará saber el título y el Id. de elemento de esta capa de entidades alojada para actualizarla. Guardará esta información en un documento de texto como referencia.
- En la página Descripción general del elemento TX_reservoirs_recent, copie el título del elemento y péguelo en el archivo de texto.
- Copie el Id. del elemento al final de la URL del elemento y péguelo en su archivo de texto. Guarde el archivo, pero déjelo abierto. Pronto necesitará esta información.
En este ejemplo, el título del elemento es Datos_recientes_embalses_TX_(sunombre) y el Id. del elemento es 4309a6d6bb77477f986acba13b5f9ef6. El Id. de elemento es único para cada elemento de ArcGIS Online. Su Id. de elemento será diferente.
Almacenar credenciales de ArcGIS Online localmente
ArcGIS Online requiere credenciales de inicio de sesión para sobrescribir elementos. Almacenará credenciales de ArcGIS localmente en un perfil seguro. Este perfil se utilizará en el script de Python para sobrescribir la capa de entidades alojada de embalses.
- Abra el menú Inicio de Windows, busque la ventana de comandos de Python y ábrala.
- Escriba cd, especifique la ruta a la carpeta de la que extrajo el script OverwriteFS.py y pulse Intro.
Por ejemplo, si extrajo el script en C:\Temp, deberá escribir cd C:\Temp.
- Escriba python y pulse Intro.
De esta manera se inicia la consola de Python en la ventana de comandos de Python. La versión de Python se anota en la consola y el mensaje de entrada cambia a >>>.
A continuación, importará el módulo arcgis de Python.
- En la consola de Python, escriba import arcgis y pulse Intro.
Nota:
La ventana de comandos de Python y el módulo arcgis de Python se incluyen con la instalación de ArcGIS Pro.Ahora, almacenará sus credenciales de ArcGIS Online localmente agregando un perfil.
- Escriba el comando gis = arcgis.GIS(profile='learn_user', username= '<account>', password= '<pass>'), remplace <account> con su cuenta de nombre de usuario y <pass> con su contraseña. Pulse Intro.
Nota:
Sus credenciales de ArcGIS Online se guardarán de forma segura en el perfil learn_user. Puede obtener más información sobre el almacenamiento de credenciales de ArcGIS Online localmente en un perfil visitando la página Trabajar con distintos esquemas de autenticación. - Escriba exit() para cerrar la consola de Python y volver a la ventana de comandos.
Sobrescribir la capa de entidades alojada
Ahora, use el script de Python de sobreescritura, el perfil de ArcGIS Online y los parámetros de la capa de entidades alojada (título e Id. de elemento) para actualizar la capa de entidades alojada de embalses.
- En la ventana de comandos de Python, en la carpeta C:\Temp\ que contiene el script OverwriteFS.py, ejecute el siguiente comando: python OverwriteFS.py learn_user <item id> <item title> <GeoJSON URL>, sustituyendo <item id> y <item title> por los par´maetros de la capa de entidades alojada que guardó en su archivo de texto.
En este código, learn_user es el perfil de ArcGIS Online guardado localmente. Reemplace <item id> y <item title> por los parámetros de la capa de entidades alojada que guardó en su archivo de texto. En el ejemplo, reemplazaría <item id> por 3b2b385c923147349dec02025e10aa55 y <item title> por TX_reservoirs_recent_(sunombre). Reemplazaría <GeoJSON URL>, que es la URL de la fuente de datos con los datos actualizados, https://www.waterdatafortexas.org/reservoirs/statewide/recent-conditions.geojson.
Nota:
Dado que ya ha creado la capa de entidades alojada utilizando los datos más recientes, el script no hará ningún cambio. En su lugar, puede usar temporalmente un archivo dehttps://downloads.esri.com/learnarcgis/schedule-automated-near-real-time-data-updates/recent-conditions.geojson, que contiene una instantánea del archivo recent-conditions.geojson del 26 de diciembre de 2019.Si lo ejecuta con la URL al sitio en directo sobre el agua de Texas, el comando se parecerá al siguiente (el Id. del elemento será otro):
python OverwriteFS.py learn_user 20af483d68e54ff5835753de0e90ce27 TX_reservoirs_recent_(yourname) https://www.waterdatafortexas.org/reservoirs/statewide/recent-conditions.geojson
Si descarga la instantánea del archivo recent-conditions.geojson del 26 de diciembre de 2019, guárdela en la carpeta C:\Temp\ en la que está trabajando (reemplace el archivo existente). El comando tendrá un aspecto similar al siguiente (el Id. de elemento será diferente y la ruta será una ruta de archivo local en lugar de una dirección URL):
python OverwriteFS.py learn_user 20af483d68e54ff5835753de0e90ce27 TX_reservoirs_recent_(yourname) c:\Temp\recent-conditions.geojson
Pulse Intro para ejecutar el comando.
La ventana de comandos mostrará los resultados. El mensaje Performing Overwrite… Success! Elapsed Time al final significa que el script ha actualizado correctamente la capa de entidades alojada.
- En un navegador, abra el mapa Embalses de Texas en Map Viewer Classic. Haga clic en cualquier reserva para ver su ventana emergente.
La ventana emergente muestra la hora actualizada y los valores de porcentaje completo. La simbología de la vista de capa de entidades alojada se mantiene a medida que la establece.
Puede ejecutar un script de Python para sobrescribir una capa de entidades alojada en ArcGIS Online. A continuación, creará y programará una tarea en Windows para ejecutar automáticamente el script de sobreescritura en intervalos regulares.
Crear y programar una tarea
Puede ejecutar un script de Python para actualizar una capa de entidades alojada. Ahora, automatizará la ejecución del script programando una tarea en Windows. Primero, creará un archivo .bat. Luego, creará una tarea en el Programador de tareas de Windows. La tarea ejecutará con regularidad el archivo .bat, que ejecutará el script de sobreescritura de Python, que a su vez buscará actualizaciones y sobrescribirá la capa de entidades alojada si hay disponibles datos nuevos.
Crear un archivo .bat
Los archivos .bat de Windows son archivos de texto simple con un conjunto de instrucciones para que el intérprete de línea de comandos las ejecute.
- Abra un editor de texto como el Bloc de notas o Notepad++.
- Copie y pegue el texto siguiente en el editor de texto:
"C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe" "C:\Temp\OverwriteFS.py" learn_user 3b2b385c923147349dec02025e10aa55 TX_reservoirs_recent_(yourname) https://www.waterdatafortexas.org/reservoirs/statewide/recent-conditions.geojson
También puede escribir el texto como una única línea.
- Cambie el Id. de elemento de 3b2b385c923147349dec02025e10aa55 al Id. de elemento de su capa de entidades alojada.
- Cambie Datos_recientes_embalses_TX_(sunombre) al nombre de su elemento.
- Guarde el archivo en la carpeta C:\Temp\ y escriba EmbalsesTX_sobreescritura.bat como nombre de archivo. En el menú desplegable Guardar como tipo, elija Todos los archivos (o, si está utilizando Notepad++, elija Archivo de lotes).
A continuación, creará una tarea para ejecutar el archivo .bat.
Crear una tarea básica
Ahora que tiene el archivo .bat, programará una tarea para ejecutarla a intervalos regulares.
- Abra el menú Inicio de Windows. Busque y abra el Programador de tareas.
- En el panel Acciones, haga clic en Crear tarea básica.
Aparece la ventana Asistente para crear tareas básicas y se inicia la pestaña Crear una tarea básica.
- En la ventana Asistente para crear tareas básicas, en Nombre, escriba embalses TX y, en Descripción, escriba Tarea para ejecutar el archivo TXreservoirs_overwrite.bat para actualizar el servicio de entidades.
- Haga clic en Siguiente.
La ventana se actualiza a la pestaña Desencadenador de tareas.
- En ¿Cuándo desea que se inicie la tarea?, confirme que se ha seleccionado Diariamente y haga clic en Siguiente.
El asistente se actualiza a la pestaña Diariamente.
- En Fecha de inicio, elija la fecha de hoy. La fecha de inicio puede ser una hora después de la hora actual (4:35 pm en el ejemplo).
- En Repetir cada, escriba 1 para que la tarea se ejecute cada día y haga clic en Siguiente.
- En la página Acción, confirme que Iniciar un programa esté seleccionado como acción de tarea y haga clic en Siguiente.
- En la página Iniciar un programa, en el cuadro de texto Programa/script, escriba C:\Temp\TXreservoirs_overwrite.bat y haga clic en Siguiente.
Nota:
Si guardó el archivo .bat en otra carpeta, asegúrese de introducir la ruta correcta al archivo .bat. También puede hacer clic en el botón Examinar y buscar la ubicación del archivo.
La pestaña Finalizar aparece en el asistente.
- Seleccione el cuadro Abrir el cuadro de diálogo de propiedades para esta tarea cuando haga clic en Finalizar y haga clic en Finalizar.
- En Opciones de seguridad, active la casilla Ejecutar tanto si el usuario ha iniciado sesión como si no y active No almacenar la contraseña. Haga clic en Aceptar.
En este tutorial, ha descargado datos del sitio web Water Data for Texas y creado una capa de entidades alojada. Ha creado, personalizado y compartido una vista de capa de entidades alojada de la capa de entidades alojada para aislar el elemento público del proceso de actualización. Ha adaptado, descargado y utilizado un script de Python para obtener los datos más recientes del sitio web y actualizar la capa de entidades alojada. También ha creado un archivo .bat y programado una tarea de Windows para ejecutar el script de Python. Cuando se ejecuta la tarea, el script de sobreescritura de Python actualiza la capa de entidades alojada. Ha configurado la tarea para que se ejecute a diario, por lo que las aplicaciones o mapas web que muestren la vista de capa de entidades alojada mostrarán todos los días los datos más recientes.