在 R 的 GADMTools 包中使用 dots() 函数来绘制地图

Using the dots() function within the GADMTools package in R for maps

问题大纲:

我使用 GADMTools 包中的 gadm_sf_loadCountries() 和 plotmap() 函数创建了一张斯里兰卡地图(参见下面的代码)。因此,我的地图(见下图)采用 gadm_sf 格式。

我的目标是将包含名为 'Blue.whale' 的 .csv 文件的 GPS 点绘制到我使用 GADMTools 包中的 dots() 函数生成的地图上。

但是,当我 运行 我的代码时,我收到此错误消息:

Error in UseMethod("dots", x) : 
 no applicable method for 'dots' applied to an object of 
 class "c('gg', 'ggplot')"

R-代码:

##Load Libraries

  library(GADMTools)
  library(sp)

####GADMTools Version
    dev.new()
    bioclim2.data <- gadm_sf_loadCountries("LKA", basefile = "./", level = 1) 

##Plot map
  par(mfrow=c(1,1))
  Sri_lanka<-plotmap(bioclim2.data)

###

Blue.whale<-readr::read_csv("Blue_Whale_GPS_Best.csv")
colnames(Blue.whale)<-c("FID", "Latitude", "Longitude")
head(Blue.whale)

 ##Convert the format of the data from factors to numeric

 Latitude<-as.numeric(Blue.whale$Latitude)
 Longitude<-as.numeric(Blue.whale$Longitude)

 ##Insert GPS Points
   Blue.whale$Latitude<-as.double(Blue.whale$Latitude)
   Blue.whale$Longitude<as.double(Blue.whale$Longitude)
   dots(Sri_lanka, points=Blue.whale, color="red", size=8)

这是带有经度和纬度坐标的数据框示例。总共还有908行

     # A tibble: 918 x 3
       FID Latitude Longitude
      <dbl>    <dbl>     <dbl>
   1     1     5.80      80.6
   2     2     5.84      80.5
   3     3     5.82      80.5
   4     4     5.85      80.5
   5     5     5.85      80.5
   6     6     5.89      80.4
   7     7     5.82      80.4
   8     8     5.82      80.5
   9     9     5.84      80.5
  10    10     5.83      80.4

如果有人可以帮助解决此错误消息,我将不胜感激。

祝福!

地图

这可能会有所帮助...

你的问题中有很多我不太理解的代码(可能是从各种来源构建的)。

您的代码存在的一些问题是:

1) dots 函数中的 points 参数需要一个包含纬度和经度的 x 和 y 坐标的数据框,这是按该顺序排列的经度和纬度,并且全部为小写。

2) dots 函数的 x 对象需要一个对象 gadm_spgadm_sf

3) 好像有一个未定义的对象:Blue.whale_New.

无论如何,这似乎可以解决问题:



library(GADMTools)

Blue.whale <- data.frame(longitude = c(80.5, 80.5, 80.5, 80.5, 80.4, 80.4, 80.5, 80.5, 80.4),
                         latitude = c(5.84, 5.82, 5.85, 5.85, 5.89, 5.82, 5.82, 5.84, 5.83))


Sri_lanka <- gadm_sf_loadCountries("LKA", basefile = "./", level = 1)

dots(x = Sri_lanka, points = Blue.whale, color = "red", size = 3)

reprex package (v0.3.0)

于 2020-05-11 创建