2018年10月第5期
城㊀市㊀勘㊀测
UrbanGeotechnicalInvestigation&Surveying
Oct.2018No.5
文章编号:1672-8262(2018)05-37-05中图分类号:P208 2
文献标识码:A
基于移动平台的园林树木辅助查询识别系统设计与实现
袁春东∗ꎬ王雷ꎬ刘占林
∗㊀收稿日期:2018 03 17
作者简介:袁春东(1973 )ꎬ男ꎬ高级工程师ꎬ主要从事测绘及地理信息应用技术质量管理工作ꎮ
(南通市测绘院有限公司ꎬ江苏南通㊀226006)
摘㊀要:近年来ꎬ各地为加强对城市园林建设的管理ꎬ纷纷开展城市园林绿化调查ꎬ承接和实施此类项
目的多为测绘单位ꎮ而测绘人员是园林树木识别的 门外汉 ꎬ如何让调查作业人员迅速地掌握园林树木识别和准确判断树木种类成为项目实施质量的关键ꎮ通过对大量树木的统计调查和归纳总结ꎬ我们设计并开发了基于安卓手机和平板电脑等移动平台的园林树木辅助查询识别系统ꎬ可以为外业调查人员实时提供树木名称查询和种类识别ꎬ大大加快了调查效率ꎬ同时也提高了工作质量ꎮ
关键词:绿化调查ꎻ园林树木ꎻ移动平台ꎻ查询识别
1㊀引㊀言
近年来ꎬ各地为加强城市园林建设的管理ꎬ纷纷开
展城市园林绿化调查ꎬ承接和实施此类项目的多为测绘单位ꎮ通过多个调查项目的实施ꎬ我们发现一般的地级市城区园林树木种类能达到300多种ꎬ县级城区园林树木种类也近200种[1]ꎮ而测绘人员是园林树木识别的 门外汉 ꎬ如何让项目外业调查人员迅速掌握园林树木识别方法和准确辨别树木名称成为保障项目实施质量的关键ꎮ
外业调查是园林绿化调查的主体ꎬ而树种是重要的调查因子和外业调查的基础ꎮ能够在调查现场实时㊁准确㊁快速地查询到树木学名ꎬ是外业调查中亟待解决的问题ꎮ调查人员在野外树种识别过程中ꎬ特别希望利用一个便携的树种识别工具ꎬ帮助他们以尽量少的树木形态特征输入来快速准确地检索树种ꎮ为
此我们设计并开发了基于安卓手机和平板电脑等移动平台的园林树木辅助查询识别系统ꎬ辅助外业调查人员进行现场树木名称查询和种类识别ꎬ并作为他们学习园林树木识别的辅助工具ꎮ
2㊀系统方案设计
2 1㊀设计思路
通过归纳总结园林树木的生物学特征[2]ꎬ建立树
木形态特征属性集和各树种形态特征的属性数据集ꎬ收集整理园林树木的图片和文字信息ꎬ建立园林树木的信息库ꎻ基于安卓手机和平板电脑等移动平台开发系统ꎬ在系统内选择输入树木的形态特征属性ꎬ与信息库内各树种形态特征的属性数据集进行匹配检索ꎬ查
出符合条件的树木名称ꎬ通过调阅树木的图片或文字介绍ꎬ现场与调查树木进行比对ꎬ辅助准确识别树木种类ꎮ系统开发流程如图1所示
图1㊀系统开发流程图
2 2㊀平台选择
Android操作系统因其功能强大㊁使用方便㊁价格
便宜且是开源性操作系统ꎬ已经成为世界上最受欢迎的智能手机平台ꎬ因此本系统采用Android平台开发ꎮAndroid软件平台主要由五部分构成ꎬ如图2所示ꎬ它们分别是:关键应用程序㊁应用程序框架和组件㊁C/C++函数库㊁Java程序运行环境㊁优化了的Linux内核ꎬ为
移动端打造真正开放和完整的移动软件ꎬ主要使用于智能手机和平板电脑等移动设备ꎮAndroid平台具有良好的开发性ꎬ易于实现数据存储㊁数据查询和数据展现等功能ꎮ数据库采用Android内置的轻量级关系型数据库SQLiteꎮ它占用的资源非常少ꎬ所以很多嵌入式设备都是用它来存储数据ꎮ
Android平台为开发者提供了源码开放的软件开
发包(SDK)ꎬ它包含了使用Java语言开发Android平台应用的必要工具和组件(API)ꎮ进行开发前先要建
立合适的开发环境ꎬ其中基于Java的整合型可扩展平台Eclipse是我们开发工具的首选ꎮ
城㊀市㊀勘㊀测2018年10
图2㊀Android系统架构图
2 3㊀系统功能
如图3所示ꎬ主要包括按树木名称查询㊁按树木形
态查询和按树木科属查询以及按树木名称㊁树木形态组合查询等ꎬ可以查看树木的各部位图片信息㊁文字信息以及有哪些相似树种和同属树种
图3㊀系统功能图
3㊀基础数据库设计
3 1㊀整理园林树木识别图库
作为园林树木辅助查询识别系统的基础数据ꎬ需
先整理园林树木识别图库ꎬ图库采用分级文件夹的方式对园林树木图片进行存放ꎮ在名为 园林树木识别图库 的一级目录下ꎬ按照树木的 科名+属名 方法建立二级子目录ꎬ如 蔷薇科桃属 ꎻ在二级子目录下按照树木中文学名建立三级目录ꎬ如 榆叶梅 ꎮ在三级目录下按照树木的 株态㊁树干㊁枝㊁叶㊁花㊁果 命名并顺序存放相应图片ꎬ要求图片清晰并能准确反映树木形态和特征ꎬ如可能的情况下再存放一些四季形态的图片ꎮ
3 2㊀编制园林树木识别特征表为系统查询和识别需要ꎬ还需编制园林树木识别
特征表ꎬ采用Excel表格式ꎬ分Sheet1表和Sheet2表ꎮ
Shee1表里存放的是树木的形态特征术语ꎬ在综合考
虑各查询要素全面性和系统内查询条件的下级展开需要后ꎬ我们将树木部位分为形态㊁树形㊁树皮㊁树皮㊁枝干㊁小枝㊁叶序㊁叶脉㊁叶形㊁叶先端㊁叶缘㊁叶片㊁复叶㊁花㊁花期㊁果16类ꎬ与每一类配套的形态术语为描述树木形态的术语ꎬ考虑到外业调查人员多为非园艺专业人员ꎬ术语为专业叫法和通俗叫法的组合ꎮ如 叶序 的形态术语包括对生㊁互生㊁近对生㊁交互对生㊁轮生㊁螺旋状生㊁簇生㊁轮状簇生㊁复叶对生㊁复叶互生㊁2
针一束㊁3针一束㊁5针一束㊁多针一束ꎬ 果 的形态术语包括干果㊁荚果㊁翅果㊁球形果㊁开口果㊁刺球果㊁念珠果㊁绒毛果㊁坛状果㊁灯笼果㊁小黑果㊁小绿果㊁小红果㊁小黄果㊁小灰果㊁小白果ꎮ如表1所示ꎮ
形态术语表㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀表1
部位形态术语
形态
乔木㊁小乔木㊁灌木㊁藤本㊁水生植物㊁草本㊁四季草花㊁常绿㊁半常绿㊁落叶㊁高大㊁低矮㊁干直挺㊁枝叶疏散㊁枝条开展㊁枝直伸㊁枝曲折㊁拱形下垂㊁细长下垂
树形
卵形冠㊁倒卵形冠㊁广卵形冠㊁圆球形㊁平顶㊁伞形㊁尖塔形㊁圆锥形㊁圆柱形㊁棕榈形㊁短干手形㊁扫帚形㊁多杆丛生㊁球灌㊁丛生
树皮
linux内核设计与实现 pdf
光滑㊁粗糙㊁细纹裂㊁浅裂㊁纵裂㊁浅纵裂㊁深纵裂㊁不规则开裂㊁横向浅裂㊁方块状开裂㊁鳞状开裂㊁鳞状剥落㊁片状剥落㊁纸状剥落㊁条状剥落㊁有焦油㊁有斑㊁横向环纹
树皮
黑㊁黑褐㊁灰㊁深灰㊁灰黑㊁灰褐㊁灰黄㊁灰白㊁红褐㊁黄褐㊁红棕㊁紫红皮㊁紫灰㊁褐紫㊁暗红㊁栗褐㊁绿皮
枝干
弯曲㊁瘤状突起㊁刺毛㊁短刺㊁长刺㊁刺状短枝㊁钩刺㊁有横纹㊁皮孔明显㊁小皮孔㊁叶痕突起㊁短枝十字互生
第5期袁春东等 基于移动平台的园林树木辅助查询识别系统设计与实现
续表1
小枝绿枝㊁绿褐枝㊁红褐枝㊁紫褐枝㊁褐枝㊁灰枝㊁灰白枝㊁灰黄枝㊁灰褐枝㊁灰绿枝㊁黄褐枝㊁黄绿枝㊁金黄枝㊁四棱形㊁近四棱㊁稍见四棱㊁有棱㊁中空㊁片状髓㊁有绒毛㊁油亮㊁宽木栓翅㊁小枝粗壮㊁不易折断
叶序对生㊁互生㊁近对生㊁交互对生㊁轮生㊁螺旋状生㊁簇生㊁轮状簇生㊁复叶对生㊁复叶互生㊁2针一束㊁3针一束㊁5针一束㊁多针一束
叶脉网状脉㊁掌状脉㊁平行脉㊁弧形脉㊁基生三出脉㊁离基三出脉㊁叶脉明显㊁叶脉不明显㊁中脉明显
叶形鳞叶㊁刺形㊁条形㊁针形㊁披针形㊁狭披针形㊁三角形㊁心形㊁肾形㊁扇形㊁羽毛形㊁菱形㊁匙形㊁卵形㊁长卵形㊁广卵形㊁倒卵形㊁近圆形㊁椭圆形㊁长椭圆形㊁剑形㊁狭长㊁基部不对称㊁反曲
叶先端长渐尖㊁渐尖㊁急尖㊁凸尖㊁芒尖㊁尾尖㊁钝尖㊁微凸㊁圆形端㊁平截㊁微凹㊁凹缺㊁倒心形㊁二裂
叶缘全缘㊁波状㊁浅波状㊁深波状㊁芒齿㊁细锯齿㊁粗锯齿㊁钝锯齿㊁重锯齿㊁尖硬齿㊁疏齿㊁上部锯齿㊁不整齐锯齿㊁浅裂㊁深裂㊁不规则裂㊁羽状裂㊁3裂㊁5裂㊁5~7裂㊁7裂以上
叶片大叶㊁小叶㊁长叶柄㊁短叶柄㊁革质㊁厚革质㊁薄革质㊁纸质㊁绿㊁紫绿㊁红㊁紫红㊁
黄㊁黄绿㊁金边㊁花叶㊁褶皱㊁有光泽㊁有绒毛㊁有硬毛㊁有斑点㊁有腺点㊁叶轴具翅㊁肾形托叶㊁篦齿状托叶
复叶单身复叶㊁掌状复叶㊁羽状复叶㊁偶数羽状复叶㊁奇数羽状复叶㊁三出复叶㊁五出㊁六出㊁七出㊁一回㊁二回㊁三回㊁3小叶㊁5小叶㊁7小叶㊁9小叶㊁12小叶以上
花花梗长㊁花梗短㊁贴梗长㊁花聚生㊁花单生㊁伞状花序㊁喇叭形花㊁穗状花㊁大花㊁小花㊁蓝花㊁紫花㊁红花㊁粉红花㊁粉花㊁粉白花㊁白花㊁黄花㊁淡黄花㊁绿白花㊁黄绿花㊁4瓣㊁5瓣
花期先叶开花㊁花叶同开㊁先叶后花㊁1月㊁2月㊁3月㊁4月㊁5月㊁6月㊁7月㊁8月㊁9月㊁10月㊁11月㊁12月
干果㊁荚果㊁翅果㊁球形果㊁开口果㊁刺球果㊁念珠果㊁绒毛果㊁坛状果㊁灯笼果㊁小黑果㊁小绿果㊁小红果㊁小黄果㊁小灰果㊁小白果
Sheet2表里存放的是树木的名称㊁代码㊁主要识别特
征㊁科㊁属㊁别称㊁相似树种㊁详细介绍ꎬ 主要识别特征 栏内放置Sheet1表内规定的形态术语ꎮ如表2所示:
树木基本信息表㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀表2
名称代码主要识别特征科属别称相似树种
夏鹃DJ灌木㊁半常绿㊁丛生㊁
花瓣状生㊁小叶㊁椭
圆形㊁圆形端㊁紫绿
㊁有光泽㊁有绒毛㊁
5月㊁6月
杜鹃花杜鹃花
紫鹃㊁西
洋鹃㊁皋
月杜鹃
毛鹃
4㊀系统功能实现
系统采用Android内置的轻量级关系型数据库SQLite作为数据库ꎬ系统运行需要基础数据的支持ꎬ即园林树木识别图库和园林树木识别特征表ꎬ需要将它们放在系统内置存储卡上ꎬ通过编写的程序将园林树木识别特征表导入到对应的数据库表中ꎬ这样就实现了系统与数据库的连接ꎮ通过用户输入的树木名称
(代码)㊁树木形态及科属ꎬ去后台通过模糊查询的方式获取对应的树木名称ꎬ再去园林树木识别图库中到该树木名称的图片ꎮ因为考虑到图库文件占用的内存存储空间比较大ꎬAndroid平台中应用程序对图片的大小也有限制ꎬ所以我们对图库文件进行了等比例等质量压缩ꎬ确保图片清晰ꎬ不模糊ꎬ外观不变形ꎮ算法如下ꎮ
publicstaticBitmapgetimage(StringsrcPathꎬintwidthꎬintheight){
BitmapFactory.OptionsnewOpts=newBitmapFactory.
Options()ꎻ
newOpts.inJustDecodeBounds=trueꎻ
Bitmapbitmap=BitmapFactory.decodeFile(srcPathꎬne ̄wOpts)ꎻnewOpts.inJustDecodeBounds=falseꎻ
intw=newOpts.outWidthꎻ
inth=newOpts.outHeightꎻ
floathh=heightꎻ
floatww=widthꎻ
intbe=1ꎻ
if(w>h&&w>ww){
㊀㊀be=(int)(newOpts.outWidth/ww)ꎻ
}elseif(w<h&&h>hh){
㊀㊀be=(int)(newOpts.outHeight/hh)ꎻ
}
if(be<=0)
㊀㊀be=1ꎻ
newOpts.inSampleSize=beꎻ
bitmap=BitmapFactory.decodeFile(srcPathꎬnewOpts)ꎻ
returncompressImage(bitmap)ꎻ
}
publicstaticBitmapcompressImage(Bitmapimage){
ByteArrayOutputStreambaos=newByteArrayOutputStream()ꎻimage.compress(Bitmap.CompressFormat.JPE
Gꎬ100ꎬbaos)ꎻintoptions=100ꎻ
while(baos.toByteArray().length/1024>100){
㊀㊀baos.reset()ꎻ
㊀㊀options-=10ꎻ
image.compress(Bitmap.CompressFormat.JPEGꎬoptionsꎬbaos)ꎻ
}
ByteArrayInputStreamisBm=newByteArrayInputStream(baos.toByteArray())ꎻ
Bitmapbitmap=BitmapFactory.decodeStream(isBmꎬnullꎬnull)ꎻ
returnbitmapꎻ
}
其中树木图片展示用到了ViewPagerꎬ它是An ̄droid扩展包v4包中的类ꎬ可以用来实现屏幕间的自由切换ꎬ通过反复浏览树木各部位图片信息大大加深
93
城㊀市㊀勘㊀测2018年10月
了用户对该树木品种的记忆ꎬ也为日后识别该树木品种打下了基础ꎮ
为了让系统界面简洁和易于操作ꎬ我们对系统界面进行了精心设计ꎮ系统的三种查询方式为按树木名称㊁按树木形态㊁按树木科属ꎬ其中按树木名称和树木形态可组合查询ꎬ点击ʌ全部ɔ则将图库中全部树木名称均显示出来ꎮ如图4所示
图4㊀系统主界面
4 1㊀按树木名称查询
勾选 按树木名称查询 后ꎬ通过输入树木名称㊁
别称或代码进行模糊查询ꎮ系统先检索园林树木识别特征表ꎬ检索到相关信息并读取树木名称ꎬ再根据树木名称检索图库中的三级目录名称来调取图片ꎬ并将检索到的信息按树木名称依次显示在系统界面下方列表ꎬ同时显示代码㊁类型(灌木㊁乔木还是水生植物等)㊁科属ꎮ如图5所示
图5㊀树木名称查询
点击列表某一行ꎬ可以查看相关树种信息ꎬ默认选择是图库ꎬ可自己选择其他查看项ꎬ如详细介绍㊁相似树种㊁同属树种ꎮ查看图库时ꎬ可滑动循环及放大缩小查看图片信息ꎬ标题栏显示的是图片名称ꎮ按移动平
台自带的返回键返回系统主界面ꎬ可以继续查看列表其他树种的各项信息ꎮ
4 2㊀按树木形态查询勾选 按树木形态查询 后ꎬ系统读取园林树木识
别特征表中sheet1表的树木部位名称展开二级查询菜单ꎬ显示可供选择的树木部位ꎮ选择要查询的树木部位(可单选或组合)ꎬ下方会显示对应文本框ꎬ点击文本框后ꎬ系统读取园林树木识别特征表中形态术语供用户选择特征ꎮ如图6㊁图7所示
图6㊀
树木形态查询
图7㊀选择树木特征
点击ʌ查询ɔꎬ系统根据园林树木识别特征表中
Sheet2表的主要识别特征进行检索ꎬ将检索到的完全符合特征条件的树木名称以列表形式显示ꎮ此时将 按树木形态查询 前的勾选框取消ꎬ可收回二级查询菜单ꎬ让
界面下方列表多显示几行信息ꎬ以方便用户浏览ꎮ
4 3㊀按树木科属查询
勾选 按树木科属查询 后ꎬ系统检索园林树木识
别特征表中sheet1表的科㊁属信息ꎬ将检索到的符合条件的树木名称以列表形式显示ꎮ点击ʌ清空ɔꎬ清空列表内容ꎬ如图8所示ꎮ图9为点击列表某一行查看该树木的图片信息ꎮ
第5期袁春东等
基于移动平台的园林树木辅助查询识别系统设计与实现
图8㊀
树木科属查询
图9㊀树木图片展示
5㊀结㊀语
通过南通市园林绿化调查项目的生产实践ꎬ技术
人员先后掌握了200多种树木的特征ꎬ在对各类树种
归纳总结的基础上ꎬ研发了园林树木辅助查询识别系统ꎮ该系统操作方便㊁识别率高ꎬ有效解决了外业调查人员不认识树㊁忘记树名或代码㊁对相似树种判断不准等问题ꎬ大大提高了园林树木调查工作效率ꎬ保障了园林绿化调查项目的项目进度和成果质量ꎮ同时系统也存在一些不足之处ꎬ主要是资料收集方面还需要扩充
更多的植物种类ꎬ可增加每种植物的基本信息和图片信息等ꎬ还有系统的研发主要面向于单机的使用ꎬ单机系统具有局限性ꎬ数据及程序的共享性不高ꎬ还有待通过生产实践进一步完善[6]ꎮ
参考文献
[1]㊀李贞ꎬ潘娜ꎬ唐昱等.驻马店市园林绿化资源普查及结果
分析[J].现代园艺ꎬ2015.
[2]㊀蓝苏榕.基于树木生物学特征的树种检索系统的研究和
实现[D].北京:北京林业大学ꎬ2014.
[3]㊀唐义富.园艺植物识别与应用[M].北京:中国农业大学
出版社ꎬ2013.
[4]㊀布凤琴ꎬ宋凤ꎬ臧德奎.300种常见园林树木识别图鉴
[M].北京:化学工业出版社ꎬ2014.
[5]㊀王伟ꎬ王秀兰ꎬ冯仲科等.基于Android手机的树木叶片
识别系统[J].广东农业科学ꎬ2014.
[6]㊀张巧ꎬ郭泰圣ꎬ刘洪杰等.园林绿化植物选配计算机辅助
系统设计与实现[J].华南师范大学学报 自然科学版ꎬ2011.
DevelopmentandApplicationofLandscapeTreesIdentification
SystemBasedonMobilePlatform
YuanChundongꎬWangLeiꎬLiuZhanlin
(NantongSurveyingandMappingInstituteꎬNantong226006ꎬChina)
Abstract:Inrecentyearsꎬtostrengthenthemanagementofthegardenmaintenanceꎬmanycitieshavelaunchedin ̄vestigationoflandscapegardening.Theseprojectsareoftenimplementedbysurveyingandmappingcompany.Mostofthesurveyorsare outsider inplantidentification.Tomaketheinvestigatorsidentifytheplantquicklyandaccuratelybe ̄comesakeypointintheseprojects.Inthispaperꎬwehavedesignedanddevelopedamobileapplicationbasedonandroidphonesandtabletstoassisttheinvestigators work.Surveyorscansearchandscanplantinformationconveniently.This
mobileapplicationhasplayedanimportantroleinthesesurveyprojects.
Keywords:greensurveyꎻlandscapegardeningꎻmobileplatformꎻidentification

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。