Quais são as limitações do Geoserver e do OpenLayers ao mostrar um grande número de pontos?

StackOverflow https://stackoverflow.com/questions/2108259

Pergunta

Estamos tentando mostrar um mapa com um grande número de pontos (variando de 1000 a 20000, dependendo dos critérios dos usuários) usando o OpenLayers e o GeoServer. Os pontos são armazenados em um banco de dados PostGresql.

Embora o aplicativo pareça ter pouco problema na exibição da faixa mais baixa, seu limite prático parece ser de cerca de 5000 pontos. O SLD que estamos aplicando também é enorme (listando todos os pontos individualmente por critérios que não são o ID do recurso). Em números mais altos, a imagem não é garantida e a solicitação às vezes trava o geoserver, exigindo que o serviço seja redefinido.

Alguém sabe se isso é viável e, se sim, de alguma dica de configuração?

Aplicamos um índice Btree no campo usado para filtragem.

Foi útil?

Solução

Que tipo de camada você está adicionando ao OpenLayers? Você pode usar uma camada WMS em vez de ter os pontos como recursos do vetor:

http://dev.openlayers.org/docs/files/openlayers/layer/wms-js.html

O GeoServer geraria uma imagem dos pontos e só precisaria passar por um PNG de JPEG de alguns KBs, em vez de informações de geometria e estilo, que seriam muito maiores. Você perderia parte da funcionalidade do lado do cliente (eventos de mouse-ou mais etc.)

Se você já está fazendo isso, pode haver um problema separado. 5000 pontos devem ser bons para lidar com o servidor.

Como alternativa, você pode repensar como está diplicando os pontos. 5000 pontos soa uma vez como se pudesse ser muito confuso. Talvez usar círculos de tamanhos diferentes para representar 10, 100, 500 pontos etc. seria mais fácil em termos de processamento e visualização.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top