Problemstellung
Idee
Ich habe mir überlegt, dass ich mich auf Frankfurt beziehen werde und in meiner Karte Touristen-Attraktionen darstelle. Ich möchte es dir aber an dieser Stelle offen lassen, was du in deiner Karte darstellst. Beispielsweise kannst du dir auch alle Skihütten in der Schweiz einzeichnen lassen oder alle Campusse in Hamburg. Aus diesem Grund werde ich dich auf Stellen aufmerksam machen, die bei dir anders sein werden, wenn du eine andere Stadt wählst.
Datenbeschaffung
Zuerst brauchst du die Pakete osmdata
, ggplot2
und sf
. Installiere sie wenn nötig. Es gibt vier grundlegende Befehle, mit denen du deine Daten herunterlädst. Zunächst musst du die Daten über deine Stadt suchen, indem du mit getbb
den Namen deiner Stadt suchst und immer das Land dahinter eingibst, in dem sich die gewählte Stadt befindet. Danach benötigst du eine Überführungsabfrage der Daten von der Website zu deinem Gerät. Das ist eine sogenannte „Overpass query“, daher ist der Befehl opq()
. Im dritten Schritt musst du deine ausgewählten Features herunterladen. Wenn du eine Karte erstellen willst, solltest du zunächst die Straßen herunterladen. Man kann die Straßen in große und kleine Straßen aufteilen, um sie später unterschiedlich darstellen zu können. Ich habe zunächst nur die großen Straßen, sprich mindestens dreispurige Straßen verwendet. Die genauen Definitionen der Straßen findest du hier. Mit add_osm_features
fügst du genau die Features der Überführungsabfrage hinzu, die du haben willst. Im letzten Schritt musst du die Daten mit osmdata_sf
herunterladen. In diesem Fall steht hinter dem Unterstrich sf
, damit die Daten im sf-Format vorliegen, sodass sie später in ggplot
verwendet werden können. Man kann diese Daten aber auch in anderen Formaten herunterladen, wenn man sie für etwas anderes verwenden möchte (zum Beispiel als XML-Format). Wenn du dir das resultierende Objekt ausgeben lässt, siehst du verschiedene Variablen:
- An
bbox
kannst du die Koordinaten des Ortes ablesen, den du gewählt hast (ACHTUNG: Hier werden sich deine Lösungen von meinen unterscheiden, wenn du eine andere Stadt nimmst). osm_points
undosm_lines
: Wenn du Straßen heruntergeladen hast, wirst du Werte beiosm_lines
stehen haben. Wenn du einzelne Orte, wie z.B. Tankstellen herunterlädst, stehen diese beiosm_points
. Außerdem steht hier in welchem Format die Daten vorliegen, was in unserem Fallsf
sein sollte.- Es gibt auch noch andere Formen wie
osm_polygons
undosm_multipolygons
, diese werden wir hier jedoch nicht benötigen.
Mit den oben genannten Befehlen kannst du alles herunterladen, was du auf der Seite von Open StreetMap gefunden hast. Ich werde zusätzlich zu den großen Straßen noch kleine Straßen und den Main einfügen. Außerdem werde ich mir die Touristenattraktionen herunterladen und in meiner Karte darstellen.
Darstellung
Zur Darstellung musst du drei Befehle verbinden. Zunächst brauchst du den normalen ggplot
-Befehl. Bitte verbinde diesen mit geom_sf
. Du kannst bei der R internen Hilfestellung schauen, ob du die benötigten Variablen findest; ansonsten schau dir den 3. Tipp an. Als dritten Befehl brauchst du noch coord_sf
, um deine x- & y-Achse festzulegen. An dieser Stelle kannst du später auch weiter an die Stadt heran zoomen oder nur einen bestimmten Stadtteil anzeigen. Außerdem kannst du dadurch ein vertikales oder horizontales Bild erstellen. Die Grenzen sind durch die Werte von bbox
gesetzt. Für jedes weitere Detail (z.B. kleine Straßen, Kinos oder Touristenattraktionen) brauchst du einen neuen geom_sf
-Befehl. Bitte achte darauf, dass du nur eine Art von Feature auf einmal herunterladen kannst. Du kannst außerdem jeweils Farbe und Größe der Striche bzw. Punkte verändern. Zum Beispiel findest du hier eine Übersicht von allen Farben, die du verwenden kannst.
Nun gibt es unzählige Möglichkeiten, die Abbildung zu verschönern. Anbei ein paar Anregungen, die du versuchen kannst:
theme_void
- Hiermit kannst du die Achsenbeschriftung entfernen.theme
- Hiermit kannst du den Hintergrund ändern und zum Beispiel eine dunkle Karte erstellen.- …und nicht zu vergessen, was du mit Größe & Farbe alles machen kannst.
Deko
Wenn du deine Karte im Anschluss als Deko verwenden willst, kannst du sie in PowerPoint nach belieben verändern. Hier ein Beispiel, wie dies am Ende aussehen kann:
Hilfe und Lösungen
Falls du nicht weiterkommst, kannst du dir kleine Denkanstöße bei meinen Tipps holen. Ich bitte dich aber, die Lösung des Problems zuerst einmal selbst zu probieren! Wenn du fertig bist, kannst du deine Lösung mit meinen Lösungen vergleichen. Du musst nicht immer das Gleiche haben, da es oft viele Wege zum Ziel gibt.