O que é melhor para selecionar? WMS ou WFS

9

Preciso selecionar uma (s) camada (s) e fico imaginando como devo servir a camada.

Os requisitos são que eu preciso poder selecionar vários recursos ao mesmo tempo desenhando uma caixa ou polígono. Eles devem ficar destacados e eu devo exibir os dados para todos os recursos. Não preciso fazer nenhuma edição deles.

Estou usando geoserver e openlayers

Nate
fonte
Você conseguiu executar este aplicativo? Eu queria saber como isso pode ser implementado?
Sam007
Para a seleção que você descreve, apenas o WFS é possível. Para o WMS, você pode selecionar em um local de ponto ou selecionar por alguns atributos / atributos conhecidos e simbolizar novamente usando o SLD.
nmtoken

Respostas:

9

Parece que você deseja armazenar os vetores no navegador e consultá-los no lado do cliente. Para fazer isso, você precisará usar o WFS.

Uma ressalva, porém, é que os navegadores têm limitações em quantos vetores eles podem exibir ao mesmo tempo. Se você estiver lidando com conjuntos de dados grandes ou complicados, pode ser que sua única opção seja usar o WMS. Isso seria mais complicado de implementar, no entanto, porque as consultas teriam que ser feitas no servidor.

canisrufus
fonte
7
na verdade, o OpenLayers não tem limite no número de recursos que ele pode exibir, os navegadores têm limites no número de recursos que podem exibir.
Ian Turton
2
O número máximo de recursos não dependerá apenas do navegador da Web, mas também dos recursos do computador cliente, como o processador ou a memória RAM. Dado que, você, o desenvolvedor, não sabe qual computador cliente executará 'seu' visualizador de mapa baseado em OpenLayers, sendo prudente ao estimar esse limite.
31411 dariapra
11
Estou pensando que o WMS serviria muito bem a seu propósito. Mantenha o processamento complicado no lado do servidor (se possível) e a renderização do resultado no lado do cliente. Você terá um melhor desempenho e ainda poderá usar filtros com script como Intersecções, Contém, Dentro, etc. Veja o servidor geográfico.
OptimizePrime
2
Eu sugiro que você se comprometa com qualquer um dos paradigmas. 1. O cliente recupera os dados e os processa / consulta adequadamente, o servidor serve apenas dados (WFS). 2. O cliente cuida apenas da renderização, o servidor executa tarefas de processamento / consulta e entrega o resultado (WMS). Ambos têm prós e contras, mas não alteram o processo, baixam os dados (WFS) e fazem com que o servidor também faça o processamento / consultas. Isso cria uma sobrecarga desnecessária e complica a situação
OptimizePrime
@iant: Entendo que os openlayers não têm limite no número de recursos que podem ser exibidos. Eu acho que nós dois podemos concordar que ele tem limitações, embora;)
canisrufus
5

Se você já possui dados visuais, como um mapa base, e apenas precisa selecionar recursos, o WFS funcionaria muito bem para isso. Embora, se você precisar de um componente visual para acompanhar sua seleção, seria melhor atendido por um serviço WMS, pois ele foi criado para isso.

Apesar de ouvir seu caso de uso como você o descreveu, eu pessoalmente usaria apenas um serviço WMS.

Além disso, o Blog do GeoServer é uma excelente descrição dos dois serviços e quando você deve aproveitá-los.

Edit: Em uma nota adicional, se você estiver fazendo algo além de simplesmente consultar os dados do recurso, como regra geral, apenas uso o WFS, ele se destaca quando se trata de manipulação de dados em comparação com outros serviços OGC que usei recentemente. Além disso, leve isso com um pouco de sal, foi exatamente o que eu experimentei no uso dos serviços, e é por isso que anexei os links anteriores e seguintes.

Padrões OGC:
WMS
WFS

dkroy
fonte
+1 no link sobre quando aproveitar os tipos de serviço.
OptimizePrime
Eu acho que há um erro de digitação. Sua segunda ocorrência de "WFS" parece que deveria ser "WMS".
Canisrufus
Obrigado, o que aconteceu foi que eu havia editado para corrigir o fluxo das frases e, em seguida, acredito que havia mudado acidentalmente o que pretendia dizer originalmente.
dkroy