2017-08-16 2 views
0

Ich versuche, einige geographische Breite/Länge Punkte auf einer Karte mit ggmap und geom_point. Ich habe es vorher gemacht und hatte keine Probleme, aber dieses Mal wird es einfach nicht zeigen. Ich habe versucht, die Daten aufzuheben, mit aes() herumzubasteln, und so weiter und nichts hat funktioniert. Die Ausgabe von point_map ist nur die Area_Map ohne Punkte. Was fehlt mir hier?geom_point nicht auf ggmap plot

# Read in data from csv files. 
bearingDat <- read.csv('bearing_Data.csv', sep = ',') 

lonlatDat <- read.csv('lonlat_Data.csv', sep = ',') 

# Create vectors for data. 
bearing <- c(bearingDat[1]) 
longitude <- c(lonlatDat[2]) 
latitude <- c(lonlatDat[1]) 

# Install necessary packages. 
#install.packages("ggmap", "rworldmap") 
#library(ggmap) 
#library(rworldmap) 


# Acquire map of area. 
Area_Map <- ggmap(get_map(location = c(175.733095424,-39.278361404), 
           zoom = 18, 
           maptype = "satellite", 
           color = "color" 
) 
) 


point_map <- Area_Map + geom_point(data = lonlatDat, 
             aes(x=longitude, y=latitude), 
             col = "red", 
             size = 1, 
             alpha = 0.5, 
             na.rm = TRUE 
) 

point_map 

Und hier sind die ersten 10 Werte für Länge und Breite.

1 175.4404 39.15582 
2 175.4404 39.22650 
3 175.4404 39.22650 
4 175.4404 39.22650 
5 175.4404 39.22650 
6 175.4404 39.22650 
7 175.4404 39.22650 
8 175.4404 39.22650 
9 175.4403 39.42777 
10 175.4403 39.42777 
+0

Zusätzlich zu Ihrem Zeichenfehler ist Ihr Code zu "Vektoren für Daten erstellen" schlecht (nicht dass Sie diese in Ihren Plots verwenden). Wenn 'bearingDat' ein Datenrahmen ist, dann ist' bearingDat [1] 'ein einspaltiger Datenrahmen, wie auch' c (bearingDat [1]) '. Wenn Sie einen * Vektor * wollen, verwenden Sie 'bearingDat [[1]]' '. (Das 'c()' ist in beiden Fällen sinnlos). – Gregor

+0

@Gregor Vielen Dank, dass Sie darauf hingewiesen haben. Ich habe in letzter Zeit nicht viel Zeit mit R verbracht, also muss ich einige Dinge durcheinander gebracht haben. – wastelander

Antwort

2

Ihre Karte ist bei -39,278361404 und Ihre Punkte bei 39,15582, sie sind auf entgegengesetzten Seiten der Welt.

Wenn Sie das eine oder andere beheben, dann können Sie etwas sehen. Mein Bauchgefühl sagt mir, dass sie immer noch außerhalb des Zoombereichs liegen. mit

Versuchen:

calc_zoom(lon, lat, data, adjust = 0, f = 0.05)

eine Zoomstufe zu erhalten, die den weitesten Punkt von Ihrer ursprünglichen Karte zeigt und Sie sollten gut zu gehen.

+0

Ahh, ich frage mich, ob meine lat/long-Daten durcheinandergewürfelt wurden, als ich von NZTM -> UTM konvertierte. Vielen Dank. – wastelander

+0

Das kann sehr einfach passieren. Meine erste Leaflet Map hatte ein ähnliches Konvertierungsproblem! – sconfluentus

+0

Ich habe versucht, die calc_zoom und ich bekomme den Fehler "Fehler: is.integer (einstellen) ist nicht wahr". – wastelander