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”
curlopts Curlopts(列表)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)

你可能感兴趣的:(R语言,r语言)