rgbifで、GBIFから日本のコウノトリの出現データを取得する

R
作者

伊東宏樹

公開

2023年12月25日

更新日

2024年6月3日

GBIF (Global Biodiversity Information Facility)は、地球上の生物多様性情報を集積し、提供する枠組みです。Rでは、rgbifパッケージを使用してGBIFからデータを取得できます。

準備

rgbifパッケージの解説は以下にあります。

Interface to the Global Biodiversity Information Facility API • rgbif

パッケージ

使用するパッケージを読み込みます。rgbifのほか、地図表示のためleafletも読み込みます。

library(rgbif)
library(leaflet)
library(mapview)

GBIFの認証情報の設定

occ_download関数でGBIFからデータを取得するには、GBIFのアカウントが必要です。.Renvironに認証情報を書いておくことができます。詳細は以下のページにあります。

Set Up Your GBIF Username and Password

情報の取得

ここではコウノトリ (Ciconia boyciana) の出現情報を取得することにします。name_backbone("Ciconia boyciana")で、GBIF Backbone Taxonomyの情報を取得します。

species_data <- name_backbone("Ciconia boyciana")
print(species_data)
## # A tibble: 1 × 23
##   usageKey scientificName        canonicalName rank  status confidence matchType
## *    <int> <chr>                 <chr>         <chr> <chr>       <int> <chr>    
## 1  2481916 Ciconia boyciana Swi… Ciconia boyc… SPEC… ACCEP…         99 EXACT    
## # ℹ 16 more variables: kingdom <chr>, phylum <chr>, order <chr>, family <chr>,
## #   genus <chr>, species <chr>, kingdomKey <int>, phylumKey <int>,
## #   classKey <int>, orderKey <int>, familyKey <int>, genusKey <int>,
## #   speciesKey <int>, synonym <lgl>, class <chr>, verbatim_name <chr>

コウノトリのデータのうち、日本で記録されたもので、位置情報のあるものを取得します。"taxonKey"には、name_backboneで取得したデータのusageKeyを指定します。

occ_download_metaでメタデータを表示します。DOIの引用は必須とのことです。

taxon_key <- species_data$usageKey
occ_info <- occ_download(pred("taxonKey", taxon_key),
                         pred("country", "JP"),
                         pred("hasCoordinate", TRUE))
(meta <- occ_download_meta(occ_info))
## <<gbif download metadata>>
##   Status: RUNNING
##   DOI: 10.15468/dl.updp5c
##   Format: DWCA
##   Download key: 0051544-240506114902167
##   Created: 2024-05-31T08:06:30.694+00:00
##   Modified: 2024-05-31T08:06:31.121+00:00
##   Download link: https://api.gbif.org/v1/occurrence/download/request/0051544-240506114902167.zip
##   Total records: <NA>

引用情報です。

gbif_citation(meta$key)$download
## [1] "GBIF Occurrence Download https://doi.org/10.15468/dl.updp5c Accessed from R via rgbif (https://github.com/ropensci/rgbif) on 2024-05-31"

ダウンロード

では、データをダウンロードします。

occ_download_wait(occ_info)
## status: succeeded
## download is done, status: succeeded
## <<gbif download metadata>>
##   Status: SUCCEEDED
##   DOI: 10.15468/dl.updp5c
##   Format: DWCA
##   Download key: 0051544-240506114902167
##   Created: 2024-05-31T08:06:30.694+00:00
##   Modified: 2024-05-31T08:07:24.519+00:00
##   Download link: https://api.gbif.org/v1/occurrence/download/request/0051544-240506114902167.zip
##   Total records: 624
x <- occ_download_get(occ_info)
## Download file size: 0.11 MB
## file exists & overwrite=FALSE, not overwriting...
df <- occ_download_import(x)

地図上で表示

コウノトリの出現位置をleafletで地図化します。

map <- leaflet() %>%
  addTiles() %>%
  setView(lng = 135, lat = 35, zoom = 5) %>%
  addCircleMarkers(lng = df$decimalLongitude,
                   lat = df$decimalLatitude,
                   radius = 5)
mapshot(map, file = "Ciconia_boyciana.png")

個別データの表示

北海道でも出現記録があるので、出現日と場所を表示します。

df |>
  dplyr::filter(stateProvince == "Hokkaido") |>
  dplyr::select(eventDate, locality)
## # A tibble: 2 × 2
##   eventDate  locality                                   
##   <chr>      <chr>                                      
## 1 2015-08-24 八幡町, 石狩市 JP-北海道 (43.2556,141.4007)
## 2 2016-10-23 Maizuru-reservoir

最後に、自分で観察してiNaturalistに報告したデータを表示してみます。

df |>
  dplyr::filter(stateProvince == "Ishikawa", year == 2023) |>
  dplyr::select(eventDate, verbatimLocality)
## # A tibble: 20 × 2
##    eventDate           verbatimLocality
##    <chr>               <chr>           
##  1 2023-12-29          ""              
##  2 2023-10-15          ""              
##  3 2023-09-23          ""              
##  4 2023-03-21          ""              
##  5 2023-01-07          ""              
##  6 2023-05-15          ""              
##  7 2023-10-22          ""              
##  8 2023-11-11          ""              
##  9 2023-10-07          ""              
## 10 2023-09-22          ""              
## 11 2023-08-21          ""              
## 12 2023-03-05          ""              
## 13 2023-02-26          ""              
## 14 2023-01-01          ""              
## 15 2023-01-08          ""              
## 16 2023-04-16          ""              
## 17 2023-05-29          ""              
## 18 2023-03-21          ""              
## 19 2023-10-08          ""              
## 20 2023-08-23T06:05:43 "Ishikawa, JP"
df |>
  dplyr::filter(stateProvince == "Ishikawa", year == 2023) |>
  dplyr::select(references)
## # A tibble: 20 × 1
##    references                                          
##    <chr>                                               
##  1 ""                                                  
##  2 ""                                                  
##  3 ""                                                  
##  4 ""                                                  
##  5 ""                                                  
##  6 ""                                                  
##  7 ""                                                  
##  8 ""                                                  
##  9 ""                                                  
## 10 ""                                                  
## 11 ""                                                  
## 12 ""                                                  
## 13 ""                                                  
## 14 ""                                                  
## 15 ""                                                  
## 16 ""                                                  
## 17 ""                                                  
## 18 ""                                                  
## 19 ""                                                  
## 20 "https://www.inaturalist.org/observations/179738108"

referencesにあるとおり、iNaturalistに報告した情報は、https://www.inaturalist.org/observations/179738108にあります。