Michael Reichert (Nakaner) Status quo/ Problem Qualitätssicherung mit Vektortiles Vektortiles Änderungshäufigkeit Michael Reichert (Nakaner) Format Größe der Tiles Inhalt der Tiles Passau 22. März 2017 Gliederung Michael Reichert (Nakaner) Status quo/ Problem 1 Status quo und Problem 2 Vektortiles als Lösung 3 Änderungshäufigkeit bei OSM 4 Format 5 Größe der Tiles 6 Inhalt der Tiles Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Qualitätssicherung bislang OpenStreetMap Inspector Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Qualitätssicherung bislang Keep Right Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Qualitätssicherung bislang Osmose Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Qualitätssicherung bislang Vergleich Michael Reichert (Nakaner) OSMI Keep Right Osmose täglich wöchentlich täglich Status quo/ Problem Updates Vektortiles Partitionierung nein Rechtecke Länder Änderungshäufigkeit Parallelisierung ja nein ? Einbindung Dritter ja nein ? Programmiersprachen v. a. C++ PHP, SQL Python, SQL Open-Source nein ja ja Format Größe der Tiles Inhalt der Tiles Vektortiles! Vektortiles als Lösung Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Don’t repeat yourself. Vektortiles! Warum Tiles? Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles einfach zu implementieren Software wiederverwendbar Web-Mercator-Tiles als Partionierungsschema, aber Inhalt der Tiles in geograph. Koordinaten Nachteil: polnahe Gebiete Änderungshäufigkeit Tile Expiry Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles 15/5994/10963 14/2997/5481 13/1498/2740 12/749/1370 11/374/685 10/187/342 9/93/171 15/5994/10966 14/2997/5483 13/1498/2741 15/6004/11595 14/3002/5797 13/1501/2898 12/750/1449 Datenbankimport mit Cerepso https://github.com/Nakaner/Cerepso Diffs eines Monats anwenden Konvertierung der Listen in Shapefiles mit expiries2shp https://github.com/Nakaner /expiries2shp Zusammenfassen mit PostGIS Änderungshäufigkeit Tile Expiry mit Relationen Zoomstufe 12, 29. 8.–5. 10.2016, stündliche Diffs Michael Reichert (Nakaner) 1–3 Hamburg 4–5 Status quo/ Problem 6–8 Vektortiles Änderungshäufigkeit 9–12 Berlin Hannover 13–18 Format 19–26 Größe der Tiles 27–37 Inhalt der Tiles 38–52 Kassel Halle Leipzig 53–72 Dresden 73–98 99–131 132–172 173–222 > 222 Änderungshäufigkeit Tile Expiry mit Relationen Michael Reichert (Nakaner) Zoomstufe 12, 29. 8.–5. 10.2016, stündliche Diffs Frankfurt Status quo/ Problem Vektortiles Paris Änderungshäufigkeit München Format Zürich Größe der Tiles Inhalt der Tiles 1–3 19–26 99–131 4–5 6–8 27–37 132–172 9–12 38–52 173–222 13–18 53–72 73–98 > 222 Änderungshäufigkeit Tile Expiry mit Relationen Michael Reichert (Nakaner) Status quo/ Problem Zoomstufe 12, 29. 8.–5. 10. 2016, stündliche Diffs 1–3 San Francisco 4–5 6–8 Vektortiles 9–12 Änderungshäufigkeit 13–18 Format 19–26 Größe der Tiles 27–37 Inhalt der Tiles 38–52 Los Angeles 53–72 73–98 99–131 Änderungshäufigkeit Tile Expiry ohne Relationen Michael Reichert (Nakaner) Zoomstufe 12, 29. 8.–5. 10.2016, stündliche Diffs, ohne Relationen 1–3 Hamburg 4–5 Status quo/ Problem 6–8 Vektortiles Änderungshäufigkeit 9–12 Berlin Hannover 13–18 Format 19–26 Größe der Tiles 27–37 Inhalt der Tiles 38–52 Kassel Halle Leipzig 53–72 Dresden 73–98 99–131 132–172 173–222 > 222 Änderungshäufigkeit Tile Expiry ohne Relationen Michael Reichert (Nakaner) Zoomstufe 12, 29. 8.–5. 10.2016, stündliche Diffs, ohne Relationen Frankfurt Status quo/ Problem Vektortiles Paris Änderungshäufigkeit München Format Zürich Größe der Tiles Inhalt der Tiles 1–3 19–26 99–131 4–5 6–8 27–37 132–172 9–12 38–52 173–222 13–18 53–72 73–98 > 222 Änderungshäufigkeit Tile Expiry ohne Relationen Z12, 29. 8.–5. 10. 2016, stündliche Diffs, ohne Relationen Michael Reichert (Nakaner) Status quo/ Problem 1–3 San Francisco 4–5 Vektortiles 6–8 Änderungshäufigkeit 9–12 13–18 Format 19–26 Größe der Tiles 27–37 Inhalt der Tiles 38–52 Los Angeles 53–72 73–98 99–131 Vektortile-Format Michael Reichert (Nakaner) Status quo/ Problem Rederingformate ungeeignet Vektortiles Topologie erforderlich Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles nahe an den Rohdaten Mapbox QA Tiles GeoJSON, keine Topologie keine Relationen → PBF Inhalt der Vektortiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Wie groß sollen die Tiles sein? Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Welche Inhalte sollen enthalten sein? Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Objekte mit großer Ausdehnung Grenzrelationen nicht verdolte Fließgewässer Vektortiles Änderungshäufigkeit Format Wälder Seen Objekte mit kleiner Ausdehnung Größe der Tiles als Nodes gemappte POIs Inhalt der Tiles Gebäude Annäherung: Nodes pro Tile kompensiert Fehler der Mercator-Abbildung Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles dense tiles aus osmium-contrib Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles dense tiles aus osmium-contrib für jede gewünschte Zoomstufe einmal laufen lassen 10/200/267 9530 10/200/279 6331 10/200/281 29166 10/200/326 11702 Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles dense tiles aus osmium-contrib für jede gewünschte Zoomstufe einmal laufen lassen Listen alphabetisch sortieren Listen mit einem Python-Skript zusammenführen insgesamt 45 bis 60 Minuten Größe der Tiles Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Inhalt der Tiles Vollständige Ways? Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Inhalt der Tiles Vollständige Ways? Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Inhalt der Tiles Mit Vektortiles prüfbar Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles prüfbar Taggingfehler (außer exotische Tags) Geometriefehler bei Ways Selbstüberschneidungen doppelte Nodes einfache Routingprüfungen unverbundene Ways nicht prüfbar Routinginseln Routingquellen und -senken (unzuverlässig) Inhalt der Tiles Unvollständige Relationen? Michael Reichert (Nakaner) ohne vollständige Relationen machbar Status quo/ Problem Vektortiles Änderungshäufigkeit Format Multipolygone (mit Rollen) Polygongültigkeit von Grenzrelationen Lücken in PTv2-Routenrelationen nur mit vollständigen Relationen machbar Größe der Tiles Hierarchie von Grenzrelationen Inhalt der Tiles Lücken in Routenrelationen Reihenfolge von PTv2-Routenrelationen Inhalt der Tiles Unvollständige Multipolygone Michael Reichert (Nakaner) 1 Status quo/ Problem 4 Vektortiles Änderungshäufigkeit 3 Format Größe der Tiles Inhalt der Tiles 2 Inhalt der Tiles Unvollständige Multipolygone Michael Reichert (Nakaner) 1 Status quo/ Problem 5 Vektortiles Änderungshäufigkeit 2 4 Format Größe der Tiles Inhalt der Tiles 3 Inhalt der Tiles Unvollständige Multipolygone Michael Reichert (Nakaner) 4 1 Status quo/ Problem 7 Vektortiles Änderungshäufigkeit Format 5 2 6 Größe der Tiles Inhalt der Tiles 3 Inhalt der Tiles Hierarchie von Grenzrelationen prüfen Michael Reichert (Nakaner) oute rA 1 Status quo/ Problem Vektortiles 2 Format Größe der Tiles Inhalt der Tiles outer B outer A outer B Änderungshäufigkeit 4 outer 5 B 3 out er A 6 Inhalt der Tiles Hierarchie von Grenzrelationen prüfen Michael Reichert (Nakaner) Vektortiles outer B 2 Inhalt der Tiles 3 outer B 2 outer B out 4 outer A outer B Größe der Tiles 4 outer A outer B Format oute rA oute r Status quo/ Problem Änderungshäufigkeit 1 A 1 er A 6 5 3 outer B out er A 6 5 Inhalt der Tiles Unvollständige Routenrelationen Routen Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format PTv2-Routen ungeordnet muss keine lückenlose Linie ergeben Abzweige erlaubt geordnet, Haltestellen am Anfang muss eine lückenlose Linie ergeben Validierbarkeit Größe der Tiles Inhalt der Tiles Validierung praktisch nicht möglich unvollständige Relationen: Lücken vollständige Relationen: Lücken, Reihenfolge Fahrweg, Reihenfolge Stationen Inhalt der Tiles Unvollständige Routenrelationen Routen Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format PTv2-Routen ungeordnet muss keine lückenlose Linie ergeben Abzweige erlaubt geordnet, Haltestellen am Anfang muss eine lückenlose Linie ergeben Validierbarkeit Größe der Tiles Inhalt der Tiles Validierung praktisch nicht möglich unvollständige Relationen: Lücken vollständige Relationen: Lücken, Reihenfolge Fahrweg, Reihenfolge Stationen Inhalt der Tiles Unvollständige Routenrelationen Michael Reichert (Nakaner) Status quo/ Problem 1 10 13 Schlossallee 2 Vektortiles H 14 11 8 11 Format 10 H Rathaus Schule H 11 21 Änderungshäufigkeit Größe der Tiles 20 4 13 5 21 Inhalt der Tiles 3 15 14 6 H 7 Stadtpark Danke Michael Reichert (Nakaner) Status quo/ Problem Vektortiles Änderungshäufigkeit Format Größe der Tiles Inhalt der Tiles Danke