Simplifique a saída WFS do GeoServer

12

Estou lidando com alguns grandes conjuntos de dados e gostaria de minimizar a quantidade de dados enviados pela rede. Estou usando a estratégia BBox da OpenLayers para transferir apenas os dados necessários, mas estou pensando se posso simplificar a saída para mostrar níveis mais baixos de zoom sem precisar transferir dados com precisão / detalhes desnecessários.

Estou usando o GeoServer como um servidor WFS como parte do pacote OpenGeo.

Mr_Chimp
fonte

Respostas:

8

O WFS / GeoServer realmente não fornece nenhuma maneira de generalizar rapidamente, com base na escala, mas há uma extensão especial que faz o que você está procurando, fazendo alguma pré-generalização.

http://docs.geoserver.org/stable/en/user/data/featurepregen.html

jdeolive
fonte
1
+1 - extensão muito agradável. Seria bom ter um MapServer equivalente ..
geographika
3

Algumas soluções possíveis:

  • Você realmente precisa dos dados em um formato vetorial? Se os polígonos grandes e complexos forem apenas para referência, eles serão bons como WMS / imagens. Se você pode simplificá-los, provavelmente não precisará da geometria.
  • Você pode passar um parâmetro de generalização para uma camada de mapa através de um parâmetro personalizado e usá-lo para simplificar a geometria. Esta discussão trata do MapServer, mas presumo que algo semelhante possa ser feito com o GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Também mencionado no tópico acima, você pode armazenar os conjuntos de dados pré-simplificados para diferentes escalas e ocultar / mostrá-los em seu mapa, conforme necessário
  • Verifique se a compactação gZip está ativada no servidor da Web, pois isso reduzirá os arquivos GML / XML para pelo menos metade do tamanho
geographika
fonte
Definitivamente, preciso deles em formato vetorial, pois quero clicar neles para obter mais informações e editar os polígonos (embora, obviamente, eu só queira editar as formas verdadeiras, não as versões simplificadas, que podem ser um pouco complicado).
Mr_Chimp
1
@mr_chimp - você pode usar a solicitação WMS GetFeatureInfo para retornar apenas a geometria e os atributos do recurso com um clique do mouse.
geographika
3

Usando a estratégia de cluster OL , você pode simplificar a representação (para usuários), mas a quantidade de dados transferidos não será menor, porque a clusterização é feita no lado do cliente.

Consulte também a página de documentação .

(Eu não sei sobre as opções disponíveis no lado do servidor)

simo
fonte
Talvez eu esteja enganado, mas a estratégia de cluster parece ser para dados pontuais. Eu tenho dados poligonais complexos que gostaria de simplificar.
Mr_Chimp 3/11
Isso não reduziria o tráfego de rede, pois todos os pontos seriam necessários para agrupar o lado do cliente.
geographika
@geographika> era o que eu queria dizer, mas como você pode imaginar, eu esqueci a negação da minha sentença (reparada agora)! Ainda é uma boa maneira de legibilidade para os utilizadores finais
simo
@Mr_Chimp> nenhum equivalente para polígonos, de fato
simo
0

Se sua preocupação é que o WFS seja 'pesado' (sua saída GML é detalhada por natureza), meu conselho é que você use o Texto Conhecido (WKT), se possível. Eu acho que a estratégia BBox da OpenLayers é "compatível" com o WKT.

dariapra
fonte