Vereinfachen Sie die Ausgabe von GeoServer WFS


12

Ich habe es mit einigen großen Datenmengen zu tun und möchte die über das Netzwerk gesendete Datenmenge minimieren. Ich verwende die BBox-Strategie von OpenLayers, um nur die Daten zu übertragen, die benötigt werden, aber ich frage mich, ob ich die Ausgabe vereinfachen kann, damit ich niedrigere Zoomstufen anzeigen kann, ohne Daten mit unnötiger Genauigkeit / Detailgenauigkeit übertragen zu müssen.

Ich verwende GeoServer als WFS-Server als Teil des OpenGeo-Bundles.

Antworten:



3

Einige mögliche Lösungen:

  • Benötigen Sie die Daten wirklich im Vektorformat? Wenn die großen komplexen Polygone nur als Referenz dienen, sind sie als WMS / Bilder in Ordnung. Wenn Sie sie vereinfachen können, brauchen Sie die Geometrie wahrscheinlich sowieso nicht.
  • Sie können einen Generalisierungsparameter über einen benutzerdefinierten Parameter an eine Kartenebene übergeben und diese verwenden, um die Geometrie zu vereinfachen. In diesem Thread geht es um MapServer, aber ich gehe davon aus, dass mit GeoServer etwas Ähnliches möglich ist - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Im obigen Thread wird auch darauf verwiesen, dass Sie die für verschiedene Maßstäbe vorvereinfachten Datensätze speichern und bei Bedarf in Ihrer Karte ausblenden / anzeigen können
  • Stellen Sie sicher, dass die gZip- Komprimierung auf Ihrem Webserver aktiviert ist, da dadurch GML / XML-Dateien auf mindestens die Hälfte der Größe verkleinert werden

Ich brauche sie definitiv im Vektorformat, da ich in der Lage sein möchte, auf sie zu klicken, um weitere Informationen zu erhalten und die Polygone zu bearbeiten (obwohl ich natürlich nur die wahren Formen bearbeiten möchte, nicht die vereinfachten Versionen, die möglicherweise vorliegen ein bisschen tricky).
Mr_Chimp

1
@mr_chimp - Mit der WMS GetFeatureInfo-Anforderung können Sie nur die Geometrie und Attribute für das Feature per Mausklick zurückgeben.
geographika

3

Mit der OL- Clusterstrategie können Sie die Darstellung (für Benutzer) vereinfachen, die übertragene Datenmenge wird jedoch nicht geringer, da die Clusterisierung auf Client-Seite erfolgt.

Siehe auch die Dokumentationsseite .

(Ich weiß nicht, welche Optionen auf der Serverseite verfügbar sind.)


Vielleicht irre ich mich, aber die Cluster-Strategie scheint für Punktdaten zu gelten. Ich habe komplexe Polygondaten, die ich vereinfachen möchte.
Mr_Chimp

Dies würde den Netzwerkverkehr nicht reduzieren, da alle Punkte für die Clusterbildung auf der Clientseite benötigt würden.
geographika

@geographika> das wollte ich sagen, aber wie du ahnen kannst, habe ich die Negation in meinem Satz vergessen (jetzt repariert)! Es ist immer noch eine gute Möglichkeit, die Lesbarkeit für Endbenutzer zu verbessern
simo

@Mr_Chimp> keine Entsprechung für Polygone, in der Tat
simo

0

Wenn Sie befürchten, dass das WFS "schwer" ist (die GML-Ausgabe ist von Natur aus ausführlich), raten wir Ihnen, stattdessen nach Möglichkeit Well-Known Text (WKT) zu verwenden. Ich denke, dass die BBox-Strategie von OpenLayers mit WKT "kompatibel" ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.