Devo usar WFS, WMS ou SOS considerando desempenho e segurança?

10

Minha tarefa é desenvolver um aplicativo da web que visualize os dados temporais no mapa e produza um tipo de fluxo de dados (ou animação) a partir das imagens / dados que foram recebidos do servidor.

Para esse fim, estou pensando em usar os serviços Web OpenLayers API e OGC WFS ou WMS ou SOS.

Um dos principais requisitos é enviar dados com segurança e rapidez com alto desempenho.

A pergunta que tenho é: Qual serviço fora do WFS, WMS e SOS será bom para usar em aplicativos da Web em termos de desempenho, segurança, confiabilidade etc.?

Eu sei que cada serviço web oferece recursos diferentes. Mas, se eu usar o WMS para meus dados temporais para obter imagens de mapa executando algum tipo de agregação no banco de dados (como é a visualização temporal), meu aplicativo ficará lento em alguns dispositivos, como telefones celulares / tablets, pois pode levar muito tempo. hora de buscar imagens.

Por outro lado, se eu usar SOS ou WFS, haverá risco de nosso aplicativo enviar dados brutos, o que realmente não é seguro.

Será realmente ótimo se alguém puder me dar um conselho ou pensar sobre isso.

Se você acha que essa pergunta não pode ser apenas respondida, alguém pode me dar uma idéia de como devo prosseguir com esse problema de pesquisa?

Rajat Arora
fonte
define "alto desempenho" e quantos dados estamos falando / diferem por quadro-chave de animação?
Ragi Yaser Burhum 15/10

Respostas:

7

Eu sei que cada serviço web oferece recursos diferentes. Porém, se eu usar o serviço WMS para meus dados temporais para obter imagens de mapa executando algum tipo de agregação no banco de dados (como é a visualização temporal), meu aplicativo ficará lento em alguns dispositivos, como telefones celulares / tablets, pois pode levar muito tempo para buscar imagens ".

Não concordo com esta afirmação por três razões.

O tempo necessário para buscar dados WFS também pode ser alto, pois as consultas espaciais também podem ser lentas. Quero dizer, a quantidade de bytes brutos enviados não é o único fator limitante.

Outro motivo é que, como a saída WFS tende a ser detalhada - porque usa GML , que é um 'dialeto' de XML, para transportar dados -, você pode acabar enviando mais bytes brutos do que se o WMS fosse usado.

Por fim, dados vetoriais - como a saída WFS - exigirão mais poder de computação dos dispositivos clientes, porque eles terão que renderizar os recursos; por outro lado, as respostas do WMS às solicitações GetMap já são renderizadas, o que implica menos trabalho no lado do cliente. Portanto, o uso de dados vetoriais em clientes com poder de computação limitado pode ser um problema.

dariapra
fonte
1
até eu ver essa resposta, vou adicionar algo semelhante. Os recursos vetoriais podem ser extremamente complexos e a transferência desses dados via WFS pode resultar em enormes cargas XML. Com o WMS, sua principal preocupação é o tempo de processamento necessário para gerar a imagem em seu servidor espesso (thin client), mas pelo menos a imagem pode ser armazenada em cache para obter ganhos de desempenho. Com o WFS, é necessário fazer o upload do mesmo XML todas as vezes, e esse tráfego de rede pode afetar o desempenho percebido tanto quanto mais que a geração de imagens (portanto, servidor thin / cliente espesso pode não necessariamente torná-lo mais escalável).
tomfumb
4
Você não precisa usar o GML com um WFS, GeoJOSN e os shapefiles podem ser enviados, por exemplo. Um bom servidor também comprime os dados. Mas o WMS ainda será mais rápido para qualquer conjunto de dados realista.
Ian Turton
Muito obrigado por suas respostas. Depois de fazer um pouco mais de pesquisa, descobri que usar o WMS nesse aplicativo da web será uma boa opção. Será mais eficiente transmitir uma imagem renderizada ao cliente. Especialmente para conjuntos de dados grandes, a transmissão de uma imagem renderizada pode ser mais rápida que a codificação, transmissão e decodificação de arquivos XML grandes.
Rajat Arora
6

O WMS / WFS seguro com HTTPS usa certificados do lado do cliente para autenticar usuários individuais para cada solicitação ao servidor. Tem a vantagem de não precisar alterar a implementação do WMS / WFS (exceto colocando-a em um servidor HTTPS ), mas possui a desvantagem considerável de que você precisa distribuir certificados para os usuários - normalmente não é aceitável, exceto em situações de alta segurança .

Um WFS permite acesso direto uniforme aos recursos armazenados em um servidor. Use um WFS quando eles quiserem executar ações como:

query a dataset and retrieve the features
find the feature definition (feature’s property names and types)
add features to dataset
delete feature from a dataset
update feature in a dataset
lock features to prevent modification

Um WMS permite acesso de renderização uniforme aos recursos armazenados em um servidor. Use um WMS quando desejar executar ações como:

Producing Maps
Very simple Querying of data

Fica um pouco mais complexo ao lidar com WMS e HTTPS

http://idlastro.gsfc.nasa.gov/idl_html_help/HTTP_Authentication_Security_and_Encodinga.html

e http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#AA

Usaram o WMS com FME Server e Geosever com HTTPS e ambos funcionam bem.

Mapperz
fonte