在 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_sp
或 gadm_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 创建
问题大纲:
我使用 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_sp
或 gadm_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 创建