OpenStreetMap

OSM go - und stopp - was nun?

Posted by -karlos- on 21 August 2017 in German (Deutsch).

OSMgo-stop

Die Entwicklung von OSMgo ist angehalten, vielleicht für immer. Das es so weit geht war garnicht angedacht. Ich werde hi und da kleine Änderungen machen. Und “Support”: Wenn jemand neue Fehler meldet oder Funktionen gewünscht werden, werde ich sehr wascheidlich aktiv werden. Wer beim Benutzen von OSMgo etwas Hilfe möchte, den werde ich mit Freuden im Multiuser-Modus begleiten. Mein Freund Martin schreibt gerade Code für eine Flugzeug-Steuerung/-Simulation. Bald kann man mit einem Modellflugzeug durch die virtuelle 3D Welt von OSM fliegen. Wenn der geplante 3D-Server/Service online ist, wird er auch von OSMgo genutzt.

Mein ganzer Code ist nur ein erster Versuch, wirklich kein Clean Code und nicht gut strukturieret. Er müßte komplett neu gemacht werden. Und in gewisser Weise wird er das. Es gibt ein Projekt, teils auf meiner Arbeit aufsetzt. In dem Projekt werden die Sackgassen von OSMgo hoffendlich gelöst, meistens, durch Analysen von vorhandenem Code. Hauptsächlich OSM2WORLD weile es open source ist und OSMBuldings mit einem zumindest offenen Client. Gibt es andere gute Quellen? Die wirklich guten Lösungen sind leider in kommerziellen Produkten wie F4. Aber die werden ein Kommunity-Projekt nicht unterstützen, oder? Ich möchte nicht nur korrekten, kompletten Code sondern auch eine öffentliche Beschreibung der Funktionen und Lösungen. Ja, im OSM-Wiki sind Seiten zu Multipolygonen und mehr. Da sind noch andere Katastropen von Komplexität im OSMgo-Code: Rendern von Dachtypen und sogar Dachrichtungen; Gebäude ersetzen durch Gebäudeteile. Die rekursiven Relationen sind die Hölle. Andererseits, die meisten dieser Probleme sind schon von 2D-Renderern gelöst. Und die sind open soruce!

Einige fiese Fehler werde ich nicht mehr flicken. Wie meinen Dachtyp “gabled” oder das flackern bei Landflächen. Einige Haushöfe oder Lücken in Landflächen fehlen wegen eines Fehlers in ThreeJS. Das könnte in der nächsten Version weg sein. Die Framerate ist meistens schlimm, hauptsächlich, weil ich ThreeJS nutze. Das neue Projekt nutzt Cesium und wird so auch begrenzt sein. Doch Cesium mag später durch nativen Code ersetzt werden. Viele Funktionen, wie die Analyse der OSM-Tags sollten nicht vom Client sondern von einem Server erledigt werden, ein Vektor-Tiel-Server natürlich. Es gibt da schon einige Server, aber meist kommerziell. Ich würde mich freuen, wenn die OSM-Gemeinschaft eigenen Server-Service /- Code erstellt.

Erstellen der Houses of Parliament in London usw. mit building:parts ist eine eigene Art von Kunst. Ich bin immer beeindruckt, was mansche OSM-User geschafft haben. Ich habe die Seite “https://wiki.openstreetmap.org/wiki/Simple_3D_Art” angefangen und dann fast vergessen. Es gibt viele kunstvolle Orte in OSM. Einige kann man im Twitter-Feed “OSM__go”. Aber ich denke, verwinkelte Objekte sollten nur mit “Simple 3D buildings” gebaut werden, wenn es wirklich simple Gebäude sind. Wenn ich einen kunstvoll gebauten Brunnen in Paris sehe, denke ich, das sollte nicht Teil der OSM-Daten sein. Das eine Aufgabe für einen Modell-Server. Gebäudehöhen oder Stockwerke sind notwendig, Dachtypen und Farben sind prima. Aber building:parts wollen nur die Aussenansicht von Gebäuden genau darstellen. Und sie beissen sich mit Indoor-Mapping! Objekte mit einer gewissen Komplexität sollten in ein Dateiformat für 3D-Eitoren “exportiert” werden und das 3D-Modell sollte in den Modell-Server gepackt werden.

ich sene OSMgo als einen Spielplatz für Experimente. Kürzlich habe ich eine OBJ-Datei meines Lieblings-Raumschiffs eingebaut (http://www.orionspace.de). Nach einem “Spaziergang” ‘drumherum wollte ich , dass es auch fliegt. Das mache ich vielleicht auch noch in OSMgo. Das könnte aber ich mein nächstes großes Projekt geben, einen “SF Raumschiff-Simulator” Natürlich wird OSM genutzt um die Erde darzustellen. So würde das eine Vereinigung meiner Langzeit-Hobbies: Raumpatrouille/Science Fiction, OSM and Gravitationssimulation. Nach dem Start in Javascript wechsle ich vielleicht zu WebAssembly & Apple-Swift und benutze eventuell sogar VR-Kit. (Mapbox zeigt schon einige Experimente mit OSM und VR-Kit)

Was denkst du darüber: Die OSM-Gemeinschaft sollte einen SMO 3D renderer in WebAssembly anfangen. Oh, warte mal! Java kann zu WebAssembly übersetzt werden. So kann OSM2WORLD als eine Web-App laufen. Unterstützt von einem Vektor-Tiel-Server könnte das OSM “make great again” (Sorry, ein spontaner Witz). Aber nicht nur für 3D! Ein 2D-Renderer ist fast eine Untermenge von 3D. Auf diese weise würde es ein 2D-Renderer mit vielen Vorteilen: Das Aussehen von allen Objekten konfigurierbar mit MapCSS, sogar die Zoom-Höhe bei der es langsam sichtbar wird, oder auch nie. So bestimmt man den Inhalt und das Aussehen. Wir brauchen keine extra Karten fürs Reiten oder so, nur eine neue MapCSS. Es gibt schon eine menge Vektor-Renderer. Außer den Experimentellen, sind leider alle Kommerziell. Ein 2d(+3D) Vektor-Runderer in WebAssembly der OSM-Gemeinschaft könnte die zukünfige Landingpage von OSM sein.

-karlos-

Discussion

Log in to leave a comment