Skip to content

Mein erstes GitHub-Projekt: Osmosis-Layers

Geocaching GitHub baut auf dem Versionsverwaltungs-System Git auf und ist ein webbasierter Hosting-Dienst für Software-Entwicklungsprojekte. Das ganze läuft unter dem Motto: "Social coding".

Also die Ideen die auch hinter Twitter und Facebook (bei mir eher XING) stecken werden aufgegriffen und man kann dann OpenSource-Projekte starten.

Seit ein paar Tagen hab ich auch so eins, einfach mal um das auszuprobieren und weil ich grad Bedarf an etwas habe, was andere vielleicht auch gebrauchen können. Und vor allem wo andere vielleicht interessante Ideen mit einbringen können. Ich bin zwar mittlerweile recht fit in PostGIS und OpenStreetMap, aber trotzdem gibts immer wieder etwas, was ich noch nicht kenne.

Beispiel: Osmosis Layers schnell in QGIS geladen (CC-BY-SA: OpenStreetMap contributors)
Bei meinem ersten GitHub-Projekt Osmosis-Layers geht es darum, die Daten wie sie von dem Programm Osmosis, dem schweizer Taschenmesser für OpenStreetMap-Daten, in die PostGIS-Datenbank gespült werden in nutzbare Layer zu überführen.

Die Geodaten liegen nämlich dann erst mal (einigermaßen) sauber normalisiert und redundanzfrei vor. Darstellen mit den üblichen Werkzeugen wie QGIS, UMN Mapserver oder GeoServer kann man das so aber noch nicht. Hier wird man Layer benötigen, also z.B. einen für die Wasserflächen, die man hinterher blau machen möchte oder Postleitzahlgebiete, um Vertrieblern die Arbeit zu erleichtern.

Noch in meiner Bachelor-Arbeit hab ich festgestellt, dass mir dieser Schritt zu kompliziert ist und deshalb das beliebte osm2pgsql verwendet. Dort werden solche Layer auch erzeugt, denn die erzeugten Daten sind die Grundlage von Mapnik und damit den Karten wie man sie von der OpenStreetMap halt so kennt.

Allerdings wirkt das Format von osm2pgsql auf mich ziemlich vermurkst: Jede Menge Null-Einträge, weil nie alle Spalten der Tabellen verwendet werden, spezielle Attribute müssen in einer Style-Datei auch vorher ausgewählt werden, Relationen werden mit negativer ID in die Daten gemischt und an einige Zusammenhänge kommt man nur sehr umständlich ran.

Daher hab ich mir gedacht, es wäre ein Stapel SQL-Dateien hilfreich, die jeweils einen Layer erzeugen, den man direkt benutzen kann. Darin auch nur die Attribute, die man für die Darstellung braucht um das ganze nicht unnötig aufzublähen. Dazu kommt dann später von mal jeweils eine SLD-Datei, also so ein Stylesheet für Geodaten, damit man eine Vorgabe hat wie die Daten in verschiedenen Maßstäben dargestellt werden können.

Wer Layer mit Geodaten für ArcGis von ESRI braucht, kann sich mit pgsql2shp natürlich auch Shapes von den PostGIS-Layern machen. Ich versuche auch die Feldnamen so kurz zu halten, dass sie auch mit aus historischen Gründen kurzen Feldnamen eindeutig sind.

Wenn alles mal fertig ist müsste man mit wenigen Mausklicks im GeoServer einen Kartenserver (mit WMS, WFS ...) für OpenStreetMap-Karten zusammenstellen können. Bis dahin ist aber immer wieder mal etwas zu tun, es muss ja nicht morgen fertig sein. Und: Jeder ist eingeladen, mitzumachen.

Trackbacks

geogezwitscher am : geogezwitscher via Twitter

Vorschau anzeigen
moenk's blog: Mein erstes GitHub-Projekt: Osmosis-Layers http://tinyurl.com/3cmqq93 #geocaching

linuxticker am : linuxticker via Twitter

Vorschau anzeigen
moenk's blog - Linux: Mein erstes GitHub-Projekt: Osmosis-Layers http://tinyurl.com/3cmqq93 #linux

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Formular-Optionen
tweetbackcheck