Parsimonious Möglichkeit, Nordpfeil und Maßstabsleiste zu ggmap @ hinzuzufüg
Ich versuche, mit ggmap eine Karte der Schutzgebiete zu erstellen, in denen ich mit einem Satellitenbild von Google Earth arbeite. Ich kann ein sehr zufriedenstellendes Bild erstellen, außer dass ein Nordpfeil und eine Maßstabsleiste fehlen:
Mir ist bewusst, dass es sehr umständliche Möglichkeiten gibt, diese Elemente hinzuzufügen (z. B.Hie) aber es muss doch einen sparsameren Weg geben!
Ich habe versucht mitmap.scale
undnorth.arrow
aber diese beiden geben mir:
Error in polygon(xb + arrow.x * s, yb + arrow.y * s, ...) :
plot.new has not been called yet
Ich kann beides bekommenmap.scale
undnorth.arrow
, um in Basis R mit @ zu arbeitplot
aber dann kann ich mein Satellitenbild nicht richtig zeichnen. Ich kann auch mit @ bekommen, was ich wiarrows
undtext
in der Basis R, aber auch diese funktionieren in ggmap nicht.
Der verwendete Code ist unten. Sie werden das Polygon nicht haben (daher werde ich es nicht in den Code einfügen), aber Sie können das Google Earth-Bild laden und den Fehler replizieren.
library(rgdal)
library(ggmap)
library(GISTools)
# Load satellite picture
map.centre <- c(lon = 35, lat = -2.5)
map <- get_map(location=map.centre, source="google", maptype="satellite", zoom = 8)
# Plot map
ggmap(map, extent= "device")
map.scale(xc= 34, yc= -3, len= 10, units= "Kilometers",
ndivs= 4, tcol= "black", scol= "black", sfcol="black")
north.arrow(xb= 35.5, yb= -1, len=100, lab="N")
Von ein bisschen Lesen scheint es wie dasmap.scale
undnorth.arrow
-Funktionen erkennen das Fenster nicht, dasggmap
ie @ -Funktion wird als offenes Grafikfenster erstellt. Ich habe einige Nachforschungen angestellt und versucht, dies zu beheben, aber nichts hat funktioniert. Kann jemand eine Möglichkeit vorschlagen, um den Fehler, den ich erhalte, zu beheben, oder eine Maßstabsleiste und einen Nordpfeil in ggmap zu erhalten, ohne Hunderte von Codezeilen zu verwenden?