通过重命名的照片整理植物名录

在生物多样性调查中, 数码照片是快速记录物种信息的手段之一。 调查人员如果对一个地点的植物已经足够熟悉, 无需将所有植物踏查结果写到记录本上, 而是对见到的每种植物拍照, 可回到办公室再进行鉴定和整理。 这样既提高了野外工作的效率, 也提高了鉴定的准确性。 植物照片, 作为的一广义的标本,若有疑问, 可以供专家进一步研究和分析, 并且, 实在有必要, 可以回到野外, 采集标本。

拍摄的照片, 一般是按照地点, 放到文件夹中。按照相机的品牌和型号不同, 照片的名称以IMG_,DSC或DSCN开头,后面是照片的顺序号, 除专业摄影师, 方便后期的处理, 保存为别的格式之外, 一般情况下, 照片均保存为.JPG格式。.JPG的扩展名一般不要修改, 否则在Windows中打开文件会遇到困难。

对照片的重命名, 一般用标准中文名称(中国植物志的正式中文名), 这样便于管理。依据照片中的物种, 为植物重命名, 一般加在.JPG之前, 而前面的IMG以及顺序号均保留。 一些浏览照片的程序包,如ACDSee, XnView等, 提供重命名的快捷方式, 以及批量重命名的方法;天南星等网友准备的植物名称词库, 也可以快速准确的输入中文植物名,因此, 如果对照片中的植物熟悉的话, 对照片重命名一般可以很快完成。

有了重命名的照片, 可以用以下方法,快速生成植物名录。这里仍然用本人比较熟悉的R软件:

(注意: 本功能已经置于 R 程序包 plantlist中, http://blog.sciencenet.cn/home.php?mod=space&uid=255662&do=blog&id=813796 , 用户只需给出路径, 即可获得结果, 该结果同时包括APGIII系统的分科)

以下代码仅供参考, 请使用最新版(Ver 0.0.4)的 tpllist
定义一个R函数:

1
2
3
4
5
6
7
8
9
10
11
12
cnplist <- function(path){
setwd(path)
temp.photo.list <- list.files()
photo.list <- temp.photo.list[grepl(".JPG", temp.photo.list)]
list.res <- list()
sp.list.cn <- unique(gsub(".JPG","",gsub("[0-9]","",gsub("DSC", "", gsub(pattern = "DSCN", "", gsub(pattern = "IMG_", replacement = "", x = photo.list))))))
sp.list.cn <- sp.list.cn[!sp.list.cn == ""]
sp.list.cn.data.frame <- as.data.frame(sp.list.cn)
res <- merge(x = sp.list.cn.data.frame, y = spdat, by.x = "sp.list.cn", by.y = "NAME_CN", all.x = TRUE )
write.csv(res, paste("checklist.csv", sep = ""))
return(res)
}

读取中文名学名对照表(参见本文附件 plantnames.csv ):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
spdat <- read.csv("plantnames.csv", header = TRUE)

#### 函数的使用方法举例
#### 列出梧桐寨瀑布文件夹下, 所有物种的名录
cnplist("C:\Plant photos database\2014\20140120梧桐寨瀑布")


#### 列出2014目录下,每个文件夹中包括的物种名:

dirs <- "C:\Plant photos database\2014"
aaa <- list.dirs(dirs)
for(i in 1:length(aaa)){
cnplist(aaa[i])
}