Como acelerar os serviços de Mapa Dinâmico?

16

Estou trabalhando em um aplicativo baseado no ESRI Flex que exibirá dados de um Dynamic Map Service. Ele precisa ser dinâmico, pois o usuário final deve ter a opção de ativar e desativar as camadas. Isso é possível apenas com os serviços de Mapa Dinâmico e não com os serviços de Mapa em Mosaico.

Quais são algumas das etapas que podem ser tomadas para aumentar a velocidade com a qual os blocos são enviados ao cliente pelo servidor?

Eu estou olhando os Mapas Dinâmicos da ESRI disponíveis no ArcGIS online, e eles são bastante rápidos. Alguma idéia de como eles conseguem um desempenho tão bom?

Devdatta Tengshe
fonte
4
Você pode usar serviços de mapa lado a lado separados para cada camada e ativar ou desativar cada um.
Britt Wescott
@ Set: acabei com a mesma conclusão que você. Com o número de camadas que estamos usando e o número esperado de usuários simultâneos, os serviços separados de mapas lado a lado oferecem o melhor desempenho.
Devdatta Tengshe
Estamos com o mesmo problema, enviei uma solicitação de aprimoramento à ESRI para obter suporte para execução paralela das camadas nos serviços de mapas dinâmicos, acho que isso aumentaria muito o desempenho.
MathiasWestin

Respostas:

11

Você já deve ter feito isso, mas vale a pena mencionar para outras pessoas que possam aparecer. Passar algum tempo usando a barra de ferramentas Map Service Publishing no ArcMap pode fazer muita diferença no desempenho de um serviço de mapa dinâmico. A ferramenta Analyze Map funciona bem para encontrar problemas que atrasam os serviços de mapas. Além disso, salvar e publicar como uma definição de serviço de mapa (MSD) em vez de um MXD permite aumentos significativos de desempenho.

Alguns links:

Brenner256
fonte
Enquanto outras respostas levantam pontos válidos, eu já os havia considerado. O seminário ao qual você se vinculou forneceu algumas informações que eu não conhecia, além de todas as soluções sugeridas por outras pessoas. Por isso, marcarei sua resposta como aceita, pois seus links fornecem mais pontos e uma maneira holística de resolver o problema.
Devdatta Tengshe
14

Eu suponho que você gostaria que, para qualquer serviço de mapa da web ao vivo, você fizesse com que o servidor de mapas "pensasse" o mínimo possível. Em outras palavras, pré-calcule tudo o que puder.

  1. Coloque todos os seus dados no mesmo SRS para que não ocorra projeção 'on-the-fly'.
  2. Crie índices espaciais em seus dados.
  3. Crie visões gerais generalizadas de seus dados e use a dependência da escala para selecionar a camada apropriada para uma escala específica. (por exemplo, não faz sentido desenhar um poli com 10.000 vértices se a imagem de saída tiver apenas 250 x 250 pixels.)
DavidF
fonte
8

Alguns outros pontos a serem adicionados à resposta de DavidF:

  • Se puder, certifique-se de usar um serviço baseado em MSD (otimizado). Eles desenham mais rápido do que um serviço regular (MXD), e o processo de criação do serviço MSD executará algumas análises em seu mapa, que podem expor problemas que podem levar a tempos de desenho lentos.

  • Use renderizadores simplificados sempre que possível. Evite operações complexas de desenho, como pontilhamento, gradientes de cores e marcadores rasterizados.

  • Use a quantidade mínima de dados que satisfaça seus requisitos de negócios. Se você tiver atributos em seus dados que não serão utilizados para desenhar o mapa, remova-os. Mesmo se você precisar relatar os dados, poderá obtê-los conforme necessário do cliente (embora isso inclua trabalho extra de programação)

  • Ative o registro detalhado do seu mapa e revise os arquivos de registro para ver o que o ArcGIS Server faz quando você desenha um mapa. As instruções para configurar o log detalhado estão no site de blogs da Esri . Isso é para a versão 9.3, mas o local da configuração é o mesmo para o ArcGIS 10.

Lembre-se, o ajuste é uma operação muito específica, muito subjetiva e específica para o que você está fazendo; comparar o desempenho do seu próprio mapa será mais valioso do que comparar o desempenho com o de outra pessoa.

mwalker
fonte
Eu lidei com os três primeiros pontos, mas você pode esclarecer um pouco mais sobre o 'Registro detalhado do mapa'? Tentei descobrir isso, mas os únicos links que encontro são sobre os serviços ArcIMS.
Devdatta Tengshe
Adicionei um link ao blog da Esri sobre o log do ArcGIS Server.
mwalker