Maps 风玫瑰覆盖在地图上

Maps 风玫瑰覆盖在地图上,maps,ggmap,openair,Maps,Ggmap,Openair,我有多个气象站的风数据,还有每个气象站的坐标。我想把每个站的风玫瑰叠加在一张地图上,使用站的纬度和经度。在R中有没有一种直接的方法可以做到这一点 到目前为止,我在R中就是这样做的。我将风玫瑰保存为png格式,然后将其覆盖在地图上 ####################################### ########produce map of GTA############## ####################################### ggmap=get_map(

我有多个气象站的风数据,还有每个气象站的坐标。我想把每个站的风玫瑰叠加在一张地图上,使用站的纬度和经度。在R中有没有一种直接的方法可以做到这一点

到目前为止,我在R中就是这样做的。我将风玫瑰保存为png格式,然后将其覆盖在地图上

#######################################
########produce map of GTA##############
#######################################
ggmap=get_map(location=c(left=-80.7 , bottom=43 , right=-77.7 , top=44.9))
gta=ggmap(ggmap)+ scale_y_continuous(limits=c(43.2, 44.5))



 ####################################################
###########for loop to make wind roses##############
###################################################

data_list<- list.files(path= "/home/npak/Documents/weather_data/meso_west_data/", pattern = "\\.csv$", recursive = FALSE, full.names = TRUE)

l<-length(data_list)



for (i in 1:l){

  header<-readLines(data_list[i], 8)
  variables = strsplit(header, ',')
  vars=variables[[7]]  
  info= strsplit(header, ':')
  lat= as.numeric(info[[3]][2])  
  long= as.numeric(info[[4]][2])
  elev= as.numeric(info[[5]][2])
  name=info[[2]][2]


  data <- read.table(data_list[i], header= FALSE, sep=",", col.names = paste0("V",seq_len(30)), fill=TRUE, skip=8)

  missing= length(data)-length(vars)
  colnames(data)= c(vars, rep("Empty", missing) )

  print(unique(data$Station_ID))

  data$ws<-data$wind_speed_set_1
  data$wd<-data$wind_direction_set_1
  data$date<- as.POSIXct(data$Date_Time, format = "%Y-%m-%d %H:%M")
  ID<-unique(data$Station_ID)


  png(filename=(file<- paste('/home/npak/Documents/weather_data/meso_west_data/map_1year/', ID ,'all_year_map.png')), 
      width = 2400, height = 2400,bg = "transparent")
 windRose(data,  
           breaks = c(1.5,3.3,5.5,8),
           max.freq = 25
           ,paddle = FALSE, 
          ,  annotate = FALSE, key= FALSE,
           auto.text = FALSE, ,grid.line = list(lty =0, value= 10),
          cols=c("red", "red2", "red3", "red4"))
  #,annotate = FALSE, key= FALSE)
  #dev.off()
  dev.off.crop(file=file)


  mypng <- readPNG(file<- paste('/home/npak/Documents/weather_data/meso_west_data/map_1year/', ID ,'all_year_map.png')) 


  gta=gta+inset_raster(mypng, ymin = lat-0.2,ymax= lat+0.2,xmin = long-0.2,xmax = long+0.2)


}

######################################################
###############save map into png#######################################
##########################################################

png('/home/npak/Documents/weather_data/meso_west_data/map_1year/gta_annual.png', 
    width = 2400, height = 2400)
print(gta)
dev.off()
#######################################
########制作GTA地图##############
#######################################
ggmap=get_map(位置=c(左=-80.7,下=43,右=-77.7,上=44.9))
gta=ggmap(ggmap)+比例y连续(极限=c(43.2,44.5))
####################################################
###########为循环,使风玫瑰##############
###################################################

数据列表两个问题:你读过吗?你想用哪种语言,R还是Python?你的意思是我离题了吗?我想可能有一些我不知道的软件包可以促进这一点。是的,R或Python都适合我。你并没有离题,但不清楚你问了什么。通过帮助中心创建一个很好的问题,你可以肯定,你得到了一个答案。@Nasrin,你说“但是看起来不太好。”与什么相比?您自己的方法有什么问题,您希望结果是什么样的?您肯定需要确定您的问题适用于哪种语言-R或Python-以获得有用的回答?你想用哪种语言,R还是Python?你的意思是我离题了吗?我想可能有一些我不知道的软件包可以促进这一点。是的,R或Python都适合我。你并没有离题,但不清楚你问了什么。通过帮助中心创建一个很好的问题,你可以肯定,你得到了一个答案。@Nasrin,你说“但是看起来不太好。”与什么相比?您自己的方法有什么问题,您希望结果是什么样的?您肯定需要确定您的问题适用于哪种语言-R或Python-以获得有用的回答。