Was sind die Einschränkungen von Geoserver und OpenLayers, wenn eine große Anzahl von Punkten angezeigt wird?

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

Frage

Wir versuchen mit OpenLayers und Geoserver eine Karte mit einer großen Anzahl von Punkten (von 1000 bis 20000 je nach den Benutzernkriterien) anzuzeigen. Die Punkte werden in einer PostgreSQL -Datenbank gespeichert.

Während die Anwendung nur wenig Probleme zu haben scheint, die niedrigere Reichweite anzuzeigen, scheint ihre praktische Grenze rund 5000 Punkte zu liegen. Die SLD, die wir bewerben, ist ebenfalls riesig (auflisten alle Punkte einzeln durch Kriterien, die nicht die Feature -ID). Bei höheren Zahlen wird das Bild nicht garantiert zurückgegeben, und die Anfrage stürzt manchmal GeoServer ab, wobei der Dienst zurückgesetzt werden muss.

Weiß jemand, ob so etwas machbar ist und wenn ja, von Konfigurations -Tipps?

Wir haben einen BTREE -Index auf das für die Filterung verwendete Feld angewendet.

War es hilfreich?

Lösung

Welche Art von Schicht fügen Sie zu OpenLayers hinzu? Sie können eine WMS -Ebene verwenden, anstatt die Punkte als Vektorfunktionen zu haben:

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

GeoServer würde dann ein Bild der Punkte erzeugen und müsste nur eine PNG von JPEG mit ein paar KBs anstelle von Geometrie- und Styling -Informationen übergeben, die viel größer wären. Sie würden jedoch einen Teil der clientseitigen Funktionalität verlieren (Mausereignisse usw.)

Wenn Sie dies bereits tun, kann es ein separates Problem geben. 5000 Punkte sollten in Ordnung sein, um den Server zu verarbeiten.

Alternativ möchten Sie vielleicht überdenken, wie Sie die Punkte diplayieren. 5000 Punkte gleichzeitig klingen so, als ob es sehr verwirrend sein könnte. Möglicherweise wäre die Verwendung von Kreisen unterschiedlicher Größe für 10, 100, 500 Punkte usw. einfacher in Bezug auf Verarbeitung und Visualisierung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top