Benutzer:Kolossos/CPB
Stammdaten
- Name des Antragstellers:
- Weitere Unterstützer:
- WP-Nickname (wenn vorhanden):
- Anschrift, Wohnort:
- E-Mail-Adresse:
- Name des Projekts:Effizientes Rendering von multilingualen OpenStreetMap-Karten
- Dauer des Projekts:1 Jahr
- Gesamtbudget:
Detailbeschreibung
Beschreibung des Projektes
Ziel ist es, die OpenStreetMap-Karten performant in einer Vielzahl von Sprachen (>200) rendern zu können. Unser derzeitiger brute-force-Ansatz (http://toolserver.org/~osm/locale/) auf dem Toolserver, die OSM-Karten in verschiedenen Sprachen zu rendern, ist nicht effizient und würde bei einer Einbindung der Karten in eine Vielzahl von Wikipedia-Versionen mit ihren erhöhten Nutzerzahlen nicht skalieren. Das Projekt soll dieses Problem lösen, indem unter anderem nur dort Tiles in einer Sprache gerendert werden, wenn dort auch Objekte in der jeweiligen Sprache vorliegen und nicht wie jetzt blind drauf los gerendert wird. (siehe: http://wiki.openstreetmap.org/wiki/Key:name#Localization) Andere Optimierungsverfahren könnten ein zweistufiger Renderingprozeß sein, in dem erst die Basiskarte gerendert wird und dann die Namens-Eintragungen drüber kommen. Aber auch im Handling der Rendering-Aufträge und ihrer Sortierung herrscht womöglich Optimierungspotential.
Welches Ziel soll mit dem Projekt erreicht werden?
Die Lösung des Problems würde direkt der Karteneinbindung in der Wikipedia (Hilfe:OpenStreetMap) zu Gute kommen. Derzeit sind Karten z.B. im asiatischen Raum für die meisten europäischen Leser einfach komplett unbenutzbar, da keinerlei Ortsnamen gelesen werden können.
Auch OSM würde von einer Lösung des Problems stark profitieren, so gibt es in politisch angespannte Regionen der Welt, wo es wie auf Zypern zu echten Editwars kommt, ob die Ortsnamen nun auf türkisch oder griechisch eingetragen werden.Ein anderer aktueller Problemfall ist die Namensgebung in Jerusalem. Eine mit den Browsereinstellungen wechselnde Kartenanzeige könnte die Konflikte entschärfen. Andere zweisprachige Gebiete wie z.B. die Sorben brauchen auch Karten in verschiedenen Sprachen.
Ein anderes Beispiel ist die Nutzung von freiem Wissen im Bildungsbereich. Sämtliche Schulatlanten werden in der jeweiligen Landessprache gedruckt, somit erscheint OSM im Schulbetrieb praktisch nicht einsetzbar. Wie soll ein Schüler lernen wo z.B. Kairo liegt, wenn auf der Karte auf arabisch ""القاهرة steht?
Wie verbessert, verändert oder fördert deine Idee die Wikimedia-Projekte?
Die eingebunden Karte kann als integraler Bestandteil der Wikipedia gesehen werden, damit kommt eine bessere Karte auch immer der Wikipedia zu Gute. Auch andere Wikimedia-Projekte (Commons und Wikinews) nutzen die OSM-Karte.
Das Projekt würde aus zwei Teilen bestehen:
- A.) (25%) Problemanalyse und Evaluierung der Lösungsansätze
- B.) (75%) Programmiertechnische Umsetzung
Teil A (Problemanalyse)
Eine gute Lösung wird eine Problemanalyse auf verschiedenen Ebenen bedingen:
- Je nach Zoomlevel dominieren eher Ländernamen, Städtenamen oder Straßennamen, dabei ist es bei den Straßennamen im Allgemeinen unüblich, dass es verschieden Übersetzungen gibt. Je nach Zoomlevel unterscheiden sich aber auch Rendergeschwindigkeit, Speicherbedarf der Tiles und die Notwendigkeit einer hohen Kartenaktualität.
- Die über 200 in der Wikipedia verwendeten Sprachen unterscheiden sich stark in ihrer Verwendungshäufigkeit (Long Tail). Eine Konzentration auf wenige Hauptsprachen scheint aber nicht der für die Wikipedia anzustrebenden Weg zu sein.
- Regional unterschiedlich gibt es Gebiete mit eher einer Sprache oder Gebiete mit mehreren in Verwendung befindliche Sprachen. In manchen Fällen unterscheiden sich die Schreibweisen von geographischen Objekte nur geringfügig und stellen nur eine geringfügige Beeinträchtigung für den Leser dar, in anderen Fällen handelt es sich um komplett unterschiedliche Schriftsysteme.
- Die Ressourcen eines Servers setzen sich aus verschiedenen zu optimierenden Komponenten zusammen: CPU-Leistung fürs Rendering, RAM, Festplatten für die Datenbank, Festplatten für die fertigen Tiles.
- Je nach Anwendung gibt es unterschiedliche Anforderung an die Aktualität der Karten. So kann eine Wikipedia-Karte ohne größere Beeinträchtigung mehrere Wochen alt sein, wohingegen eine Karte, mit der die OSM-Mapper ihre Edits checken, maximal 5 Minuten alt sein sollte.
- Der Rendering-Stack für OSM besteht aus diversen miteinander kommunizierender Komponenten.
Trotz all dieser aufgeführten Aspekte, die es zu überblicken gilt, soll der Projektansatz zielorientiert sein. Es soll in Phase A einer Entscheidung über den Weg der programmtechnischen Umsetzung für Phase B kommen, dabei sollen auch klare Performanceziele definiert werden.
Teil B (Lösungsumsetzung)
In Phase B wird momentan mit einer folgenden Teilaufgaben gerechnet, um die Arbeitsaufwände abschätzen zu können:
- B1 (10%) Umsetzung mit einem einzigen Rendering-Backend-Prozeß (Tirex). Momentan haben wir für jede Sprache einen eigenen Rendering-Prozeß, wodurch das Neustarten von Tirex auf dem Toolserver mit 20 Minuten unangenehm lange dauert.
- B2 (35%) Layout und Erstellung einer Datenbank, in der die lokalen Sprachvorkommen hinterlegt sind, dazu sind sämtliche Prozesse zu implementieren, um diese Datenbank ständig aktualisieren zu können.
- B3 (45%) Die derzeitige Verwaltung der gerenderten Kacheln erfolgt momentan auf dem Filesystem, mit dem Nachteil, dass Prozesse wie das "expiren" (d.h. Anforderung zum Neurendern nach Aktualisierungen) einen größeren Scan des Datenträgers nach sich ziehen und zulange dauern, wenn man viele Stile auf einem Server hat. Daher soll (nach derzeitiger Planung) diese Verwaltung auf ein Datenbank basiertes System umgestellt werden. Als mögliches System ist SWIFT.openStack (incl. SQLite) in der engeren Auswahl, womit zukünftig die Foundation auch sämtliche Bilder und Thumbnails der Wikipedia ausliefern will [1]. mit Aufgrund der Vielzahl beteiligter Prozesse und den hohen Performanceanforderungen erscheint das die aufwendigste und anspruchsvollste Teilaufgabe des Projektes.
- B4 (10%) Die abschließende Teilaufgabe wird die Inbetriebnahme auf dem Toolserver sein. (Nur wenn ausreichende Rechte auf dem Server bereitgestellt werden.)
Wie lässt sich messen, ob dieses Ziel erreicht wird?
Wir liefern auf dem Toolserver momentan 200 Tiles/Sekunde aus, dabei überwiegen der Standard-Stil und der Stil der Hikebikemap (Wanderkarte). Bei gelungener Lösung sollten die 273 Sprachestile zu rendern sein, ohne dass sich der Ressourcenaufwand auf dem Toolserver mehr als verdoppelt/verdreifacht. Bereits jetzt ist die Karte in 7 Sprachversionen der Wikipedia eingebunden, darunter mit russisch auch eine Sprache mit einem komplett anderen Schriftsystem; in diesen Sprachen würde man die Lokalisierung zuerst vornehmen.
Was ist die Zielgruppe deiner Idee in der Wikimedia-Welt?
Alle Leser ortsbezogener Artikel in der Wikipedia und alle OSM-Nutzer.
Wie erreichst du diese Zielgruppe?
Ganz einfach, die Karte ist in die Wikipedia bereits eingebunden.
Beschreibe, welche Tools, Technologien oder Hilfsmittel du für die Umsetzung benötigst.
Der existierende OSM-Renderingstack (mod_tile, tirex, mapnik) müsste in wichtigen Teilbereichen angepasst werden und ggf. durch eigene Skripte und Datenbankanwendungen ergänzt werden. Alternative Lösungen (tilecache) aus dem Bereich freier GIS-Software müsste auf ihre mögliche Tauglichkeit hin untersucht werden.
Wird deine Idee bereits aus anderen Töpfen gefördert? Wenn ja, aus welchen und in welcher Höhe?
Nein.
Wird deine Idee weiterleben, nachdem die Förderphase beendet ist?
Wenn es funktioniert, dann: Ja!
Wie nachhaltig ist dein Projekt?
Da es sich, aus Sicht des Antragstellers, bei dem Problem um eines der ungelösten Kernprobleme von OSM handelt, könnte die Lösung zu einem weiteren Wachstum der OSM-Community führen. Man stelle sich in diesem Zusammenhang nur mal vor, es würde die Wikipedia auch nur in einer Sprachversion geben. Wie wäre die Entwicklung verlaufen? (Ok, der Vergleich hinkt etwas, da die Daten ja immer in der Sprache sind, die vor Ort gesprochen wird. Aber es geht um die Erstellung einer Weltkarte, die jedem überall nützt.) Damit ist die Multilingualität auch einer der Punkte, bei dem die Wikipedia einen besonderen Einfluss auf OSM ausüben kann.
Lässt sich deine Idee auch von anderen Zielgruppen, Orten, Projekten nutzen? Wenn ja, wie und von wem?
Sämtliche Projekte die OSM weiternutzen.
Hast du Erfahrungen in ähnlichen Projekten? Wenn ja, welche?
- Jahrelange Sammlung und Aufbereitung der Wikipedia-Koordinaten in über 200 Sprachen: (http://de.wikipedia.org/wiki/Wikipedia:WikiProjekt_Georeferenzierung/Wikipedia-World)
- Betreuung der OSM-Daten auf dem Toolserver
- Datenextraktion auf Basis von OSM (http://wiki.openstreetmap.org/wiki/Query-to-map)
- Tool zur Verknüpfung von OSM und WP (http://wiki.openstreetmap.org/wiki/JOSM/Plugins/RemoteControl/Add-tags) mit Nutzung der Interwiki-Links der Wikipedia für den mehrsprachige Datenimport für OSM.
- Div. Talks auf Veranstaltungen von beiden Projekten (http://commons.wikimedia.org/wiki/File:Fossgis2011-WP-GEO.pdf)
- 10 Jahre Berufserfahrung als Ingenieur, inkl. Mitwirkung an div. Forschungsvorhaben
- ...
Erwartest du Unterstützung (über die beantragten Mittel hinaus) von Wikimedia Deutschland während der Umsetzung deiner Idee? Wenn ja, in welcher Form?
Ich erwarte die Weiterführung des Toolserver-Betriebes und Anpassung von diesem an den Bedarf von OSM (ggfs. Verdopplung der Resssourcen bei Einführung).
Kalkulation
Detaillierte Kalkulation mit den Hauptpunkten:
- Sachkosten
- Personalkosten
- Investitionen