R语言【rgbif】——用rgbif下载物种分布数据(rgbif包的初步探索)

简介

GBIF开放了全球物种分布数据

准备工作

install.packages("rgbif")

物种查询与下载

1. 在GBIF中查询数据需要目标类群的唯一物种识别号(key number)。

key <- name_suggest(q="Mahonia", rank = "genus")$data$key[1]
key

博主以Mahonia属为例。输出的识别号如下:

3033842

详解name_suggust函数

官方提供的用户手册中翻译如下:

1. 描述
简便快捷地查询==单次至多20个科学名==的唯一识别号。输出结果依次排列。
2. 函数用法
name_suggest(
q = NULL,
datasetKey = NULL,
rank = NULL,
fields = NULL,
start = NULL,
limit = 100,
curlopts = list()
)
3. 参数详解
参数含义
q(字符型,必填)单一的搜索参数。可以是单个,也可以是俗名
datasetKey(字符型)根据checklist数据集键(uuid)进行筛选
rank(字符型)分类等级。包括 class, cultivar, cultivar_group, domain, family, form, genus, informal, infrageneric_name, infraorder, infraspecific_name, infrasubspecific_name, kingdom, order, phylum, section, series, species, strain, subclass, subfamily, subform, subgenus, subkingdom, suborder, subphylum, subsection, subseries, subspecies, subtribe, subvariety, superclass, superfamily, superorder, superphylum, suprageneric_name, tribe, unranked, or variety
fields(字符型)决定输出的data.frame
start默认0
limit默认100,最大值1000
curlopts传给HttpClient的已命名curl选项列表
4. 可多项输入的参数
  • rank
  • datasetKey

2. 查询目标类群在GBIF中的地理分布记录数量

 occ_count(taxonKey=key, georeferenced=TRUE, basisOfRecord= 
"PRESERVED_SPECIMEN")

输出显示有7274条记录。

注意

虽然上述语句可以执行,但在rgbif3.7.6版本中,会提示:arg ‘georeferenced’ is deprecated since rgbif 3.7.6, use ‘hasCoordinate’ and ‘hasGeospatialIssue’ instead.
尽管不会影响使用,但仍建议将上述语句替换为:

occ_count(taxonKey=key, hasCoordinate=TRUE, basisOfRecord= "PRESERVED_SPECIMEN")

并且,修改后的语句,返回结果更多:8697

详解occ_count函数

官方提供的用户手册中翻译如下:

1. 描述

获取记录数量

2. 函数用法
occ_count(..., occurrenceStatus = "PRESENT", curlopts = list())
3. 参数详解
参数含义
传递给occ_search()的参数
occurrenceStatus(字符型)默认值PRESENT。可以指定为 “PRESENT” 或 “ABSENT”
curloptsCurlopts(列表)curl选项。
4. 详情

occ_count()实际上是occ_search(limit=0) m e t a meta metacount的封装函数。需要注意,在rgbif3.7.6版本中,occ_count()使用了与以往版本不同的GBIF API。georeferenced, type, date, to, from参数被移除

c(“a”,“b”)写法会报错,可替换为"a;b"

3. 搜索目标类群在GBIF中的地理分布记录

data <- occ_search(scientificName = "Mahonia", limit= 10000, hasCoordinate = TRUE, basisOfRecord= "PRESERVED_SPECIMEN")

4. 保存数据

write.xlsx(data$data, "D://Work_Space/mahonia/Mahonia现存分布数据/GBIF-Mahonia.xlsx", overwrite = TRUE)
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您可以使用以下步骤将 R 语言中的批量物种分布栅格数据转换为面数据,并将其保存到地理数据库文件中: 1. 首先,您需要加载所需的 R ,例如 rgdal、raster、sp 等。 2. 然后,您需要将栅格数据读入 R 语言中。可以使用 raster 中的 raster() 函数来完成此操作。例如: ```R library(raster) r <- raster("path/to/raster/file.tif") ``` 3. 接下来,您需要使用 extract() 函数从栅格中提取物种分布数据。例如: ```R points <- extract(r, points_df) ``` 其中,points_df 是一个物种分布点位信息的数据框。 4. 然后,您可以使用 as.data.frame() 函数将提取的点位数据转换为数据框。例如: ```R points_df <- as.data.frame(points) ``` 5. 接下来,您需要使用 sp 中的 SpatialPointsDataFrame() 函数将点位数据转换为空间点数据框。例如: ```R library(sp) coordinates(points_df) <- c("x", "y") proj4string(points_df) <- CRS("+proj=longlat +datum=WGS84") ``` 其中,x 和 y 分别是点位数据框中经度和纬度的列名。 6. 最后,您需要将空间点数据框保存到地理数据库文件中。可以使用 rgdal 中的 writeOGR() 函数来完成此操作。例如: ```R library(rgdal) dsn <- "PG:dbname=mydatabase host=myhost user=myuser password=mypassword port=myport" layername <- "mypoints" writeOGR(points_df, dsn, layername, driver="PostgreSQL", overwrite_layer=TRUE) ``` 其中,dsn 是您的地理数据库连接信息,layername 是要保存的图层名称。请确保您已经安装并配置了适当的数据库驱动程序。 以上就是将 R 语言中的批量物种分布栅格数据转换为面数据,并将其保存到地理数据库文件中的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值