<\/HEAD>
Los servicios de imágenes no solo sirven para proporcionar imágenes; también pueden realizar análisis dinámicos a nivel de píxel en múltiples conjuntos de datos ráster superpuestos utilizando funciones ráster encadenadas. Los servicios de imágenes ofrecen un rendimiento extremadamente rápido con imágenes fuente preprocesadas, especialmente cuando se sirven desde una caché de teselas. Por otro lado, los servicios de imágenes dinámicos pueden no responder tan rápidamente debido a las demandas adicionales de procesamiento que imponen al servidor. Un alto rendimiento es importante para los servicios de imágenes dinámicos porque los datos se reprocesan automáticamente cada vez que el usuario desplaza o acerca/aleja el mapa. Los servicios de imágenes dinámicos típicamente producen respuestas en menos de un segundo para tipos simples de análisis. Pero análisis más complejos pueden tardar mucho más dependiendo de la complejidad de la cadena de procesamiento y del número de conjuntos de datos de entrada involucrados. ¿Cómo podemos obtener un mejor rendimiento en esas situaciones? Para responder a esa pregunta realicé una serie de pruebas para ver cómo los siguientes factores afectan el rendimiento de los servicios de imágenes dinámicos:<\/P>
<\/P>
- Escala del mapa y resolución de los datos fuente<\/LI><\/UL><\/UL>
- Método de remuestreo<\/LI><\/UL><\/UL>
- Formato y compresión de los datos fuente<\/LI><\/UL><\/UL>
- Proyección en tiempo real<\/LI>
- Tamaño de la solicitud<\/LI><\/UL><\/UL>
En este artículo presento los resultados de esas pruebas junto con algunas sugerencias para maximizar el rendimiento. Mi máquina de prueba es un ordenador de escritorio con Windows 7 SP1 y ArcGIS 10.2.1 con 18GB de RAM y un procesador Intel Xeon W3550 quad-core funcionando a 3 GHZ. Los datos de prueba se almacenaron en un disco duro SATA vacío de 2 TB que desfragmenté y consolidé antes de las pruebas. Las pruebas se configuraron para determinar los tiempos promedio de respuesta de los servicios bajo diversas condiciones. Por "tiempo de respuesta" me refiero al tiempo que tarda un servicio en recuperar los datos fuente, procesarlos y transmitir una imagen de salida. El tiempo de transmisión se minimizó ejecutando la aplicación de prueba directamente en la máquina servidor.<\/P>
<\/P>
Esta información está escrita pensando en usuarios intermedios a avanzados en GIS. Asumo que el lector tiene un entendimiento general sobre servicios de imágenes, datos ráster y análisis, funciones ráster, geoprocesamiento, conjuntos mosaico, proyecciones cartográficas y almacenamiento en caché de servicios cartográficos.<\/P>
<\/P>
Escala del Mapa y Resolución de Datos Fuente<\/STRONG><\/P><\/P>Los píxeles que se procesan para análisis por servicios dinámicos no son generalmente idénticos a los píxeles almacenados en los conjuntos fuente. En cambio, los píxeles fuente se remuestrean en tiempo real a un nuevo tamaño basado en la escala actual del mapa. Esta fórmula muestra la relación entre la escala del mapa y el tamaño del remuestreo cuando las unidades del mapa son metros:<\/P><\/P>Tamaño del píxel remuestreado = escala del mapa * 0.0254\/96<\/A><\/P><\/P>
El tamaño del píxel remuestreado es análogo al parámetro "Tamaño Celda Análisis" en el Marco Geoprocesamiento y a veces se le llama "tamaño del píxel de la solicitud". Al alejarse a escalas menores, el tamaño del píxel remuestreado aumenta hasta que eventualmente el servicio remuestrea desde los píxeles en las pirámides. Remuestrear desde pirámides ayuda a mantener el rendimiento del servicio relativamente constante sobre un rango amplio de escalas.<\/P>
<\/P>
Gráfico 1. Rendimiento de un servicio de imágenes que realiza un análisis binario superpuesto sobre un rango de escalas del mapa.<\/P><\/DIV>El rendimiento aún varía dependiendo la escala del mapa y típicamente se ve similar al gráfico 1. Generé estos resultados usando una aplicación configurada para simular un solo usuario desplazando el mapa 100 veces consecutivas a escalas específicas. El gráfico muestra el tiempo promedio que tardó el servicio en procesar y transmitir las imágenes resultantes para diferentes escalas del mapa. Este servicio particular fue configurado con una plantilla función ráster para realizar un análisis binario superpuesto sobre once rásteres superpuestos en un conjunto mosaico. Los tamaños píxel de los conjuntos fuente variaron entre 91.67 y 100 metros. La plantilla función ráster fue configurada para devolver un resultado binario, donde cada píxel resultante se clasifica como "adecuado" o "no adecuado" según los parámetros del análisis.<\/P><\/P>Mira los tres puntos a lo largo del eje horizontal donde el tiempo de respuesta cae abruptamente. En esas escalas del mapa, el tamaño del píxel remuestreado es igual al tamaño píxel de las pirámides en los datos fuente. El tiempo procesamiento para remuestreo es el más bajo en esas escalas porque hay casi una correspondencia 1:1 entre píxeles fuente y píxeles remuestreados. Las aplicaciones cliente que usan este servicio particular verán tiempos dramáticamente más rápidos si están limitadas solo a esas escalas. Una forma hacer esto es usar una capa base con teselas (tiled basemap). Las aplicaciones web cartográficas que usan capas base con teselas generalmente están limitadas solo a esas escalas del mapa. El esquema más comúnmente usado para teselado es el esquema ArcGIS Online/Bing Maps/Google Maps (referido aquí como "esquema AGOL" por brevedad). Las líneas verticales rojas punteadas en el gráfico indican las escalas del mapa para niveles 7 – 12 dentro este esquema.
Desafortunadamente esas escalas no están muy cerca a las escalas donde este servicio funciona mejor. Hay dos opciones para alinear los píxeles fuente con las escalas del esquema teselado:<\/P><\/P>Construir una capa base personalizada con un esquema teselado personalizado que coincida con los tamaños píxel de los datos.<\/LI>Muestrear o remuestrear los datos a un tamaño píxel que coincida con el esquema teselado de la capa base.
Grados decimales. Las tres columnas a la derecha proporcionan valores sugeridos para muestrear datos raster. Estas sugerencias no son definitivas. No es necesario muestrear sus datos exactamente a estos tamaños recomendados. La clave es elegir un tamaño que sea ligeramente menor que uno de los tamaños de las escalas del esquema de teselado objetivo.<\/P><\/P>Escalas de mapa y tamaños de píxel para el esquema de teselado ArcGIS Online\/Bing Maps\/Google Maps<\/EM><\/P><\/A><\/P><\/P>Por cierto, hacer coincidir los tamaños de píxel de sus datos con un esquema de teselado de mapa base también es útil para flujos de trabajo que involucran imágenes estáticas superpuestas sobre un mapa base teselado. <\/SPAN>Para esos casos, puede construir vistas generales del conjunto mosaico para visualizar a escalas más pequeñas en lugar de pirámides raster. <\/SPAN>Una de las grandes ventajas de las vistas generales del conjunto mosaico es que puede definir el tamaño base del píxel de las vistas generales así como el factor de escala para que coincida con su esquema de teselado objetivo. <\/SPAN>De esta manera no necesita remuestrear los datos fuente a un nuevo tamaño base de píxel para adaptarse a cualquier esquema de teselado en particular.<\/P>Método de remuestreo<\/STRONG><\/P><\/P><\/P>El método de remuestreo<\/A> <\/SPAN>especificado para una solicitud del servicio de imágenes también tiene un impacto en el rendimiento. <\/SPAN>La elección de cuál usar debe basarse principalmente en el tipo de datos utilizados en el análisis. <\/SPAN>El Gráfico 3 muestra el rendimiento del servicio de análisis binario superpuesto (con datos de 38 metros) con diferentes métodos de remuestreo.<\/P><\/A>Gráfico 3. Tiempos de respuesta del servicio de análisis binario superpuesto con diferentes métodos de remuestreo<\/P><\/DIV><\/P><\/P><\/P>El remuestreo bilineal es el método predeterminado. <\/SPAN>Aquí se muestra cómo los tiempos de respuesta para los otros métodos comparados con bilineal promediados sobre las cinco escalas de mapa probadas:<\/P><\/A><\/P>Formato raster<\/STRONG><\/P><\/P>El formato de almacenamiento de los datos puede tener un gran impacto en el rendimiento. Por ejemplo, el tiempo de respuesta del servicio de análisis binario superpuesto promediado en todas las escalas fue un 36% menor cuando los datos se almacenaron en formato GeoTIFF frente a raster gestionado por geodatabase archivo. La sección Fuentes y formatos de datos<\/A> del libro guía Gestión de imágenes recomienda dejar los datos en su formato original a menos que estén en uno de los formatos con menor rendimiento como ASCII. GeoTIFF con teselas internas es la opción recomendada para reformatear porque proporciona acceso rápido a los píxeles para áreas rectangulares que cubren solo un subconjunto del archivo completo.Tipo y compresión del píxel<\/STRONG><\/P><\/P>El tipo de píxel determina la precisión de los valores almacenados en los datos y puede tener un gran impacto en el rendimiento. En general, los tipos enteros son más rápidos que los tipos punto flotante, y los tipos con menor precisión son más rápidos que los tipos con mayor precisión. La compresión de imágenes puede potencialmente aumentar o reducir el rendimiento dependiendo la situación. Para más información sobre el efecto de la compresión en el tamaño del archivo consulte la sección Fuentes y formatos de datos del libro guía Gestión de imágenes. Para evaluar el impacto del tipo y compresión del píxel en el rendimiento de datos almacenados en un disco duro local, probé un grupo de servicios imagen configurados para realizar un análisis superpuesto extremadamente intensivo sobre 15 conjuntos raster. Los servicios se configuraron idénticamente excepto por los tipos pixel y compresión de los datos analizados. Las pruebas se realizaron a la escala del mapa correspondiente al tamaño del píxel de los datos.<\/P>Gráficos 5 y 6. Tiempo promedio respuesta y tamaño almacenamiento vs. tipo compresión para un servicio imagen que realiza análisis superpuesto complejo<\/P>
La siguiente tabla muestra el cambio porcentual en tiempos respuesta con conjuntos reformateados frente al conjunto original punto flotante doble precisión.
Proyección dinámica<\STRONG>
La proyección dinámica es una característica muy importante plataforma ArcGIS. . Ha ahorrado a usuarios GIS como yo incontables horas trabajo eliminando necesidad asegurar que cada conjunto datos mapa esté almacenado mismo sistema coordenadas.& nbsp;. Sin embargo, algunos casos esta flexibilidad conveniencia puede ser costosa cuando se requiere ultra-rendimiento rápido. & nbsp;. El siguiente gráfico muestra uno esos casos.
<\/A>Gráfico 9. Respuesta promedio en MP\/s para diferentes tamaños de solicitud para el servicio weighted overlay.<\/P><\/DIV><\/A>Gráfico 10. Tiempo promedio de respuesta en diferentes tamaños de solicitud para el servicio weighted overlay.<\/P><\/DIV><\/P><\/P>El Gráfico 9 muestra que el rendimiento para este servicio se estabiliza en un tamaño de solicitud de aproximadamente 1000x1000 píxeles a alrededor de 1.5 3 6 MP\/s. El Gráfico 10 muestra que el tamaño de la solicitud tiene un impacto lineal en el rendimiento. Este servicio es capaz de proporcionar tiempos de respuesta inferiores a un segundo para solicitudes de hasta aproximadamente 1,440,000 píxeles, o un tamaño de solicitud de 1200x1200.<\/P><\/P>Resumen<\/STRONG><\/P><\/P>El análisis ráster puede involucrar muchas etapas de procesamiento y análisis de datos. Las cadenas complejas de procesamiento en tiempo real pueden imponer cargas pesadas en un servidor y contribuir a un rendimiento lento. En algunos casos, se pueden lograr enormes mejoras en el rendimiento al preprocesar los datos en un formato más eficiente para el remuestreo y procesamiento en tiempo real.<\/P><\/P>Para aplicaciones que utilizan capas base con mosaicos, las mayores mejoras en el rendimiento probablemente se logren alineando los tamaños de píxel de los datos con las escalas del esquema de mosaicos del mapa base. La sección 3Map Scales and Source Data Resolution 4 describe la teoría detrás de este enfoque y proporciona una tabla con tamaños recomendados de píxel para aplicaciones que usan mapas base con el esquema de mosaicos ArcGIS Online\Bing Maps\Google Maps. Alternativamente, los desarrolladores pueden construir mapas base con esquemas personalizados para alinear con los tamaños existentes de píxel de los datos del análisis.<\/P><\/P>Otra forma de reducir significativamente la carga de procesamiento en un servidor en algunos casos es evitar la proyección en tiempo real de los datos del análisis. Esto se logra asegurando que el mapa base y los datos del análisis estén en el mismo sistema de coordenadas. El impacto en el rendimiento de la proyección en tiempo real varía según los sistemas de coordenadas de entrada y salida y se discute en la sección titulada 3On-the-fly Projection 4.<\/P><\/P>El formato del archivo, tipo de píxel y tipo de compresión de los datos del análisis también pueden tener un gran impacto en el rendimiento. Se recomienda GeoTIFF con mosaicos internos para situaciones donde es necesario reformatear los datos desde un formato más lento. Los tipos de píxel con menor precisión ofrecen mejor rendimiento que los tipos con mayor precisión. La compresión del píxel tiene el potencial tanto para aumentar como disminuir el rendimiento dependiendo cómo se almacenan y acceden a los datos por el servidor. Estos temas se discuten en las secciones tituladas 3Raster Format 4 y 3Pixel Type and Compression 4.<\/P><\/P>Las aplicaciones cliente también pueden influir en el rendimiento dinámico del servicio de imágenes. Los tiempos de respuesta del servicio son menores cuando las aplicaciones especifican remuestreo por vecino más cercano, seguido por remuestreo bilineal. Y existe una relación directa entre el rendimiento del servicio y el tamaño de la ventana del mapa en una aplicación. Estos temas se discuten en las secciones tituladas 3Resampling Method 4 y 3Request Size 4.<\/P><\/BODY><\/HTML>