Vector Tiles hinter den Kulissen - Thomas Skowron FOSSGIS Konferenz 2019, Dresden - pretalx

Die Seite wird erstellt Lennard Langer
 
WEITER LESEN
Vector Tiles hinter den Kulissen - Thomas Skowron FOSSGIS Konferenz 2019, Dresden - pretalx
Vector Tiles hinter den Kulissen
             Thomas Skowron
      FOSSGIS Konferenz 2019, Dresden
Vector Tiles hinter den Kulissen - Thomas Skowron FOSSGIS Konferenz 2019, Dresden - pretalx
Foto von Torsten Maue
https://creativecommons.org/licenses/by/2.0/deed.en
Vector Tiles hinter den Kulissen - Thomas Skowron FOSSGIS Konferenz 2019, Dresden - pretalx
Viel früher
Später dann
Strategien zur Auslieferung
        von Karten
WMS
WMS
Tiles/Slippy Map
Standardisierte Abfragen
   Gute Cachebarkeit
Darstellung zementiert
Cleveres Caching
ermöglicht aber
  mehrere Stile
Nachteile
Recht ressourcenintensiv
Domänenspezifische Darstellung
  möglich, aber Erweiterung
          schwierig
Keine grafische
Skalierbarkeit
Neue Technologie muss her!
Nutzer wollen ihre Karte stylen
     „Ich will, dass alle Gebäude rot sind“
Datenhaltung noch
mehr von Rendering
   entkoppeln
Caching ermöglichen
Web Scale!
Am besten auch
     Austauschformat für
nicht-grafische Anwendungen
Vector Tiles sind
 nichts Neues
Erweiterung von
 bestehenden
 Technologien
Datenbank              Renderer                Cache
            Postgres                Bitmap
                                    Z/X/Y

                                  Web Server

                                    Viewer
Datenbank                Tiler                       Cache
            Postgres                      Vector
                                          Z/X/Y

    Style Server                        Web Server

                       Viewer
                       inkl. Renderer
Optionen
GeoJSON
          Vorteile                   Nachteile

GeoJSON kann jeder,          Nicht optimierbar, großer
insbesondere Browser         Platzbedarf
TopoJSON
                      „Optimiertes GeoJSON“

           Vorteile                           Nachteile

Setzt auf GeoJSON auf, also       Immer noch nur für Karten
gute Kompatibilität               begrenzter Komplexität

Speichereffizienz durch            Übertragungsgröße dennoch
relative Koordinaten              recht hoch
MVT
                      Mapbox Vector Tiles
                  „Aktueller Stand der Technik“

           Vorteile                          Nachteile

Binäres Datenformat,              Nicht menschenlesbar
spezifisch von Grund auf
entwickelt für diesen             Keine Rohdaten, müssen
Nutzungsfall                      spezifisch vorverarbeitet
                                  werden (Rendervorschrift)
Komplexe Karten sind
abbildbar
Entstanden aus
   Bedürfnissen im
hochskalierten Betrieb
Optimierte Datenstrukturen
fürs Rendering mithilfe von
  Grafikkarten und kleine
        Dateigrößen
Basiert auf
    Protocol Buffers
Serialisierungstechnologie von Google
Im Gegensatz zu *JSON
nicht selbstbeschreibend,
 sondern schemabasiert
         .proto
Point

LineString             Key:Value

 Polygon
Geometrien               Tags
             Feature
             Layer
2/1

0/0

      0/-2
Styling kann offen
 gelassen werden
Layerbasiertes Styling
Beispiel
Zeichne alle Elemente auf dem
Layer „Gebäude“ rot mit einer
    Transparenz von 50 %
Kann durch Filter auf Tags
    ergänzt werden
Beispiel
Vom Layer „Straßen“, nur jene
      rendern, die den
       rang=1 haben
Beispiel
Vom Layer „Städte“, jene mit
   Label versehen, die
population>=9000 und
 region=hauptregion
          haben
Clients unterstützen das
Beziehen von mehreren
     Vektorquellen
Sandwiching

                         Layer A

Quelle 1
                         Layer X
Quelle 2

                         Layer B
Zusammenbauen von
Vector Tiles ist eine triviale Operation
     Kann on the fly geschehen!
Dadurch sind WMS-artige
   Abfragen möglich
  bspw. nur bestimmte Layer anfragen
Trotz der hohen
Optimierung gibt es
  Limitierungen
Es bleiben zerschnittene Daten
Geocoder/Router/sonstige Anwendungen haben spezifische
 Strategien zum Assemblieren der aufgetrennten Features
Elementmenge muss
im Rahmen bleiben!
Bei Bitmaps: Jedes   Bei Vektoren: Jedes
Pixel kann nur ein   Pixel kann auf
mal vergeben         mehreren Layern
werden               vergeben sein
Insbesondere in mittleren
   Maßstäben muss aggressiv
vereinfacht/weggelassen werden
Ein paar Tricks und Kniffe
Sehr selektiv Rendern
 Generalisierung muss um Faktor
 „Dateigröße“ erweitert werden
Aggregation von Geometrien
  in wenige Features mit
    gleichen Attributen
Beispiel: Alle Autobahnen kommen in ein Feature,
       Labels werden getrennt serialisiert
Räumliches Clustern von
     Geometrien
   Ziel: Kleine relative Koordinaten
Fazit
• Interessante Technologie
  • Basiert auf Standardtechnologien
• Nicht unbedingt alles neu
  • Sogar MVT ist schon seit 5 Jahren offen
• Styling ist kundenfreundlicher
• Getrieben von den Bedürfnissen des
  hochskalierten Hostings
Thomas Skowron
Software Development & Consulting
thomas.skowron.eu
thomas@skowron.eu
Sie können auch lesen