Automatización de la creación de memoria caché y actualizaciones con geoprocesamiento
Si está trabajando con un mapa base que probablemente no cambie, es posible que sólo pueda cambiar su memoria caché una vez. Puede utilizar la interfaz de almacenamiento en caché de ArcCatalog (particularmente, la pestaña Almacenamiento de memoria caché del cuadro de diálogo Propiedades del servicio) para crear la memoria caché. Ésta también es una forma adecuada de actualizar la memoria caché si sus datos no cambian con demasiada frecuencia.
Si los datos cambian con frecuencia, todavía podrá utilizar el almacenamiento de memoria caché. Las herramientas de almacenamiento de memoria caché han sido diseñadas para permitirle efectuar secuencias de comandos en las actualizaciones de memoria caché y hacer un seguimiento de las actualizaciones en partes específicas de la memoria caché. Por ejemplo, puede:
- actualizar la memoria caché solo para los niveles de escala que hayan cambiado.
- Actualizar solo las áreas de la memoria caché que se encuentren dentro de los límites de una clase de entidad.
- Automatizar el mantenimiento de la memoria caché con utilidades tales como Tareas programadas de Windows.
La forma de automatizar el proceso de almacenamiento de memoria caché es escribir secuencias de comandos que utilicen Herramientas de servidor, a las que se accede desde el menú de Geoprocesamiento. En Linux/Solaris, ya se crearon e instalaron las secuencias de comandos del almacenamiento en caché con el componente del contenedor de objetos del servidor (SOC) de ArcGIS Server debajo de <ArcGIS Server Installation directory>/arcgis/server<10.0>/java/tools/caching. Este tema de ayuda enumera las herramientas disponibles y contiene algunos ejemplos para ayudarlo a comenzar a escribir secuencias de comandos. También describe la migración de secuencias de comando anteriores de ArcGIS Server 9.2 a versiones posteriores.
Herramientas de almacenamiento de memoria caché
La caja de herramientas Herramientas de servidor contiene herramientas para el almacenamiento en caché de mapa y el almacenamiento en caché de globo.
Herramientas de almacenamiento de memoria caché de mapa
Las siguientes herramientas se incluyen para el almacenamiento de memoria caché de mapa. Las herramientas reflejan el patrón de creación del esquema de ordenamiento en teselas y relleno de la memoria caché con teselas.
- Crear memoria caché del servidor de mapas: inicia la memoria caché y establece el esquema de ordenamiento en teselas. Esta herramienta no crea ninguna tesela. Para crear teselas, utilice Administrar teselas de memoria caché del servidor de mapas.
- Administrar teselas de memoria caché del servidor de mapas: crea nuevas teselas, reemplaza las teselas antiguas o elimina teselas de la memoria caché.
- Administrar escalas de memoria caché del servidor de mapas: agrega o elimina escalas de una memoria caché existente.
- Eliminar memoria caché del servidor de mapas: elimina todas las teselas de la memoria caché y la estructura de carpetas de la memoria caché.
Un flujo de trabajo habitual para secuencias de comandos consiste en utilizar Crear memoria caché del servidor de mapas para crear una nueva memoria caché vacía y, a continuación, utilizar Administrar teselas de memoria caché del servidor de mapas para rellenar la memoria caché con teselas y ejecutar actualizaciones periódicamente.
Una herramienta para estandarizar memorias caché de mapa
Si está creando muchas memorias caché de mapa para utilizar en su organización, se recomienda utilizar el mismo esquema de ordenamiento en teselas para cada una de ellas. El uso de un esquema de ordenamiento en teselas estándar permite una superposición más eficiente de las memorias caché.
El esquema de ordenamiento en teselas que elige podría ser el mismo que utilizan los servicios de representación cartográfica on-line como ArcGIS Online, Google Maps o Bing Maps, o puede ser un esquema de ordenamiento en teselas que sólo se utiliza en su organización. La elección del esquema de ordenamiento en teselas puede estar influenciada por estándares o prácticas cartográficas de su organización. Por ejemplo, si todos los mapas requieren el uso de la proyección estereográfica polar, no podrá utilizar esquemas de ordenamiento en teselas de ArcGIS Online, Google Maps o Bing Maps; deberá crear su propio esquema de ordenamiento en teselas.
La herramienta Generar esquema de ordenamiento en teselas de servidor del mapa Caché de la caja de herramientas Herramientas de servidor le puede ayudar a crear un esquema de ordenamiento en teselas para compartir en su organización. Esta herramienta crea un archivo de esquema de ordenamiento en teselas XML, que puede colocar en una ubicación compartida y referenciar cuando ejecute Crear caché mapa servidor.
Herramientas de mantenimiento y colaboración de memoria caché de mapa
Diversas herramientas del conjunto de herramientas de Almacenamiento de memoria caché están diseñadas para mantener las memorias caché y construirlas de forma conjunta.
La herramienta Convertir formato de almacenamiento de memoria caché del servidor de mapas puede convertir las memorias caché antiguas al nuevo formato compacto introducido en ArcGIS Server 10. Actualmente esta herramienta puede convertir en ambos sentidos entre los formatos expandido (pre-ArcGIS 10) y compacto.
Las herramientas Exportar memoria caché del servidor de mapas e Importar memoria caché del servidor de mapas ayudan a trasladar subconjuntos de teselas entre memorias caché. Exportar e importar memorias caché puede ser útil cuando diversas organizaciones colaboran para crear una memoria caché extensa o cuando una organización con una memoria caché amplia desea compartir algunas de sus teselas con otra organización.
Más información acerca de la exportación e importación de las memorias caché de mapa
Herramientas de almacenamiento de memoria caché de globo
Las siguientes herramientas se incluyen para el almacenamiento de memoria caché de globo:
- Administrar teselas de memoria caché del servidor de globo: crea nuevas teselas, reemplaza las teselas antiguas o elimina teselas de una memoria caché de globo.
- Eliminar memoria caché del servidor de globo: elimina la memoria caché
Tenga en cuenta que solo existen dos herramientas para trabajar con las memorias caché de globo. De forma natural, todos los servicios de globo tienen una memoria caché que se crea automáticamente cuando se inicia el servicio. Esta memoria caché utiliza un esquema de ordenamiento en teselas integrado que es igual para todos los servicios de globo. Por tanto, no existen herramientas para crear una nueva memoria caché de globo o esquema de ordenamiento en teselas.
Puede utilizar Administrar teselas de memoria caché del servidor de globo para rellenar completamente la memoria caché con teselas, o puede utilizarlo para almacenar la memoria caché únicamente en las áreas seleccionadas y los niveles de detalle.
Utilizar las herramientas en secuencias de comandos
Aunque puede abrir manualmente las herramientas de almacenamiento de memoria caché desde las ventanas Catálogo o Buscar, es más eficaz escribir una secuencia de comandos de geoprocesamiento que contenga una o más herramientas que desee ejecutar. Después puede programar esta secuencia de comandos para que se ejecute de manera automática.
Ejemplo de secuencias de comandos: Actualizar una memoria caché de mapa
Si sus datos cambian con frecuencia, se recomienda utilizar la secuencia de comandos para actualizar su memoria caché. Puede crear una secuencia de comandos Python que ejecute la herramienta de actualización. Puede escribir Python dentro del Bloc de notas, o puede utilizar un entorno de desarrollo como IDLE o PythonWin.
La secuencia de comandos no debe ser compleja. Sólo debe definir los parámetros para la herramienta y ejecutarla. La siguiente secuencia de comandos Python ejecuta la herramienta Administrar teselas de memoria caché del servidor de mapas para volver a crear una memoria caché completa:
# This script updates a map cache containing changing data # Any line that begins with a pound sign is a comment and will not be executed # These lines are used to access ArcGIS geoprocessing tools import arcpy, sys from arcpy import env # Here is where you define the input parameter values for the update tool. # Empty quotes take the default value. server = "MyServer" service = "Precipitation" dataFrame = "Layers" inputLayers = "" extent = "" scales = "128000;64000;32000;16000" updateMode = "Recreate All Tiles" threadCount = "2" antialiasing = "NONE" pathToFeatureClass = "" ignoreStatus = "" # These lines run the update tool try: print 'Starting Cache Update' result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scales, updateMode, extent, threadCount, antialiasing, pathToFeatureClass, ignoreStatus) while result.status < 4: time.sleep(0.2) resultValue = result.getMessages() print str(resultValue) print 'Finished Cache Update' # If there's a failure, these lines get the messages except Exception, e: tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno
Es importante utilizar la sintaxis correcta para todos los parámetros de entrada. Puede encontrar instrucciones y ejemplos para cada parámetro de todas las herramientas en el libro Referencia de la herramienta de geoprocesamiento de la Ayuda del ArcGIS Desktop. Por ejemplo, este es el tema de referencia para la herramienta Administrar teselas de memoria caché del servidor de mapas que se utilizó anteriormente: Administrar teselas de memoria caché del servidor de mapas (Servidor).
Si es nuevo en Python, estos recursos le pueden ayudar a obtener más información:
- ¿Qué es Python?: la ayuda de ArcGIS Desktop incluye una introducción al uso de secuencias de comandos Python y comienza con este tema.
- Exportar un modelo: si ha creado modelos en ModelBuilder, puede exportarlos a Python para ver qué aspecto tiene la secuencia de comandos correspondiente.
Programar su secuencia de comandos para que se ejecute de forma habitual
Puede guardar la secuencia de comandos como un archivo de secuencia de comandos Python (.py). Si hace doble clic en la secuencia de comandos de Windows Explorer, éste se ejecutará. Esto es útil para realizar pruebas, pero en la mayoría de los casos, deseará programar la secuencia de comandos para que se ejecute automáticamente de forma regular.
Su sistema operativo contiene utilidades que le ayudan a programar tareas como la ejecución de una secuencia de comandos. En Windows puede utilizar el comando Tareas programadas o tareas prog.. Deberá proporcionar la ubicación del archivo de secuencia de comandos, con qué frecuencia desea ejecutarlo, y el nombre y la contraseña con los que se ejecutará la tarea. Para obtener más información acerca de la programación de tareas, consulte los siguientes recursos:
- Programar la secuencia de comandos de Python para que se ejecute en períodos prescritos.
- Programar las secuencias de comandos para que se ejecuten en períodos prescritos (Documentación de Unix)
- Programar una nueva tarea (Documentación de Microsoft)
- Referencia de la línea de comandos Tareas prog. (Documentación de Microsoft)
Nota para usuarios de Linux
En Linux, antes de ejecutar las secuencias de comandos Python para trabajar con la memoria caché, debe ejecutar el origen de comandos /arcgis/server10.0/servercore/.Server/init_server.sh tal y como se indica en el Paso 2 de Visualizar y administrar puertos de red en Linux/Solaris.
Si utiliza la caja de herramientas Herramientas de servidor con ArcGIS Server 9.2, observará algunos cambios en las versiones 9.3 y posteriores. Algunas herramientas de ArcGIS Server 9.2 se han depreciado. Se encuentran incluidas en el software de forma que las secuencias de comandos existentes seguirán ejecutándose, pero no podrá agregarlas a la caja de herramientas y no se encuentran disponibles mediante la línea de comandos. Únicamente puede utilizarlas en un entorno de secuencias de comandos.
Esta tabla muestra las herramientas depreciadas y sus sustitutos en 9.3 y posteriores:
herramienta depreciada 9.2 |
Herramienta sustituta |
Generar memoria caché del servidor de mapas |
|
Actualizar memoria caché del servidor de mapas |
Administrar teselas de memoria caché del servidor de mapas |
Generar memoria caché del servidor de globo |
Administrar teselas de memoria caché del servidor de globo |
Actualizar memoria caché del servidor de globo |
Administrar teselas de memoria caché del servidor de globo |
- Generar memoria caché del servidor de mapas: esta herramienta inicializa la memoria caché de mapa, establece el esquema de ordenamiento en teselas y crea todas las teselas en la memoria caché. En la versión 9.3 y posteriores, utilice Crear memoria caché del servidor de mapas para inicializar la memoria caché y establecer el esquema de ordenamiento en teselas. A continuación, utilice Administrar teselas de memoria caché del servidor de mapas para crear algunas o todas las teselas para la memoria caché.
- Actualizar memoria caché del servidor de mapas: esta herramienta crea, reemplaza o elimina las teselas de una memoria caché de mapa. En la versión 9.3 y posteriores, utilice Administrar teselas de memoria caché del servidor de mapas, que puede hacer lo mismo pero con más flexibilidad a fin de actualizar solo las áreas seleccionadas de la memoria caché.
- Generar memoria caché del servidor de globo: esta herramienta genera todas las teselas en una memoria caché de globo. En la versión 9.3 y posteriores, utilice Administrar teselas de memoria caché del servidor de globo para crear algunas o todas las teselas para la memoria caché de globo.
El orden de los parámetros ha cambiado en algunas de las nuevas herramientas. Por ejemplo, en ManageMapServerCacheTiles, constraining_extent es ahora un parámetro requerido que sigue inmediatamente a update_mode en la lista de parámetros. Consulte siempre la documentación de referencia más reciente de la herramienta de geoprocesamiento para actualizar sus secuencias de comandos.