Cliente de mapa da web de código aberto com controles deslizantes de tempo usando a fonte WMS

8

Eu tenho um serviço de mapa da web (WMS no geoserver). Tem uma visualização atual que é decente. Os dados são divididos em meses atualmente usando guias. Gostaria de visualizar os dados usando um cliente de mapa da web baseado em código aberto e um controle deslizante de tempo.

Eu já vi alguns exemplos, mas estou procurando uma solução genérica na qual basicamente eu possa alterar as camadas de segundo plano (também WMS), wms de origem e atributos relevantes. Isso permite experimentar ainda mais a solução. A camada de tempo wms (wms-t) não deve alterar as camadas wms de fundo. Eles devem permanecer controlados por um arquivo de configuração ou por uma interface de seleção interativa não relacionada ao controle deslizante de tempo.

Os serviços atuais podem ser acessados ​​através do parâmetro wms time:

time = 2014-1 time = 2014-5 etc

Deve ser possível que o usuário defina valores e intervalos mínimos / máximos, ou o cliente deve ser capaz de adivinhar isso sozinho, com base nas informações de getcapabilities.

ESRI ou outras soluções comerciais (fonte fechada) não são opções possíveis para esta pergunta.

ragnvald
fonte
1
Você precisa que a solução seja compatível com a visualização real ou está procurando um possível cliente de mapa da web separado? Eu costumava folheto e um plugin para fazer algo semelhante (Plugin "TimeSlider")
Djana
Completamente fora do atual. Procurando uma prova de conceito rápida e suja para prototipar novas funcionalidades.
ragnvald 12/09
"Eu já vi alguns exemplos, mas estou procurando uma solução genérica na qual basicamente possa alterar as camadas de segundo plano (também WMS), fontes de WMS e atributos relevantes". Então você quer alguns contextos de mapa em relação aos valores de tempo? Por exemplo, background1, wms1, wms2 em relação ao mês1 e background2, wms1, wms3 em relação ao mês2. Ou você terá todas essas camadas com dimensão de tempo?
Nicolas Boisteault
Nicolas, fiz algumas mudanças na pergunta. Mas sua suposição está errada. Essa solução necessária deve ser focada em uma mudança de camada de wms de acordo com um controle deslizante de tempo, ao longo das datas apresentadas nas informações das capacidades.
Ragnvald 19/09/2014

Respostas:

2

Não conheço nenhum cliente da Web com um controle deslizante de tempo fora da caixa para camadas WMS-T. A dimensão WMS é estranhamente uma propriedade do protocolo WMS que falta em muitas ferramentas que usei.

Desenvolvi uma solução para lidar com todas as dimensões (tempo e outras) com base no OpenLayers. Você pode encontrá-lo aqui: Exemplo de dimensão WMS

A camada neste exemplo é definida no Mapserver com um valor padrão (2013) e todos os valores propostos (2000 a 2013).

Quando você clica no ícone de filtro à direita, uma solicitação GetCapabilities é enviada e os valores de tempo são analisados ​​no XML a ser proposto na lista suspensa HTML. Você verá no código que obtemos uma versão em cache da solicitação GetCapabilities por motivos de desempenho.

Mais tarde, exibirei um calendário jQueryUI ou um controle deslizante jQueryUI adaptado para lidar com o tempo das camadas WMS-T.

Assim, você pode ver que, com o OpenLayers e poucas linhas de código, você pode obter o que precisa. Espero que ajude!

Nicolas Boisteault
fonte
Esta resposta é a mais próxima de uma resposta. Se você conseguir obter uma versão simplificada do cliente com um arquivo / documentação de configurações, seria um bom começo. Adicionar um controle deslizante jQueryUI nos trará todo o caminho. Vi sua resposta tarde demais para conceder a recompensa.
Ragnvald 23/09/14
1
Não, não é tarde demais, é premiado, obrigado. Trabalharei neste recurso no próximo mês e editarei minha postagem para inserir o código.
Nicolas Boisteault
Como é o ícone do filtro?
Dave X
@DaveX é um funil: google.fr/... Se você tem uma idéia melhor para o filtro ícone eu vou levá-la com prazer :-)
Nicolas Boisteault
1

Na maioria das vezes, os controles deslizantes não animam imagens de mapa de bitmap de um servidor WMS ou lado a lado. Eles estão animando pontos que estão sendo renderizados como pontos (marcadores, SVG, Canvas) no lado do cliente.

Para que uma animação seja eficaz, o cliente precisa ter todos os dados disponíveis antes de iniciar a animação. Se precisar voltar ao servidor para qualquer coisa, o atraso dessa solicitação arruinará o efeito.

O exemplo dado por Ashutosh acima é o melhor que você poderia esperar, onde não há animação.

Se você estiver usando pontos, poderá enviar todas as coordenadas ao cliente e fazer um loop sobre elas no controle deslizante de tempo. Aqui está o padrão-ouro desse método:

https://srogers.cartodb.com/viz/337d9194-6458-11e3-85b5-e5e70547d141/public_map

ChrisInCambo
fonte
1

O MapStore http://mapstore.geo-solutions.it/mapstore/ da GeoSolutions parece ter todos os componentes necessários, mas talvez eles não tenham sido empacotados em um pacote de instalação prontamente disponível. Na galeria de demonstração, este portal meteorológico possui um controle deslizante de tempo

http://geoportale.lamma.rete.toscana.it/MapStore/public/?locale=en

Este possui visualizações de calendário para selecionar datas de início e término

http://wiz.acque.net/portal/geonetwork?locale=en

E este leva datas de início e término de dois controles deslizantes

http://cip-pakistan.geo-solutions.it/MapStore/

user30184
fonte