紀錄一下 GBIF 上幾個台灣的資料集變遷
GBIF 上從 TaiBIF 發布的資料集經過幾十年的累積,有一些狀態變遷,並非只是單純的筆數增加,同一批資料很可能已經換成另一個 dataset:新的 key、新的 DOI...,這常會讓資料查詢者造成困擾,這邊就我所知道的簡單紀錄一下各資料集的變遷歷程。
GBIF 上從 TaiBIF 發布的資料集經過幾十年的累積,有一些狀態變遷,並非只是單純的筆數增加,同一批資料很可能已經換成另一個 dataset:新的 key、新的 DOI...,這常會讓資料查詢者造成困擾,這邊就我所知道的簡單紀錄一下各資料集的變遷歷程。
最近在處理把「自動相機影像資料庫」的計畫資料匯出成 Camtrap DP 標準格式,記錄一下遇到的狀況與處理方式。
(90% 內容由Claude Opus 4.8撰寫)
臺灣生物多樣性資訊聯盟(Taiwan Biodiversity Information Alliance, TBIA),推出了TBIA 生物多樣性領域資料標準,也上架到資料標準列表 - 政府資料標準平臺 schema.gov.tw,我大概知道其中很多欄位定義是取用於Darwin Core (DwC, 目前全世界流通的生物多樣性資料標準),但還是有少數不同的地方,很好奇的就請AI比較一下。
但我用自己的方法去理解: DarwinCore terms是Buffet裡提供所有食材(詞彙標準),想吃什麼就自己去拿裝滿一盤就是那次要發布的資料集。而領域資料標準是單點的串燒(交換規範),用台灣物種名錄 TaiCOL把所有資料串在一起,這個單點的串燒,有一些規定要遵守,例如︰一定會有青椒(必填欄位),其他如果有串培根肉的話就一定要捲金針菇(條件必填),可以選擇熟度(敏感資料層級),也有一些食材沒提供但單點串燒才有的豬血糕(selfProduced, {taxonRank}Chinese),國內政府單位要點菜或出菜的話,不管是那一家餐廳,菜單都會有客製化串燒,不會有太多驚喜,但也不容易走味。
我也不知道我在說什麼了,以下讓AI來說明... TBIA代表領域資料標準,DwC代表TDWG的Darwin Core (我懶的修改,先直接丟上來,可能會有錯)。
DwC 提供的是一組欄位(term),像 occurrenceID、eventDate、scientificName、decimalLatitude,但很少規定哪些必填、型別限制或控制詞彙。
TBIA 補上了這些規則:
NA、數值補 -99999)DwC 沒有、但 TBIA 加上的欄位例如:
| TBIA 欄位 | 用途 |
|---|---|
countyCode |
台灣行政區代碼 |
kingdomChinese 等 |
中文分類階層名稱 |
selfProduced |
是否第一手資料 |
sensitiveCategory |
敏感層級 |
並引用數位發展部的共通資料標準(經緯度、日期格式、授權欄位等)。
DwC 在分類欄位不強制綁定特定名錄,可自由對接 GBIF Backbone、Catalog of Life 等。
TBIA 則明文以中研院「臺灣物種名錄 (TaiCoL)」為核心,並保留原始鑑定到標準學名的校正流程:
DwC 只有 informationWithheld、dataGeneralizations 等通用欄位。TBIA 直接定義敏感層級(輕度、重度、縣市、坐標不開放、物種不開放…),並規範坐標模糊化程度,對應台灣的生物敏感資料開放政策。
TBIA 針對國內政策與常見調查技術發展出主題模板,這是國際 DwC 沒有的行政維度:
因為 TBIA 本來就是基於 DwC 發展,未來要轉回 DwC 輸出到國際,欄位銜接也不會有太大障礙。
目前Darwin Core已儼然成為生物多樣性開放資料共同標準,針對古生物標本也有一些相關詞彙可用,跟現生生物標本資料最大不同的是必填欄位basisOfRecord要用FossilSpecimen。(非PreservedSpecimen或LivingSpecimen)。
Geological Context這個Class應該就定義了大多數地層資訊用到的詞彙,列舉常用的如下:
地層學 (Stratigraphy)可以細分成可以細分岩石地層學 (Lithostratigraphy)、生物地層學 (Biostratigraphy)、年代地層學 (Chronostratigraphy)...
年代地層學(Chronostratigraphy)
| 層級 | Earliest 詞彙 | Latest 詞彙 | 範例 |
|---|---|---|---|
| Eon / Eonothem | earliestEonOrLowestEonothem |
latestEonOrHighestEonothem |
Phanerozoic |
| Era / Erathem | earliestEraOrLowestErathem |
latestEraOrHighestErathem |
Cenozoic |
| Period / System | earliestPeriodOrLowestSystem |
latestPeriodOrHighestSystem |
Neogene |
| Epoch / Series | earliestEpochOrLowestSeries |
latestEpochOrHighestSeries |
Holocene |
| Age / Stage | earliestAgeOrLowestStage |
latestAgeOrHighestStage |
Atlantic, Boreal |
岩石地層學(Lithostratigraphy)
| 層級 | 詞彙 |
|---|---|
| 群 | group |
| 層(組) | formation |
| 段 | member |
| 小層 | Bed |
生物地層學 (Biostratigraphy)
| Earliest 詞彙 | Latest 詞彙 | 範例 |
|---|---|---|
lowestBiostratigraphicZone |
highestBiostratigraphicZone |
Maastrichtian |
但原始資料遇到"晚中新世" (Late Miocene) 這種資料要如何處理?
問了一輪Digital TaiBIFer (TaiBIF開發,架構在ChatGPT上專注於生物多樣性開放資料的AI問答小幫手),得到的答案整理如下:
Late/Early/Middle加上地層單元名稱很常使用,但不是正式單元名稱,原始資料的"晚中新世"可以用以下表示:
| terms | value |
|---|---|
| earliestAgeOrLowestStage | Tortonian |
| latestAgeOrHighestStage | Messinian |
我的理解:晚中新世下有6個Age/Stage,剛好3等分(Early/Late/Middle)後,最"Late"的2個是Tortonian跟Messinian => 但身為一個中間處理資料的角色,我認為不應該任意解讀原始資料的轉換,所以決定保留"Miocene",再想辦法處理"Late"這個字。因為早/中/晚一個想要表達精準一點但又沒那麼精準的定義,而且也不是每個單元名稱都可以3等分,有些除了早/中/晚也會用地層的上/下表示,這些用詞雖然模糊,但也保留了彈性,應該要被留下來,所以控制詞彙用以下處理:
| terms | value |
|---|---|
| earliestEpochOrLowestSeries | Miocene |
| latestEpochOrHighestSeries | Miocene |
ChatGPT叫我把"Late"放到geologicalContextRemarks或verbatimGeologicalContext紀錄裡,聽起來很合理,但目前(2026-03-06)標準並沒有這個詞彙(ChatGPT腦補?)
我目前也還沒想到放那邊比較適合,另外可以放的地方是occurrenceRemarks跟dynamicProperties (萬用自訂欄位),但也怕會埋藏在雜亂的訊息中不容易被連結到,我先放個 TODO 在這邊,等那天智慧比較開了再來補充。
Chronometric Age Extension,如果資料有特別做"年代測定"的方法、可以用精準一點的數值表示的話,就適合加上這個Extension。這邊我就懶的整理直接照抄AI給的答案跟TDWG網頁的內容。
The Chronometric Age (Chrono) terms are specifically for numerical ages (e.g., 10,000 years BP) or the specific process of dating a material. A "Formation" is a spatial/geological unit, which Darwin Core handles in its GeologicalContext class.
| terms | value |
|---|---|
| chrono:verbatimChronometricAge | 76.6 to 74.5 Ma |
| chrono:chronometricAgeProtocol | Ar-Ar dating of volcanic ash |
比較跟DarwinCore的Geological Context不同
| Feature | Geological Context (DwC) | Chronometric Age (Chrono) |
|---|---|---|
| Data Type | Descriptive names (Strings) | Numbers & Units (Floats/Integers) |
| Primary Goal | Classification | Measurement |
| Example Value | "Late Miocene" | "11.6 to 5.33 Ma" |
| Method Info | Usually implied or omitted | Explicit (e.g., "AMS Radiocarbon") |
| Uncertainty | Hard to quantify (Vague) | Precise (e.g., "± 50 years") |
| Best For | General collection management | Research-grade geochronology |
Use Chrono only if you start adding columns like "Date Method," "Lab Number," or "Error Margin."
除了舊學名這個老問題,古生物還會遇到:已滅絕物種、分類不確定等、這個我暫時也是先放個 TODO 在這邊,有空再回來。