2017-06-09 2 views
0

Ich möchte eine Reihe von Lat-lon-Punkten einer Siegelspur, die jeweils einem Attribut entsprechend gefärbt sind, auf einer Karte mit der Bathymetrie (100 m Konturen) und der Küstenlinie darstellen. Ich habe gelernt, wie man eine Karte erstellt, um die Bathymetrie + Küstenlinie mit marmap und ggplot2 zu zeigen. Der Code ist hier:Hinzufügen von Breitengradpunkten zu einem Marmap-Plot

dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE) 
plot(dat,image=TRUE,bpal = list(c(min(dat), 0, "darkblue", "blue","lightblue"), c(0, max(dat), "gray90","gray10")),drawlabels=TRUE,deep=c(-500,200,0),shallow=c(-500,100,0),step=c(500,100,0),lwd=c(1,1,1),lty=c(1,1,1),land=TRUE)+ 
    scaleBathy(dat, deg=1.232, x="bottomleft", inset=5) #100km 

Dies erstellt eine nützliche Karte. Ich bin jedoch davon abgewichen, wie ich die Siegelspur auf dieser Karte hinzufügen kann.

Ich konnte dies in ggmap tun (den Code unten verwenden), aber ich ziehe den marmap Karte

myLocation <- c(-62.5,43,-58,46) 
seal_map2<-get_map(location=myLocation,maptype="watercolor",source="stamen",zoom=10) 
ggmap(seal_map2)+ 
geom_point(data=sealtrack,aes(color=category),size=0.5)+ 
scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1)) 

Jede mögliche Führung viel

+0

Was mit der Verwendung der klassischen marmap Karte nicht stimmt Sie erstellt und geben Sie Ihre Dichtung Track mit 'Punkten (sealtrack , col = some.color.vector [Kategorie]) '? Sehen Sie sich auch die Seiten 6 bis 7 von 'vignette (" marmap-DataAnalysis ")' an. Ich glaube, das ist genau das, wonach Sie suchen. Ersetzen Sie einfach die im Beispiel verwendeten Tiefenwerte, um die Punkte mit Ihrer 'category'-Variablen zu färben. – Benoit

Antwort

0

sollte beachtet werden Sie in der Lage sein, die bathymetrische Infos hinzufügen aus marmap als Kontur-Layer auf Ihrer Handlung, nachdem Sie sie "verstärkt" haben. Ohne Ihre Daten ist es schwierig, sicherzustellen, dass es funktioniert (und der NOAA-Server ist für mich nach unten jetzt):

library(ggplot2) 
library(marmap) 
dat <- getNOAA.bathy(-58,-62.5,43,46.0,res=0, keep=TRUE) 
dat <- fortify(dat) 
ggmap(seal_map2) + 
    geom_contour(dat, aes(x = x, y = y, z = z)) + 
    geom_point(data=sealtrack,aes(color=category),size=0.5) + 
    scale_color_gradientn(colours=rainbow(6), breaks=seq(1,6,by=1)) 
+0

Danke! Das hat für gmap funktioniert. Ich muss diese Karte jetzt nur noch so nützlich machen wie die Karte von marmap. – user3919413

Verwandte Themen