Generación de memoria caché y actualizaciones en Linux/Solaris
Para ArcGIS Server en Linux/Solaris, se crean memorias caché del servicio de globo y de mapas con las herramientas de geoprocesamiento que permiten ejecutar secuencias de comandos. Se instalan varias secuencias de comandos con ArcGIS Server que ayudan a administrar las memorias caché desde la línea de comando. Estas secuencias de comandos utilizan las herramientas de servidor desde ArcToolbox.
Secuencias de comandos de almacenamiento en caché
Las secuencias de comandos de almacenamiento en caché se ubican en el directorio <directorio de instalación de ArcGIS Server>/server10.0/java/tools/caching.
Secuencias de comando de almacenamiento en caché de mapa
- CreateMapServerCache.sh: inicializa la memoria caché y configura el esquema de ordenamiento en teselas. Esta herramienta no crea ninguna tesela. Para crear las teselas, utilice ManageMapServerCacheTiles.sh.
- ManageMapServerCacheTiles.sh: crea teselas nuevas, reemplaza teselas viejas o elimina teselas de la memoria caché.
- ManageMapServerCacheScales.sh: agrega o quita escalas de una memoria caché existente.
- DeleteMapServerCache.sh: elimina todas las teselas de la memoria caché y la estructura de carpeta de la memoria caché.
- GenerateMapServerCacheTilingScheme.sh: crea un esquema de teselas para compartir en toda la organización. Esta herramienta crea un archivo de esquema de ordenamiento en teselas XML. Puede ubicar este archivo de ordenamiento en teselas en una ubicación compartida y hacer referencia a él cuando ejecuta CreateMapServerCache.sh.
- ConvertMapServerCacheStorageFormat.sh: convierte memorias caché en un formato compacto nuevo que se presentó en ArcGIS Server 10. Esta herramienta puede convertir memorias caché de ambas maneras, ya sea entre formatos expandidos y compactos.
- ExportMapServerCache.sh: exporta subconjuntos de teselas a una ubicación distinta en un formato de almacenamiento especificado. Posteriormente, este directorio se puede compartir con otra organización para construir una memoria caché conjunta al importar en otras memorias caché.
- ImportMapServerCache.sh: importa subconjuntos de teselas entre memorias caché, si coinciden el esquema importado y el existente. Es útil cuando varias organizaciones colaboran para construir una memoria caché grande.
Secuencias de comandos de almacenamiento caché de globo
- ManageGlobeServerCacheTiles.sh: crea teselas nuevas, reemplaza teselas viejas o elimina teselas de una memoria caché de globo.
- DeleteGlobeServerCache.sh: elimina una memoria caché de globo.
Ejecutar las secuencias de comandos
Estas son algunas pautas para crear/actualizar correctamente una memoria caché de mapa o de globo utilizando estas herramientas.
El proceso del Contenedor de objetos de servidor (SOC) de ArcGIS se ejecuta como el propietario de instalación de ArcGIS Server. Por defecto, este usuario no es miembro del grupo agsadmin. Sólo los miembros del grupo agsadmin pueden crear contextos vacíos en el servidor y ejecutar correctamente las herramientas de almacenamiento en caché de mapa.
Debe agregar el propietario de instalación de ArcGIS Server en el grupo agsadmin. Para ello, realice los siguientes pasos en el administrador:
- Inicie sesión en el Administrador de ArcGIS Server.
- Haga clic en la pestaña Servidor SIG.
- Haga clic en el vínculo Usuarios de SIG locales del lado izquierdo.
- Haga clic en el vínculo Agregar usuarios.
- Puede dar al usuario el nombre "ags" y configurar el grupo como "agsadmin" (si asume que eligió ags como el propietario de instalación de ArcGIS Server).
- Haga clic enGuardar.
- Asegúrese de que haya suficiente espacio disponible en el directorio de memoria caché. De lo contrario, cambie el directorio de memoria caché predeterminado a una ubicación que tenga suficiente espacio disponible.
- Si realiza una implementación en varios equipos, asegúrese de que el proceso ArcSOC tenga acceso de escritura en la ubicación de caché.
Ahora puede ejecutar las secuencias de comandos para crear o actualizar la memoria caché desde la línea de comando; como propietario de instalación de ArcGIS, ejecútelas desde la ubicación <directorio de instalación de ArcGIS Server>/server10.0/java/tools/caching. La secuencia de comandos le solicitará que elija de la lista de variables o que introduzca un valor para un parámetro determinado.
Como se describió anteriormente, hay dos pasos para generar una memoria caché de mapa (1) configurar las propiedades de la memoria caché de mapa y (2) crear/actualizar las teselas de memoria caché de mapa. Para establecer las propiedades de memoria caché de mapa, utilice ArcGIS Manager (navegue al panel Administrar servicios, seleccione un servicio de mapas y elija la pestaña Almacenamiento de memoria caché) o ejecute la secuencia de comandos CreateMapServerCache.
Secuencia de comandos: CreateMapServerCache
- Dominio: para ArcGIS Server en Unix, introduzca el nombre de host completo.
- Nombre de usuario/Contraseña: escriba el nombre de usuario/la contraseña que se utiliza para conectarse con el Administrador de ArcGIS Server. La configuración predeterminada es admin/admin.
- server_name: escriba el nombre del equipo host en el que está instalado ArcGIS Server o el equipo SOM de ArcGIS que aloja el servicio que se almacenará en caché.
- object_name: proporciona una lista de los servicios de mapas que se están ejecutando y cumplen con los requisitos de la secuencia de comandos en ejecución. Por ejemplo, si el esquema de ordenamiento en teselas de memoria caché para un servicio de mapas no está configurado, no se incluirá en las opciones para la secuencia de comandos ManageMapServerCacheTiles, incluso si se está ejecutando el servicio.
- data_frame: incluye los nombres de los marcos de datos disponibles para un servicio de mapas determinado. Presione la tecla Intro para aceptar el marco de datos predeterminado.
- out_folder:directorio de memoria caché del servidor: seleccione el directorio de caché en el que desea que residan los datos de memoria caché. Si desea agregar un directorio distinto del que se provee en la lista, deberá agregar un directorio de memoria caché nuevo en ArcGIS Manager.
- tiling_scheme_type:esquema de ordenamiento en teselas: define las propiedades de memoria caché como el número de escalas y su valor.
- [Nuevo] * por defecto: crea un esquema de ordenamiento en teselas nuevo.
Predefinido: se utiliza para mantener un esquema de ordenamiento en teselas estándar en toda la organización o contar con uno compatible con los servicios on-line existentes como ArcGIS Online/Bing Maps/Google Earth.
- tiling_schema: esta opción está disponible sólo cuando se utiliza un tipo de esquema de ordenamiento en teselas predefinido y requiere la ruta al esquema de ordenamiento en teselas.
- scales_type:escalas:
- [Estándar] * por defecto: cuando se selecciona, la secuencia de comandos sugiere valores de escala para un número dado de escalas, basándose en la extensión total del mapa y su resolución.
- Personalizado: al seleccionarlo, deberá introducir una lista de valores de escala personalizada para los datos del mapa determinado, basándose en la mejor configuración de visualización.
- num_of_scales: esta opción está disponible cuando se elige el tipo de escala estándar. Introduzca el número de escalas para acercar los niveles de memoria caché. Por lo general, el número de escalas sugeridas que solicita se debe limitar a 20 o menos.
- dpi:puntos (Píxeles) por pulgada: Elija valores más altos para una resolución más clara. Por lo general, el valor predeterminado de 96 es suficiente a menos que esté trabajando principalmente en una red donde la mayoría de los equipos del cliente tengan una configuración de DPI diferente.
- tile_width y tile_height:ancho del entramado y altura de tesela (en píxeles): Al elegir un ancho y una altura de tesela menor, puede que se mejore el rendimiento de la aplicación que solicita las teselas desde la memoria caché, dado que serán necesarios menos datos para transferirse. Sin embargo, un tamaño de tesela más pequeño genera un tamaño de caché más grande y un mayor tiempo de creación.
- map_or_layers: tipo de memoria caché: es una configuración avanzada de la memoria caché.
- [Combinada]* por defecto: todas las capas en el mapa se incluyen en una imagen combinada y se deben activar y desactivar juntas.
- Multi_layer: conjunto de imágenes en memoria caché para cada capa que el usuario puede habilitar o deshabilitar. Esta opción está deshabilitada para los servicios de mapas basados en .msd.
- tile_origin: Origen de ordenamiento en teselas en unidades de mapa.
- niveles: esta opción está disponible si la variable "scales_type" está configurada como "Personalizada". Introduzca la lista de valores de escala personalizados separados por punto y coma.
- capas: esta opción está disponible si la variable "map_or_layers" está configurada en "Multicapa". Introduzca la lista de capas separadas por punto y coma para la que necesita generar la memoria caché.
- Antialiasing:
- [Ninguno]* por defecto
- Antialiasing: selecciónela para suavizar los bordes de etiquetas y líneas para una mejor calidad de visualización.
- cache_format:Formato de imagen de teselas en memoria caché: [Png8, Png24, Png32, JPEG, Mixto] Seleccione el formato de imagen de salida que se utiliza para crear las teselas en memoria caché. El formato de imagen determina el tamaño de memoria caché en disco, la calidad de imagen y la capacidad para admitir la transparencia de fondo. Los datos ráster se proporcionan mejor en el formato de imágenes JPEG o MIXED.
- tile_compression_quality: la compresión sólo es compatible con el formato JPEG. Introduzca un valor entre 1 y 100 para la calidad de compresión JPEG. El valor predeterminado es 75 para el formato de tesela JPEG y cero para otros formatos. Al seleccionar un valor más alto, se obtiene un tamaño de archivo más grande con una imagen de mejor calidad, mientras que al seleccionar un valor más bajo, se obtiene un tamaño de archivo más pequeño con una imagen de inferior calidad. Cuando utiliza JPEG o MIXED con mapas vectoriales, utilice un valor de alta calidad de compresión (como 90) para reducir las líneas y el texto borrosos.
- storage_format:Formato de almacenamiento de teselas en memoria caché:
- Compacto: agrupa las teselas en memoria caché para obtener un almacenamiento y una movilidad más eficientes
- Expandido: almacena cada tesela como un archivo único.
- use_local_cache_dir:directorios de caché locales en el servidor: elija si los archivos de paquetes se escribirán en un directorio local en el servidor cuando cree una memoria caché compacta, en lugar de escribir directamente en el directorio de memoria caché compartido. Si elige esta opción, los archivos de paquetes se copiarán en el directorio de caché compartido a medida que se completan. Esta opción mejora el rendimiento cuando hay varios equipos procesando el trabajo de almacenamiento en caché.
- [Verdadero]* Este es el valor predeterminado cuando el formato de almacenamiento en caché es "Compacto". Las teselas que se almacenan en paquetes se escriben en un directorio de caché local, después se copian a un directorio de caché compartido a medida que se completan los paquetes. Nota: esta opción no está disponible cuando el formato de almacenamiento es "Expandido".
- Falso: las teselas se escriben directamente en el directorio de caché compartido. Esta es la única opción válida cuando el formato de almacenamiento es "Expandido".
Secuencia de comandos: ManageMapServerCacheTile
- capas: esta opción está disponible si la variable "map_or_layers" está configurada en "Multicapas" en el esquema de memoria caché. Introduzca la lista de capas separadas por punto y coma para las que necesita generar/actualizar las teselas de memoria caché.
- niveles: las escalas proporcionan la capacidad de elegir escalas de la lista de escalas dadas para cualquiera de las herramientas siguientes: ManageMapServerCacheTiles, ExportMapServerCache o ImportMapServerCache.
- update_mode:Modo Actualizar:
- Volver a crear teselas vacías: Se utiliza cuando desea asegurarse de que la memoria caché se crea para las teselas faltantes. Nota: tarda más en completarse para los trabajos de almacenamiento en caché grandes, porque verifica las carpetas de la memoria caché y crea las teselas que faltan, lo que asegura la calidad de la caché creada.
- Volver a crear todas las teselas: se utiliza para crear una memoria caché por primera vez o cuando desea descartar la memoria caché existente y crear una nueva basándose en un servicio de mapas actualizado.
- Eliminar teselas: elimina las teselas de memoria caché existentes mientras mantiene el esquema de memoria caché.
- constraining_extent:Actualizar extensión: si desea crear teselas para un área rectangular del mapa, puede cambiar la extensión de actualización predeterminada e introducir una extensión rectangular personalizada; esto puede ser útil cuando construye memorias caché para un área de prueba.
- thread_count:Cantidad de instancias del servidor de mapa
- update_feature_class:actualizar memoria caché con extensiones de clase de entidad: proporciona la ruta al directorio donde existe la clase de entidad para restringir espacialmente la creación de teselas a los límites de una clase de entidad, lo que evita áreas no interesantes o vacías. También facilita la administración y el seguimiento de los trabajos de almacenamiento en caché.
- ignore_status:
- hacer un seguimiento del estado de finalización: se utiliza para marcar en qué entidades se crearon teselas en las áreas. Se agrega un campo En caché a la clase de entidad en la que está almacenando. Cuando se hayan creado teselas para la extensión de una entidad, el campo En caché de esa entidad se marca como Sí. Los campos se pueden ver al abrir la tabla de clase de entidad en ArcCatalog.
- [Ignorar campo de estado de finalización] *por defecto: no se agrega ni se actualiza el campo En caché.
- Antialiasing: de sólo lectura en esta herramienta. Está basada en el valor establecido en la pestaña Almacenamiento de memoria caché del cuadro de diálogo Propiedades del servicio.
Siga las indicaciones mientras la secuencia de comandos lo guía por el proceso de generación/actualización de memoria caché.
Cuando finaliza el proceso, la salida se encuentra en la ubicación de caché. La ubicación de caché predeterminada es <directorio de instalación de ArcGIS Server>/server/serverdir/arcgiscache.
Secuencia de comandos: ManageMapServerCacheScales
niveles: permite definir el conjunto de escalas, agregar o eliminar escalas según sea necesario para actualizar el esquema de caché. Para proporcionar la lista actualizada de valores de escala, escriba los valores de escala separados por punto y coma.
Secuencia de comandos: GenerateMapServerCacheTilingScheme
- map_document: proporciona la ruta al documento de mapa basándose en dónde desea crear el nuevo esquema de ordenamiento en teselas de memoria caché.
- tiling_schema: proporciona la ruta en la que desea almacenar el esquema de ordenamiento en teselas de salida. Asegúrese de adjuntar el nombre del esquema nuevo con una extensión .xml.
- cache_levels: introduzca el número de escalas que debería tener el nuevo esquema de ordenamiento en teselas.
- niveles: por defecto, la secuencia de comandos sugiere valores de escala correspondientes para los números dados de niveles de caché, basándose en las extensiones de mapas. Puede optar por seleccionar los valores sugeridos o definir los propios valores de escala personalizados si introduce valores nuevos separados por punto y coma.
Secuencia de comandos: ExportMapServerCache e ImportMapServerCache
- target_cache_path: introduzca la ruta a la carpeta a la que desea exportar los datos de caché seleccionados. Asegúrese de que la carpeta exista y que ArcsSOC tenga acceso de escritura a ella.
- storage_format_type: proporciona la opción de elegir el tipo de formato de almacenamiento de la memoria caché exportada. Puede ser distinta de la memoria caché principal. Nota: la herramienta Importar memoria caché del servidor de mapas selecciona el formato de almacenamiento de la carpeta de destino por defecto.
- export_extent/import_extent: proporciona la opción de exportar/importar sólo la parte de los datos almacenados en caché que están dentro de la extensión dada. Introduzca la extensión rectangular personalizada para exportar o importar los datos en caché.
- niveles: proporciona la capacidad de seleccionar escalas desde la lista de escalas dadas para exportar/importar.
- export_feature_class/import_feature_class: proporciona la capacidad de restringir espacialmente la exportación de teselas en caché a los límites de una clase de entidad, lo que evita las áreas no interesantes. Introduzca la ruta al directorio en el que se encuentra la clase de entidad.
- source_cache_dataset: proporciona la ruta al archivo de capa dentro de la carpeta desde la que desea importar los datos en caché. Por ejemplo, /net/plotemy/arcgiscache/sandiego/Layers.
Secuencia de comandos: ManageGlobeServerCacheTiles
- in_layers: seleccione las capas que se incluirán en la memoria caché de capas.
- Nivel desde: seleccione la escala de nivel de detalle en la que desea comenzar a almacenar en caché la capa. Si las escalas de nivel de detalle más pequeña y más grande se utilizan para el mínimo y el máximo, se creará una caché completa para la capa.
- Nivel hasta: seleccione la escala de nivel de detalle en la que desea comenzar a almacenar en caché la capa. Si las escalas de nivel de detalle más pequeña y más grande se utilizan para el mínimo y el máximo, se creará una caché completa para la capa.
Automatizar la generación de memoria caché desde la línea de comandos
Para realizar secuencias de comandos completas de las herramientas de caché sin la interacción del usuario, ejecute el siguiente código como el propietario de instalación de ArcGIS desde la línea de comando. Introduzca los valores para los parámetros descritos anteriormente, en el orden en que aparecen.
CreateMapServerCache .sh
./CreateMapServerCache.sh -u <username> -d <hostname> -p <passwd> -args <server_name> <object_name> <out_folder> <tiling_scheme_type> <scales_type> <num_of_scales> <dpi> <tile_width> <tile_height> <data_frame> <map_or_layers> <tiling_schema> <tile_origin> <'levels;customScale1'> <'layers;multiLayer1'> <antialiasing> <cache_format> <tile_compression_quality> <storage_format> <use_local_cache_dir> For example: To generate cache using New Tiling scheme Type & Standard scales ./CreateMapServerCache.sh -u admin -d hostname -p admin -args myserver Rainfall Layers /path/to/arcgiscache/ NEW STANDARD 4 96 512 512 FUSED '#' '-400 400' '#' '#' ANTIALIASING MIXED 75 Compact True Note: 1. Based on the chosen parameters, the depended properties will get enabled or disabled. 2. To enter default values or null values use # sign inside quotes.For example '#' 3. To enter multiple values for a parameter separate each value using semicolon (;) 4. Use single quotes('') when providing values that require a semi-colon(;) or a space as a separator. For example: 'scale1;scale2', 'layer1;layer2'
ManageMapServerCache.sh.
./ManageMapServerCacheTiles.sh -u <username> -d <hostname> -p <passwd> -args <server_name> <object_name> <data_frame> <'layers;multiLayer1'> <'levels;levels'> <update_mode> <constraining_extent> <thread_count> <Antialiasing> <update_feature_class> <ignore_status> For example: ./ManageMapServerCacheTiles.sh -u ags -d hostname -p ags -args myserver Rainfall Layers '#' '64000000;32000000' 'Recreate Empty Tiles' '-183.780014728684 16.3007091216187 -61.4068546696843 74.030308030969' 5 NONE /path/to/feature_class IGNORE_COMPLETION_STATUS_FIELD
Programar una secuencia de comandos de caché para ejecutar en momentos señalados
# 1. Set the environment variable to point to an editor of choice (the example below uses vi) EDITOR=/usr/bin/vi; export EDITOR # 2. Bring up the crontab in the editor using the command crontab -e # 3. Add a line to crontab # <min> <hour> <day of month> <month> <day of week> <script to be executed> # Allowed values # <0-60> <0-23> <1-31> <1-12> <0-6> </path/to/customised_ManageMapServerCache.sh> 0 10 * * 0 /path/to/customised_Cache.sh # To run every Sunday at 10 AM 0 18 * * * /path/to/updatecache.sh # To run every day at 6 PM 0 0 1 * * /path/to/updatecache.sh # To run at midnight on the first of every month # 4. Save and exit the editor # 5. Verify that the cron job has been added to the list of cron tasks crontab -l Note: Do not use statements following '#' sign, these are comments for understanding the commands.