Verwendung von OSM Karten in eigenen Anwendungen
Posted by flipper on 26 August 2009 in German (Deutsch).Hallo,
ich möchte in einer eigenen Anwendung gerne eine Landkarte integrieren. Auf dieser Karten sollen veschiedene Symbole dargestellt werden, welche mit Hilfe von Latitude und Longitude Daten platziert werden sollen.
Wie muss ich vorgehen, um die Daten von OSM zu verwenden?
Wenn es geht bitte eine Step by Step Anleitung, weil ich mich noch nie mit dieser Thematik beschäftigt habe.
Vielen Dank
Comment from Zartbitter on 26 August 2009 at 14:40
Damit kannst du schon mal anfangen:
http://wiki.openstreetmap.org/wiki/DE:Karte_in_Webseite_einbinden
Comment from HannesHH on 26 August 2009 at 14:41
Kuck dir mal http://wiki.openstreetmap.org/wiki/Api an.
Comment from flipper on 26 August 2009 at 15:11
Ja das Bsp mit der Webseite habe ich gelesen, jedoch es mir eher um eine Anwendung z.B. *.exe. Diese könnte in java, c++ oder c# erstellt werden. Gibt es da eine API, welche z.B. eine SVG Datei als Karte zeichnet?
Comment from sumpfralle on 26 August 2009 at 20:11
Das Zeichnen der Karte (rendern) ist recht komplex. Schau dafuer vielleicht Mapnik oder TilesAtHome an. Letzteres erstellt SVG-Dateien aus der OSM-Datenbank und lässt sie von Inkscape in Bitmaps umwandeln.
Als ganz grober Ansatz: frage die API per http-Request nach Elementen (Knoten und Wegen) innerhalb eines gewuenschten Bereichs (bounding box). Dann schaust du dir die Menge an zurückgelieferten Elementen an und stellst sie dann dar, wie du magst.
Aber vielleicht möchtest du auch einfach nur die Tiles von Mapnik oder TilesAtHome als Hintergrund unter ein paar eigene Symbole legen? Dann schau dir an, wie du eine Koordinate in die URL eines Kartenkachel umwandelst. Ich denke, das ist, was du meinst.
Hm - vielleicht solltest du dein Projekt auch einfach etwas genauer beschreiben, falls du konkrete Hinweise haben willst ...
Comment from flipper on 27 August 2009 at 06:32
Es handelt sich um eine Simulation, wo ein Objekt sich bewegt. Die aktuelle Position soll dabei auf einer Karte dargestellt werden.
Wenn ich Bitmaps verwende muss ich mir Gedanken machen, wenn das Objekt an Rand des Bitmaps kommt. Daher dachte ich Vektorgrafiken zu verwenden.
Das ganze Programm muss offline laufen, daher benötige ich die GeoDaten in einer Datei, welche vielleicht als svg-File Format verwendet. Das Rendern ist komplex, das konnte ich mittlerweile auch feststellen. Aber vielleicht gibt es ja ein Tool welches ich nutzen kann.
Wenn die Karte dann mal gezeichnet ist, muss ich ja noch eine Transformation der GeoDaten machen, um z.B. die Position des Objektes von Lat/Long in das Koordinatensystem der Vektorgrafik zu transformaieren.
So ich hoffe jetzt es ist in etwa klar was ich vorhabe.
Comment from wieland on 27 August 2009 at 07:39
So etwas ähnliches wie OSMScout?
http://www.codeplex.com/OsmScout
Der läuft eigentlich online, wenn man aber den Cache vorher füllt, dann geht es auch offline.