¿Cómo acelerar los servicios de Dynamic Map?

16

Estoy trabajando en una aplicación basada en ESRI Flex que mostrará datos de un servicio de mapas dinámicos. Debe ser dinámico, ya que el usuario final debe tener la opción de activar y desactivar las capas. Esto solo es posible con los servicios de mapas dinámicos y no con los servicios de mapas en mosaico.

¿Cuáles son algunos de los pasos que se pueden tomar para aumentar la velocidad con la que el servidor envía los mosaicos al cliente?

Estoy mirando los mapas dinámicos de ESRI disponibles en ArcGIS en línea, y son bastante rápidos. ¿Alguna idea de cómo obtienen un rendimiento tan bueno?

Devdatta Tengshe
fuente
44
Puede usar servicios de mapas en mosaico separados para cada capa, y luego activar o desactivar cada uno.
Britt Wescott, el
@Seth: terminé con la misma conclusión que tú. Con la cantidad de capas que estamos utilizando y la cantidad esperada de usuarios simultáneos, los servicios de mapas en mosaico separados brindan el mejor rendimiento.
Devdatta Tengshe
Estamos teniendo el mismo problema, he enviado una solicitud de mejora a ESRI para obtener soporte para la ejecución paralela de las capas en los servicios de mapas dinámicos, creo que eso aumentaría mucho el rendimiento.
MathiasWestin

Respuestas:

11

Es posible que ya haya hecho esto, pero vale la pena mencionarlo para otros que puedan aparecer. Pasar algún tiempo usando la barra de herramientas Publicación del servicio de mapas en ArcMap puede marcar una gran diferencia en el rendimiento de un servicio de mapas dinámico. La herramienta Analizar mapa funciona bien para encontrar problemas que ralentizan los servicios de mapas. Además, guardar y publicar como una definición de servicio de mapas (MSD) en lugar de un MXD permite un aumento significativo del rendimiento.

Algunos enlaces:

Brenner256
fuente
Mientras que otras respuestas plantean puntos válidos, ya los había considerado. El seminario al que se ha vinculado, me proporcionó información que no conocía, además de todas las soluciones sugeridas por otros. Por lo tanto, marcaré su respuesta como aceptada, ya que sus enlaces proporcionan más puntos y una forma holística de resolver el problema.
Devdatta Tengshe
14

Supongo que le gustaría para cualquier servicio de mapas web en vivo, hacer que su servidor de mapas 'piense' lo menos posible. En otras palabras, precalcule todo lo que pueda.

  1. Coloque todos sus datos en el mismo SRS para que no se produzca ninguna proyección 'sobre la marcha'.
  2. Crea índices espaciales en tus datos.
  3. Cree vistas generales generalizadas de sus datos y use la dependencia de escala para seleccionar la capa adecuada para una escala particular. (por ejemplo, no tiene sentido dibujar un poli con 10,000 vértices si la imagen de salida es de solo 250 x 250 píxeles).
DavidF
fuente
8

Algunos otros puntos para agregar a la respuesta de DavidF:

  • Si puede, asegúrese de utilizar un servicio optimizado (MSD). Dibujan más rápido que un servicio regular (MXD), y el proceso de creación del servicio MSD ejecutará algunos análisis en su mapa que pueden exponer problemas que podrían conducir a tiempos de dibujo lentos.

  • Utilice renderizadores simplificados cuando sea posible. Evite operaciones de dibujo complejas como tramado, gradientes de color y marcadores de trama.

  • Use la cantidad mínima de datos que satisfaga los requisitos de su negocio. Si tiene atributos en sus datos que no se utilizarán para dibujar el mapa, elimínelos. Incluso si necesita informar sobre los datos, puede obtenerlos según lo requiera el cliente (aunque esto agrega trabajo de programación adicional)

  • Active el registro detallado para su mapa y revise los archivos de registro para ver qué hace ArcGIS Server cuando dibuja un mapa. Las instrucciones para configurar el registro detallado se encuentran en el sitio de blogs de Esri . Eso es para la versión 9.3, pero la ubicación de configuración es la misma para ArcGIS 10.

Recuerde, el ajuste es una operación muy específica que es muy subjetiva y específica de lo que está haciendo; comparar el rendimiento de su propio mapa consigo mismo será más valioso que comparar su rendimiento con el de otra persona.

mwalker
fuente
He abordado los primeros tres puntos, pero ¿puede arrojar algo más de luz sobre 'Registro detallado para el mapa'? Intenté descubrir esto, pero los únicos enlaces que encuentro son sobre los servicios de ArcIMS.
Devdatta Tengshe
Agregué un enlace al blog de Esri sobre el registro de ArcGIS Server.
mwalker