HeatMap para identificar pontos de acesso no serviço em cache do ArcGIS Server?

14

O ArcGIS Server permite criar serviços de mapas em cache. Eles podem ser consumidos por vários aplicativos (ArcGIS Desktop, aplicativos da web etc.). Gostaria de ter uma idéia de quais áreas do meu cache são mais atingidas. Gostaria de visualizar esses resultados usando um mapa de calor sobreposto ao mesmo mapa em cache. Eu estava pensando em utilizar algo como o HeatMapsAPI e uma das APIs fornecidas pela ESRI (a Javascript API deve ser suficiente)

Eu sei que os mapas em cache podem estar mudando ligeiramente na v10 do ArcGIS Server, mas estou tentando pensar na melhor maneira de determinar quais blocos são mais solicitados sem colocar uma carga significativa no ArcGIS Server ou no servidor web (IIS).

Eu estava originalmente pensando em olhar para o diretório de cache real na pasta arcgiscache e talvez conectar-se ao atributo Data Acessada (mas tenho pouca idéia de como realmente implementar isso).

Gostaria de ouvir de alguém que tenha experiência com o ArcGIS Server, sobre se eles têm alguma sugestão sobre como fazer isso?

Simon
fonte
Como faço para mudar isso para o site GIS?
Simon

Respostas:

9

A empresa em que trabalho (Latitude Geographics) fabrica um produto chamado Geocortex Optimizer que pode fazer isso por você.

Ele analisa os logs do ArcGIS Server e do IIS para determinar quais partes dos seus mapas estão sendo solicitadas:

Mapa de Calor de Amostra

Esses são os resultados de alguns testes de estresse que fizemos, por isso não são tão representativos do resultado final. (Normalmente você só recebe zonas realmente "quentes" nos centros urbanos)

Se você quiser obter mais informações, use a função "Solicitar uma demonstração" em nosso site .

mwalker
fonte
4

Outro método é criar algo no cliente que registra o uso. (Isso é o que o HeatMapAPI está basicamente fazendo.)

Simplificado demais: registre as extensões ou cliques do usuário ou blocos em um banco de dados. Em seguida, crie um serviço ArcGISServer que é processado a partir desse banco de dados. Adicione isso como uma camada ao mapa.

Você também pode tentar usar o serviço HeatMapsAPI: http://www.heatmapapi.com/HeatmapGenerate2WS.asmx . Eles têm exemplos para clientes do lado do servidor. Pela aparência do serviço, suspeito que ele também possa ser utilizado a partir de um cliente.

Ruz
fonte
1

Você pode usar o log do servidor da web para descobrir quais imagens foram solicitadas. Não é ideal, pois você teria que "voltar atrás" do nome e diretório do arquivo para determinar onde o usuário visualizou, mas você terá acesso ao "Nível" que eles visualizaram (já que faz parte da estrutura da pasta), além do nomes de arquivos de imagem solicitados.

Depois de criar uma quantidade decente de informações a partir do log, você poderá observar as imagens mais acessadas (ou seja, visualizá-las fisicamente) para determinar onde as solicitações estão sendo feitas.

Michael Todd
fonte
0

Embora não seja uma resposta direta a esta pergunta, o perfHeatMap é uma ótima ferramenta para entender quais partes de seus serviços de mapas dinâmicos são mais lentas, visualizando a saída como um mapa de calor.

Essa ferramenta mostra uma área geográfica de interesse definida em escalas definidas executando operações REST exportMap em um serviço de mapa. A classe de recurso resultante pode ser exibida via ArcMap com um esquema de cores graduado no tempo de resposta.

Simon
fonte