DE:Develop

From OpenStreetMap Wiki
Jump to navigation Jump to search

OpenStreetMap bedeutet nicht nur „Open Data“, sondern auch Open Source. Unterstützung wird gerne gesehen!

Es gibt zwei grundlegende Wege, zu OpenStreetMap beizutragen:

Entwicklung von OpenStreetMap
Dies beinhaltet die Webseite OpenStreetMap.org und damit verbundene Dienste. Das wird im Folgenden auf dieser Seite beschrieben.
Benutzung von OpenStreetMap
Hier geht es um die Verwendung der Daten und der Dienstleistungen von OpenStreetMap. In Verbindung mit Software und von Externen bereitgestellten Diensten können neue Systeme oder Anwendungen erstellt werden.
Entwicklung von OpenStreetMap

Kontaktaufnahme

Für Fragen, Ideen oder Austausch mit anderen Entwicklern kann die Entwicklergemeinschaft über folgende Kontaktmöglichkeiten erreicht werden:

Technischer Aufbau

Hauptartikel: Component overview(en)

Der Code von openstreetmap.org setzt sich zusammen aus unabhängigen Teilen, die gemeinsam eine Programmierschnittstelle, eine verschiebbare Karte und weitere Funktionalitäten bereitstellen.

Die Seiten von OSM und die grundlegende Programmierschnittstelle stammen vom Rails Port(en), einer Ruby on Rails-Anwendung. Die geografischen Daten ("the planet" genannt) werden in einer PostgreSQL-Datenbank(en) mit PostGIS(en) verwaltet und mittels dem Programm Mapnik in Bilder (Karten) umgesetzt. Die Ansicht der Webseite mit der verschiebbaren Karte wird mit Leaflet realisiert.

Intern werden Osm2pgsql und Osmosis verwendet, um OSM XML für PostGIS(en) nutzbar zu machen. Die Daten stammen von Planet.osm (einem Datenbankabzug). Da die Programme auch mit anderen Datenquellen arbeiten können, können sie auch für eigene Projekte genutzt werden.

Die Benutzer können, sofern angemeldet, die Daten mit Programmen, wie iD, Potlatch 3 oder JOSM bearbeiten.

Hintergrund

Es gibt viele Details zur Datenspeicherung und -modifizierung in OpenStreetMap, die wichtig zu verstehen sind, damit das eigene Projekt funktioniert. Interessant sind beispielsweise das XML-Schema(en), Datentypen und das Herunterladen von Daten, je nach Ausrichtung des Projekts und der Interessen.

Details zur technischen Infrastruktur findet sich auf der Seite Servers(en). Daneben gibt es noch die Dokumentation der aktuellen Schnittstelle(en) sowie Entwicklungs- und Testschnittstellen.

Etwas beitragen

Viele Projekte von OpenStreetMap nutzen Git (https://github.com/openstreetmap/ oder https://github.com/osmlab). Daher ist es einfach möglich, mit einer eigenen Abspaltung, „Fork“ genannt, Änderungen beizutragen (GitHub-Hilfe "Fork a repo"(en), Anleitung im Blog(en)).

Für größere Änderungen und entsprechende Tests steht der Dev-Server(en) zur Verfügung.

Hauptprojekte

OSM-Webseite (Ruby)

Hier geht es um die Benutzeroberfläche und die Programmierschnittstelle. Unter Rails port(en) gibt es viele nützliche Informationen zum Einstieg. Unterstützung bei der Benutzeroberfläche erwünscht, auf Rails port/UI(en) gibt es einen Einstieg. Neue Nutzer können auch Pull-Requests überprüfen als Übung zum Aufsetzen des Rails Port. Sonst sind Übersetzungen hilfreich.

Bei Betriebsproblemen des Servers können die Adminstratoren kontaktiert(en) werden.

Suche und Geocoding mit Nominatim

Desktop Karteneditor JOSM (Java)

JOSM ist der meistgenutzte und umfangreichste Karteneditor von OpenStreetMap.

Online-Editor iD (JavaScript)

Dies ist ein online Editor für OpenStreetMap. Die Benutzer können die Entwicklung unterstützen, indem sie die Funktionen testen und Fehler melden. Alternativ gibt es auch Fehler, die von neuen Softwareentwicklern gelöst werden können.

Kartendarstellung auf der Webseite

Hauptartikel: Standard tile layer(de)

Andere Kartendarstellungen und -stile werden getrennt verwaltet. Informationen hierzu finden sich auf deren Wikiseiten (Übersicht(en)) oder in den Kontaktangaben.

Online-Editor Potlatch 3 (Adobe AIR)

Potlatch 3 ist ein Desktop-Editor.

Datenverarbeitung mit der Allzweckwaffe Osmium (C++)

Osmium (auch bekannt als Libosmium) ist eine allgemeine Softwarebibliothek zur Verarbeitung von OpenStreetMap-Daten. Sie ist die Grundlage für weitere Projekte wie Osm2pgsql.

Daneben gibt es noch „Osmium Tool“ als Kommandozeilenprogramm zum Konvertieren von OSM-Datenformaten, Inspizieren von Dateien, Zusammenführen von Dateien und dem Erstellen von geografischen oder thematischen Ausschnitten.

Mit Pyosmium(en) gibt es ein Programm zur Einbindung in Python, welches Datenauszüge "Planet Dumps" aktuell halten kann.

Datenverarbeitung mit Osmosis (Java)

Osmosis ist ein vielseitiges Werkzeug zur Verarbeitung von OpenStreetMap-Daten. Beiträge zur Dokumentation und Testläufe sind besonders willkommen.

Datenimport für Rendering und Geocoding mit osm2pgsql (C)

osm2pgsql ist ein Programm für das Importieren von XML-Dateien in PostGIS-Datenbanken(en). Beiträge zur Dokumentation und Testläufe sind besonders willkommen.

Verschiebbare Karten mit Leaflet (JavaScript)

Dieses Programm stellt die Benutzeroberfläche als verschiebbare Karte dar. Mit Javascript whizzes können die Webseiten noch schneller gemacht werden.

Kartendarstellung mit Mapnik (C++)

Das ist der Hintergrunddienst für die Umsetzung von Kartendaten in Kartendarstellungen.

Kartenerstellung mit Tirex (C++ und Perl)

Siehe auch Tirex/Development(en) und Tirex/Internals(en)