Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

GeoRocData

PyPI versionPythonLicense: GPLv3+GitHub

GEOROC 数据库自动化下载、处理和 SQLite 数据库构建工具。

Automatically downloads, processes, and builds a SQLite database from GEOROC precompiled geochemical datasets.


背景 / Background

GEOROC (Geochemistry of Rocks of the Oceans and Continents) 是由德国哥廷根大学 DIGIS 团队维护的全球最大的火成岩地球化学数据库,包含超过 100 万条来自约 20,000 篇文献的岩石样品分析数据。

GEOROC 提供了 14 类预编译数据集(Precompiled Files),涵盖太古代克拉通、汇聚边缘、 洋岛、岩石类型等,以 CSV 格式发布。这些 CSV 文件结构特殊(包含数据段、缩写段、 参考文献段),且存在引号错误等常见问题,需要处理后才能用于数据分析。

georocdata 工具实现了从下载到构建 SQLite 数据库的全流程自动化。

数据源变更 / Data Source Migration

版本数据源说明
旧版georoc.mpch-mainz.gwdg.de/Csv_Downloads/逐个 CSV 下载,已于 2021 年停更
新版georoc.eu DOI 系统DOI 下载,数据更新至 2026-06-01

安装 / Installation

pip install georocdata

依赖: Python >= 3.8, pandas >= 1.3


快速开始 / Quick Start

命令行 / CLI

# 完整更新:下载 + 处理 + 建库
georocdata
# 仅下载
georocdata --download-only
# 仅处理已有 CSV + 建库
georocdata --process-only
# 使用旧数据源
georocdata --source legacy
# 同时使用新旧数据源
georocdata --source both
# 跳过某些步骤
georocdata --skip-fix # 跳过CSV引号修复
georocdata --skip-split # 跳过CSV段落拆分
georocdata --skip-db # 跳过SQLite建库# 自定义输出目录和数据库名
georocdata --output-dir ./my_data --db-name my_georoc.db
# 查看版本
georocdata -V

Python API

fromgeorocdataimportGEOROCDownloader, GEOROCProcessor# 1. 下载dl=GEOROCDownloader(output_dir="./georoc_data")
dl.download_new_source() # 从 georoc.eu 下载# dl.download_legacy_source() # 或从旧源下载# 2. 处理proc=GEOROCProcessor(data_dir="./georoc_data")
proc.fix_all_csvs() # 修复CSV引号错误proc.split_all_csvs() # 拆分CSV段落# 3. 建库proc.build_database(db_path="./GeoRoc.db") # 数据库proc.build_refs_database(db_path="./Ref.db") # 参考文献库

数据集 / Datasets

GEOROC 提供 14 类预编译数据集:

编号英文类别中文类别DOI
1Archaean Cratons太古代克拉通10.25625/1KRR1P
2Complex Volcanic Settings复杂火山环境10.25625/1VOFM5
3Continental Flood Basalts大陆溢流玄武岩10.25625/WSTPOX
4Convergent Margins板块汇聚边缘10.25625/PVFZCE
5Intraplate Volcanic Rocks板内火山岩10.25625/RZZ9VM
6Oceanic Plateaus洋底高原10.25625/JRZIJF
7Ocean Basin Flood Basalts洋底盆地溢流玄武岩10.25625/AVLFC2
8Ocean Island Groups洋岛成分10.25625/WFJZKY
9Seamounts海山成分10.25625/JUQK7N
10Rift Volcanics裂谷火山10.25625/KAIVCT
11Rocks岩石成分10.25625/2JETOA
12Minerals矿物成分10.25625/SGFTFN
13Melt Inclusions熔体包裹体10.25625/7JW6XU
14Sample Metadata样品元数据10.25625/4EZ7ID

每类数据集包含若干 CSV 文件,例如 Archaean Cratons 包含 28 个克拉通的单独文件。


处理流程 / Processing Pipeline

原始 CSV 下载
│
▼
┌──────────────────┐
│ 1. CSV 引号修复 │ 修复 GEOROC CSV 中常见的孤立引号错误
└──────────────────┘
│
▼
┌──────────────────┐
│ 2. CSV 段落拆分 │ 将每个 CSV 拆分为:
│ │ - 数据段 (Data) → *_data.csv
│ │ - 缩写段 (Abbreviations) → *_abbreviations.csv
│ │ - 参考文献段 (References) → *_references.csv
└──────────────────┘
│
▼
┌──────────────────┐
│ 3. SQLite 建库 │ 合并所有数据段到 GeoRoc.db,自动去重
│ │ 合并所有参考文献到 Ref.db
└──────────────────┘

CSV 文件结构说明 / CSV Structure

每个 GEOROC CSV 文件由三个段落组成,以 Abbreviations:References: 标记分隔:

Citation,Ref_ID,Name,Type,..." ← 数据段(表头+数据)
Abbreviations: ← 缩写段开始
Abbreviation,Full_name,..." ← 缩写段(表头+数据)
References: ← 参考文献段开始
Ref_ID,Reference,..." ← 参考文献段(表头+数据)

工具自动识别并拆分这三个段落。


项目结构 / Project Structure

GeoRocData/
├── pyproject.toml # 构建/发布配置
├── README.md # 本文件
├── CHANGELOG.md # 变更日志
├── LICENSE # GPLv3+ 许可证
├── src/georocdata/ # Python 包源码
│ ├── __init__.py # 包入口,导出核心类
│ ├── cli.py # CLI 命令入口
│ ├── compilations.py # 14类数据集 DOI 映射配置
│ ├── downloader.py # GEOROCDownloader 下载器类
│ └── processor.py # GEOROCProcessor 处理器类
├── DB_Gen/ # 旧版脚本(已弃用)
│ └── update_georoc.py # 向后兼容入口
├── links.sh # 旧版下载链接列表
└── back.sh # 旧版下载脚本

从旧版迁移 / Migration from Legacy Scripts

旧版脚本新版等效
bash back.sh / bash links.shgeorocdata --source legacy
0_Get_Data_Fix_Quota_Error.pygeorocdata (下载+修复,默认)
1_Split_CSV.pygeorocdata (拆分,默认)
2_Add_Type.pygeorocdata (Type列自动添加,默认)
3_CSV_to_DB.pygeorocdata (建库,默认)
4_REF_to_DB.pygeorocdata (参考文献建库,默认)

开发 / Development

# 克隆仓库
git clone https://github.com/GeoPyTool/GeoRocData.git
cd GeoRocData
# 安装开发模式
pip install -e .# 构建发布包
pip install build
python -m build
# 检查包质量
pip install twine
twine check dist/*

引用 / Citation

如果您在研究中使用了 GEOROC 数据,请引用:

DIGIS Team (2026). GEOROC Compilation: [Dataset Name]. Göttingen Research Online / Data. https://doi.org/10.25625/[DOI]


许可证 / License

GPLv3+ - 详见 LICENSE


链接 / Links

About

A GeoRoc Data Modification~

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages