||
herblabel R程序包打印植物标本标签
(2017年1月9日更新)
关于herblabel程序包的介绍, 请参考 http://www.biodiversity-science.net/CN/abstract/abstract10290.shtml
程序包下载 herblabel安装文件.zip 以及使用说明
用herblabel打印植物标本标签和鉴定标签
1 安装R软件 http://www.r-project.org/
如: Windows: http://cran.r-project.org/bin/windows/base/
2.安装Rtools, Rtools含有读取xlsx文件所需的解压缩函数. 安装时应该允许Rtools修改启动路径, 以便从CMD中能够调用Rscript以及zip等命令.
https://cran.r-project.org/bin/windows/Rtools/
3 安装devtools程序包
在R的命令行中,输入:
install.packages("devtools")
4 从 github 安装 herblabel
library(devtools)
install_github("helixcn/plantlist")
5. 安装openxlsx程序包, 用于读取内置的xlsx模板
install.packages("openxlsx")
至此, herblabel及其相关的程序包安装完成.
6. herblabel程序包的更新
Herblabel程序包会根据用户反馈的意见, 进行修改, 或者增加相应的功能, 因此每隔一段时间, 就发布发新版本.
更新该程序包, 请用如下R命令从github重新安装:
library(devtools)
install_github("helixcn/herblabel")
打印标本标签以及鉴定标签
标本标签以及鉴定标签所用的数据均保存在Excel模板中. 主要步骤如下:
1. 填写Excel模板
herblabel程序包带有Excel模板, 该模板的位置如下:
system.file("extdata", package = "herblabel")
模板分为两种:
(1) 基于Darwin Core的标本记录Excel文件, 名为 DARWIN_CORE_HERBARIUM_RECORDS.xlsx;
(2) 标本鉴定的Excel文件, ANNOTATION_TEMPLATE.xlsx
Excel模板各列如下:
GLOBAL_UNIQUE_IDENTIFIER: 条形码号
INSTITUTION_CODE:标本馆缩写
COLLECTION_CODE:标本馆号, 可能和条形码号相同
BASIS_OF_RECORD: 标本的类型, 一般为腊叶标本
PREPARATIONS: 标本的状态, 如 有花有果, 有花无果, 无花有果, 无花无果
HERBARIUM(必填): 标本馆名
TITLE:该植物所属地区, 如Plants of Yunnan
COLLECTOR(必填):采集人
ADDITIONAL_COLLECTOR:共同采集人
COLLECTOR_NUMBER(必填):采集号
DATE_COLLECTED(必填):采集日期, 建议格式 2015-8-6 表示 2015年8月6日, 标签中会自动转换为英文的年月日
LOCAL_NAME:当地名称, 这里可以填写中文名或完整的学名, 并用fill_dwc处理后自动填写上 科属种命名人等信息.
FAMILY(重要): 科名, 必须是拉丁文
FAMILYCN:中文科名
GENUS:属
SPECIES:种
AUTHOR_OF_SPECIES:种作者
INFRASPECIFIC_RANK:种下等级, 只能是 subsp., var. 或者f.中的一个.
INFRASPECIFIC_EPITHET:种下等级加词
AUTHOR_OF_INFRASPECIFIC_RANK: 种下等级作者
COUNTRY(必填):国家或者地区
STATE_PROVINCE(必填):省或者州
COUNTY(重要):县
LOCALITY(重要):小地点
LOCALITY_ORIGINAL:(地名原始信息, 如中文地名):
IMAGE_URL:标本照片的路径
RELATED_INFORMATION:与地名相关的附记
LAT_DEGREE(重要):纬度的度
LAT_MINUTE(重要):纬度的分
LAT_SECOND(重要):纬度的秒
LAT_FLAG(重要):纬度的标签, 北纬N, 南纬S
LON_DEGREE(重要):经度的度
LON_MINUTE(重要):经度的分
LON_SECOND(重要):经度的秒
LON_FLAG(重要):经度的标签, 东经E, 西经W
ELEVATION (重要):海拔
ATTRIBUTES (重要):关于形态的描述, 如树高, 花色, 果的颜色以及树皮等的描述
REMARKS (重要):关于生境以及伴生种的描述, 如 along the stream
CABINET:标本所保存的柜子.
DISPOSITION:该标本是否在馆, 是否外借等信息.
GEOREFERENCE_SOURCES:位置的数据来源, 是GPS直接读取的, 还是Google Earth或者其他来源
GEOREFERENCE_VERIFICATION_STATUS:地理位置是否经过确认
GEOREFERENCE_REMARKS:地理位置的准确度, 如50m
PROJECT:该标本的研究项目
IDENTIFIED_BY(重要):标本的鉴定人
DATE_IDENTIFIED(重要):鉴定的日期, 最好也是2015-8-6类似的格式
TYPE_STATUS:该标本是否为模式标本
PROCESSED_BY:本条记录的录入人
DATE_LASTMODIFIED:本条记录上次更改的日期
假设 DARWIN_CORE_HERBARIUM_RECORDS.xlsx 保存在 D:/herbarium/, 则输入以下命令, 即可生成rtf标签:
setwd("D:/herbarium/") ## 注意斜杠要向右
library(herblabel)
library(openxlsx)
dat <- read.xlsx("DARWIN_CORE_HERBARIUM_RECORDS.xlsx")
### 检查拼写等
herbarium_label(dat, outfile = "herbarium_labels.rtf")
### 不进行检查
herbarium_label(dat, spellcheck = FALSE, outfile = "herbarium_labels_no_checking.rtf")
默认情况下, spellcheck = TRUE, 此时herbarium_label函数将进行(1) 物种有效性的检查 , 即是否是The Plantlist 网站上的接受名 (2)属的拼写检查 (3) 科的拼写检查 (4) 科属对应关系的检查。 在Remarks这一列中, 如有列出伴生种, 则拉丁文部分会自动转换为斜体。 如果未能转换成斜体, 则需要检查其拼写。 这些信息会在生成的RTF文件中给出提示。
2. 鉴定标签的打印
herblabel程序包自带了鉴定标签的模板, 在 R中输入 system.file("extdata", package = "herblabel")
可找到 ANNOTATION_TEMPLATE.xlsx 文件, 该文件包括如下的列:
PROJECT:鉴定整理标本的有关项目
TYPE_STATUS:是何种模式标本, 如果不是可不填
TYPE_REF:如果是模式标本, 则需要写清楚发表该种的文献
FAMILY:科
LOCAL_NAME:中文名, 或者完整的学名
GENUS(重要):属
SPECIES(重要):种
AUTHOR_OF_SPECIES(重要):种作者
INFRASPECIFIC_RANK(重要):种下单位, 只能包括 subsp., var. 或者 f.
INFRASPECIFIC_EPITHET(重要):种下单位加词
AUTHOR_OF_INFRASPECIFIC_RANK(重要):种下单位作者
ABBREVIATION(重要):鉴定人的名称 如 打印标签上, 鉴定人之前要显示 Det., 则此处应该输入 Det.
IDENTIFIED_BY(重要): 鉴定人
INSTITUTION:鉴定人的机构
DATE_IDENTIFIED(重要):鉴定日期
DET_NOTE:鉴定的依据, 或者附注
SPECIMEN_NUMBER:标本条形码号
COLLECTOR:采集人
COLLECTOR_NUMBER:采集号
打印鉴定标签:
将该ANNOTATION_TEMPLATE.xlsx 拷贝到 D:/herbarium/
填好相应的鉴定信息后, 在Rgui中运行如下命令:
setwd("D:/herbarium")
library(herblabel)
library(openxlsx)
dat <- read.xlsx("ANNOTATION_TEMPLATE.xlsx")
annotation_label(dat)
由herbarium_label函数和annotation_label生成的rtf文件, 可以用Microsoft Word打开, 进行进一步的调整 (如某些物种的斜体,或者间距的调整)。
3.从中文名匹配并填写学名,命名人和科属等信息
在打印标签时, 人们希望尽量输入少的数据,因为输入的内容越多,出错的几率也越大, 特别是植物的学名, 不少人对拉丁文的拼写并不熟悉, 很容易在输入时出现错误. 此外, 命名人的缩写有不同的格式, 稍有不慎, 拼写就会出问题. 此外, 将一个完整学名按照科, 属, 种加词, 命名人, 种下等级, 种下等级加词, 种下等级命名人填写, 也相当费时费力. 为此, herblabel程序包中提供了fill_dwc函数, 目的是, 依照模板中出现的中文名, 在herblabel内置的数据库内找到对应的学名, 并且查找该种对应的apgiii科, 并填写到模板中, 随后将学名按照属, 种加词, 命名人, 种下等级, 种下等级加词, 种下等级命名人等自动填写到模板中.
使用方法
在Excel模板DARWIN_CORE_HERBARIUM_RECORDS.xlsx中, 将中国植物志接受的中文名,或者plantlist给出的完整的拉丁名拷贝到对应Excel模板的 LOCAL_NAME 一列, 之后运行如下命令即可:
setwd("D:/herbarium/") ## 注意斜杠要向右
library(herblabel)
library(openxlsx)
dat <- read.xlsx("DARWIN_CORE_HERBARIUM_RECORDS.xlsx")
dwc_filled <- fill_dwc(dat) ### 检查拼写等
herbarium_label(dwc_filled, outfile = "herbarium_labels.rtf")
4.模板信息的保存与更新, 以及生成RTF文件的自动保存
如果用户不希望一次性打印Excel模板中所有的记录, 则应该用subset函数进行筛选 (参考 http://www.statmethods.net/management/subset.html). 但是更多人希望将每次打印的标本记录自动更新到一个完整的Excel记录中, 并且完整保存每次运行的Excel模板, 以及生成的RTF文件. 实际上笔者已经提供了运行herblabel程序包的R脚本 run_herblabel (https://github.com/helixcn/run_herblabel) .
使用方法如下:
1.下载 run_herblabel文件夹 (https://github.com/helixcn/run_herblabel/archive/master.zip, 并将master.zip解压缩到任意文件夹下, 如 D:/herblabel
2. run_herblabel下有两个文件夹, 分别命名为 herbarium label 和 annotation label
以herbarium_label文件夹为例, 该文件夹下有如下文件:
1. 文件夹:DARWIN_CORE_DB_SAVE, 里面有一个excel文件 darwin_core_database.xlsx , 该文件用来保存所有输入的记录.
2. 生成的标本标签文件: herbarium_labels_to_print.rtf, 可以用MS word打开并查看.
3. 标本记录模板: herbarium_specimens_label_data.xlsx, 在此Excel文件中输入数据
4. 运行herblabel的R脚本: print_label.R, 这是运行herblabel的核心程序, 如果你对R不熟悉, 请勿更改此R脚本, 该脚本用来提取当前文件夹的未知, 并且读取和保存相应的文件.
5. 标签文件的记录: RTF history, 每次运行批处理文件生成的RTF标签均保存在这里, 以时间作为文件名.
6. 用来调用print_label.R的Window批处理文件, 用来调用print_label.R来生成标签, 并保存相关文件.
7. 每一次标本标签记录的Excel文件: xlsx history
使用方法, 仅需配置好Rscript.exe的启动路径, 然后双击.bat文件即可:
设置启动路径的目的在于, 通过cmd可以直接调用Rscript.exe, Rscript.exe函数可以直接发送R脚本到R, 无须开启GUI. 如, 安装的R软件版本为3.2.3,则需要找到Rscript.exe所在的路径, 并添加到启动路径PATH中方法如下: 右键点击:
我的电脑>属性>高级>环境变量>系统变量 PATH一项,点击“编辑”,检查是否具有以下路径。通常软件在安装时已经自动配置好了启动路径。如Window7 64bit, 可在原有的路径上手工添加:
";C:Program FilesRR-3.2.4bin;C:Program FilesRR-3.2.4bini386;" (注意: 仅拷贝双引号里面的内容, 不包括双引号. 按照不同的系统, 应该以Rscript.exe的真实路径为准)到 PATH一项的最后. 首位的分号”;”必须保留.
填写好Excel模板, 双击 "Search Scientific Names and create RTF labels.bat" 文件, 即会弹出窗口, 进行标签信息的处理,直接生成标本标签, 并保存中间的所有结果.
引用herblabel程序包:
如果你使用了herblabel程序包, 请用如下方式引用
查看引用
citations("herblabel")
Jinlong Zhang (2016). herblabel: Making Labels for Herbarium
Specimens in RTF and More. R package version 0.4.4.
https://github.com/helixcn/herblabel
如果您对herblabel程序包有任何意见或建议, 请联系 jinlongzhang01@gmail.com 或 本人的qq 85168042
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 15:15
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社