赵燕东 涂佳炎
(1.北京林业大学工学院,北京 100083;2.北京林业大学城乡生态环境北京实验室,北京 100083)
林业资源调查中的面积测量、林区样地采集在森林资源和生态环境监测及评价中十分重要,面积测绘以及样地智能选取的手段、方法和功效直接影响森林资源调查的结果和有效性[1-2]。
目前国内外林区巡检及测绘测量的主要手段包括全站仪测绘法、地形图勾绘法以及手持全球定位系统(Global positioning system,GPS)仪测量法[3-4]。杨平[5]研究了基于GPS技术的林区巡检系统,设计了GPS手持机和后台林区巡护管理系统,使森林巡检技术实现了一定程度上的信息化;黄颖[6]提出了基于北斗卫星定位技术的林业野外巡护管理方法。全站仪测绘法测量成本高,操作相对复杂,而且能测的林区面积范围有限;地形图勾绘法误差相对较大,工作复杂;而GPS测量是近年来采用比较多的方法。林区样地采集主要还是依靠人工丈量确定,效率与准确性较低,而且信息不便于统一管理[7-9]。
目前定位方式主要包括GPS定位、网络基站定位以及北斗卫星定位。其中,网络定位是基于基站的定位,在一些偏远林区,无法搜索到基站信号,因此无法成功定位,而且定位精度一般在50~200 m不等,这在林区巡检中无法满足面积测量的工程精度要求。目前大部分定点巡检采用GPS巡检方式,GPS是目前全球使用覆盖率最大的一种定位技术,定位精度较高,不同于网络定位需依赖于基站,在偏远林区也能实现精准定位,但是基于GPS巡检研究中,一方面是极少存在地图可视化功能,另一方面是由于某些干扰因素造成定位存在误差,未能将误差过大的点剔除,造成面积测绘误差太大[10-14]。鉴于目前森林面积测绘技术中存在的问题,本文采用北斗卫星定位方式,北斗卫星导航系统(Beidou navigation satellite system,BDS)是由我国自行研制的全球卫星定位导航系统,相对GPS系统,北斗卫星导航系统有较明显的优势[15-16]。
本文通过集成可视化地图工具包显示巡检采样点,利用距离偏移过滤算法剔除误差大的定位点,并将采集的经纬度坐标投影为墨卡托坐标用于面积计算,最后采用矢量三角面积算法计算巡检轨迹的区域面积。
巡检网络平台系统如图1所示,由北斗定位终端搜索北斗信号获取位置坐标信息,将接收的数据包通过蓝牙传输给移动智能终端软件,在该终端进行相应的轨迹可视化与面积计算,然后将处理完成的数据包通过移动网络传输至云服务器的数据库存储备份,最后Web管理终端可通过超文本传输协议从服务器端获取最新的数据信息,与巡检智能移动终端保持同步。
图1 基于“互联网+”的林区智能巡检网络平台Fig.1 Intelligent inspection network platform based on“Internet plus”
北斗定位终端主要用于当前位置信息的获取,其硬件由BD-228型定位模块、STM32F103ZET6型芯片、功能按键、蓝牙模块、灯光指示以及电源模块组成,如图2所示。采用意法半导体公司基于Cortex-M3内核开发的STM32F103ZET6型处理器芯片作为该硬件系统的中心控制单元,它的特点是高性能、低功耗,具有112路增强型通用输入、输出口(General purpose input output,GPIO),可实现与外设50 MHz的数据传输速率,工作温度范围是-40~85℃[17-18]。
图2 北斗定位终端硬件组成Fig.2 Hardware of Beidou positioning terminal
BD-228型定位模块是支持北斗(BD1)和GPS的双模定位模块,通过搜集北斗卫星导航系统的卫星信号,获取定位信息,将数据输送给STM32F103ZET6型芯片处理,该模块输出的数据格式符合美国国家海洋电子协会制定的NEMA-0183数据协议。协议采用ASCII码字符串流,其串行通信默认参数为:波特率4 800 bps,数据位8 bit,无奇偶校验。协议帧包含了世界统一时间(Coordinated universal time,UTC)和日期(BDZDA)、全球定位数据(BDGGA)、推荐定位信息(BDRMC)等7种命令,在该系统内主要解析的是BDGGA和BDRMC两个命令格式,首先解析BDRMC中的定位状态码是否有效,若有效再通过解析BDGGA获得当前经纬度、定位精确度、平移速度、海拔等必要信息[19-20]。最后再通过蓝牙4.0模块,利用透传将获取的位置数据发送给移动终端软件。
智能移动终端软件、云服务器、数据库、Web终端构成了该系统的软件管理平台。移动终端应用软件基于Android 5.0系统开发,内置SQlite轻量级数据库,可将定位数据长期保存在本地,减少网络流量的消耗。基于可视化要求,在软件内引入目前国内常用的百度地图系统。百度地图的覆盖率高,更新快,可完全满足偏远林区巡检可视化要求。百度地图提供了一套可靠的软件开发工具包(Software development kit,SDK),适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以访问百度地图服务和数据,利用北斗定位终端传递过来的当前位置信息,在地图上显示出当前坐标点,描述巡检轨迹等。同时移动终端利用后台搭建的接口上传位置信息至云服务器端保存,后台搭建在阿里云上,采用MySQL数据库,MySQL核心线程为完全多线程,支持多处理器,运行速度快。Web终端可在管理控制中心连接服务器实时获取巡检人员位置及巡查结果,及时作出相应决策。
针对传统纸质和简单电子巡检存在的问题,在整合了实际林区巡检管理需求的基础上,本文设计的手持巡检仪终端基于“互联网+”模式并结合Android操作系统、地理信息服务(Location based service,LBS)实现了智能化巡检。
林区巡检主要分为巡检任务下发、巡林员实地巡检以及巡检结果统计处理。本研究采取的智能巡检策略如图3所示。
图3 智能巡检策略Fig.3 Strategy of intelligent inspection
林区管理调度中心由Web管理终端直接将巡检任务信息通过网络下发到手持巡检仪终端。在Web管理终端将巡检点的经纬度信息提交至云服务器,巡检仪终端软件连接云服务器获取巡检任务信息符合Http1.1协议,保证数据传输的安全性。通过Http发起Get请求获取巡检任务的数据包,返回的数据包为JSON(JavaScript object notation)格式的数据,具体的JSON格式协议如下
{" locinfo ":["locname":"","locid":"","lat":"","lng":"","note":""],"ischeck":"","historyid":""}
其中,locname表示位置点名称,locid表示位置编号,lat表示纬度,lng表示经度,note表示具体巡检任务信息,ischeck表示是否为巡检复查任务,historyid为历史巡检编号。
LBS地理信息服务用于提供基础地图服务、定位及轨迹描绘接口。巡检仪自动生成巡检规划路径的步骤如图4所示。
图4 巡检路径规划流程图Fig.4 Flow chart of planning of inspection path
由于林区环境特殊,LBS地理信息服务无法为林区提供按林区道路的导航服务。若根据下发的任务点信息,只能将任务点按顺序连接构成点到点的方向性导航路径。本研究利用SQLite数据库存储历史巡检实际路径信息,实现了巡检路径的优化。
在初期下发巡检任务时,本地无历史数据信息,则直接调用地图服务的地图标记绘制接口,将任务点按编号用直线连接构成任务规划路径,结合北斗终端提供的实时位置信息提供方向性的导航。巡检中定时获取实时位置保存在本地SQLite数据库,并实时将数据通过网络上传至云服务器,利用Http协议发起Post请求,将数据存储在云服务器的数据库,与Web管理终端保持信息同步。
为了在后续巡检任务中获得更准确的林区任务导航路径,在巡检仪内部数据库建立两张表存储任务点之间的历史实际巡检路径信息。数据库中的表如表1、2所示。
表1 目标点信息Tab.1 Target point information
表2 实际巡检轨迹Tab.2 Actual track of inspection
在表1中存储任务点概况,即当下发数据得到任务点时,利用任务点名称,在表1中搜索是否存在对应两个相邻任务点的信息,若存在则取出时间t1与t2以及路径名称,联系表2根据路径名查询时间在t1与t2之间所有位置点经纬度信息,最后利用所有查询取出的坐标信息,在地图上生成的规划路径则为优化后的按林区道路的实际轨迹,同时利用历史数据还可预测相邻点之间的巡检路径长度信息与耗时信息。
若下发数据包经GSON库解析得到的是巡检复查指令,则根据巡检路径编号从巡检历史详细数据表查询对应的巡检轨迹作为巡检规划导航图,利用这种方式可实现完整的巡检复查。
所有巡检结果在本地数据库和云服务器都有备份,在巡检仪软件终端利用ExcelUtils库可按模板将数据从本地数据库中查询取出,导出生成Excel报表文件提供给林区管理调度中心作进一步分析处理。
利用手持巡检仪终端获取的地理坐标为经纬度坐标。获取的原始坐标类型为2000国家大地坐标系(China geodetic coordinate system 2000,CGCS 2000),针对获取的原始坐标数据,还需做一系列的数据处理才能进行面积测算。
首先在巡检打点中可能存在某些采样点偏差过大,不符合工程精度要求,影响最终的面积计算结果,所以需要滤波算法将这些点剔除;另外在面积计算中需要把经纬度坐标转换到适合当地局部坐标的墨卡托投影平面坐标系下才能进行计算,最终针对不规则的平面图形计算闭合区域的面积。
北斗手持巡检仪在获取位置信息时,有可能会出现顶部遮挡物、卫星时钟误差等因素的影响,造成定位获取的位置信息相对真实位置偏差过大而不符合工程测量的要求。这些点称为定位中的漂移点,它们将会加大最终面积测量的误差。针对这些漂移点,本研究提出了精度阈值过滤结合距离偏移过滤的算法来选择性剔除不符合工程要求的漂移点。总体处理流程图如图5所示。
图5 漂移点过滤流程图Fig.5 Flow chart of filtering drift points
精度阈值过滤即根据获取的定位精度,选择性过滤精度大于设定阈值的采样点。在林业测绘中,一般认为定位精度在10 m以内都是可以接受的,因此在该系统中将精度阈值设为10 m,当获取的定位精度信息大于10 m时,剔除该采样点数据,即不存入数据库。
距离偏移过滤算法以2个采样点间的距离为判断基础。在系统中记录前一个定位采样点和当前采样点的经纬度信息,同时,记录此位移过程中的速度变化,得到该区间的速度最大值Vm,以及2个点的采样间隔时间t。
由经纬度信息可计算得到这两点之间的直线距离d,再由最大速度与采样间隔时间的乘积可得理论最大距离r,r则为过滤算法的阈值,当d>r时,表示当前点的偏移距离过大,应该剔除。
手持巡检仪终端直接获取的北斗定位坐标是在球心坐标系下的经纬度坐标,这是一种基于球体的曲面坐标。经纬度坐标无法直接用于林区面积的计算,所以在林业工程中,面积测绘需要将球面经纬度坐标投影到平面上的墨卡托公里网坐标才能进行计算,因此引入了墨卡托投影变换算法。
墨卡托投影是一种角度不变的投影模式,故又称作等角正切圆柱投影。其原理如图6所示,用一个圆柱体与地球相切,假设在地球中心有一光源向外发出散射光,地球上的点投影在圆柱体上即投影后的坐标,可得切线也就是赤道,即为投影过后的X轴,而本初子午线投影在圆柱体上所在的直线就是Y轴[21]。
图6 墨卡托投影原理Fig.6 Principle of Mercator projection
根据等角条件可推算出墨卡托投影的计算公式为
(1)
式中B——纬度
L——经度
x——投影后横坐标
y——投影后纵坐标
R——地球半径,m
根据式(1)可将北斗定位获取的经纬度坐标转换为墨卡托平面公里网坐标。
森林巡检的轨迹实际上是一个不规则的多边形。对于不规则多边形的面积计算,最常用的方法是三角形分割法。即在多边形内部取一点,与各个顶点连线,这样就把多边形分成了若干个三角形,这样多边形的面积计算就转换成了求若干个三角形的面积和。但是这种方法存在一定的缺陷,主要表现在多边形是带有凹角的多边形,即多边形的内角有大于180°的情况。在这种情况下,利用三角形分割法计算出来的面积将会比实际的面积偏大,误差较大,不符合工程要求。
针对以上问题,在该系统中,采用了向量积三角求和,如图7所示。
图7 矢量三角形面积算法Fig.7 Vector triangle area algorithm
图7中是一个不规则的多边形,将每个顶点与O连接,这样在图中构成了7个三角形,多边形的面积也就变成了这7个三角形的矢量面积之和。矢量面积即根据二维向量叉乘所求出的三角形面积。△OAB的面积计算公式为
(2)
式中SOAB——△OAB的面积
假设A点坐标是(x1,y1),B点坐标为(x2,y2),式(2)可表示为
(3)
则不规则多边形的面积公式为
(4)
式中SΩ——不规则多边形面积
n——不规则多边形顶点数
k——顶点编号
xk——第k个点的横坐标
yk——第k个点的纵坐标
利用式(4),结合墨卡托平面公里网坐标就能计算出林区巡检面积。
样地采集的目的是在林区内某个位置点划分出固定面积的方形区域。通过定位及智能终端内置的方向传感器可得到经纬度坐标及方位信息,再结合目标面积,计算得出另外3个顶点的经纬度坐标,确定一个两边平行于赤道的方形。
计算目标坐标点需结合实际的平面距离与经纬度的关系,因此系统利用了墨卡托投影坐标。先将当前已知位置的经纬度投影到公里网坐标,根据目标面积计算得出边长后结合方位角可得到其他3个顶点的墨卡托公里网坐标,方位角信息用于确定另外3个点的坐标在当前位置的西北、西南、东北或东南。最后将墨卡托公里网坐标转换成经纬度坐标显示在地图上。具体的计算流程如图8所示。
图8 样地选取计算流程图Fig.8 Flow chart of intelligent selection of sampling sites
其中,根据墨卡托投影原理及计算公式可知,由投影坐标转换为经纬度坐标的公式为
(5)
为了验证系统的精度和可靠性,同时为了方便与真值进行比较,使用该系统在全国多地进行了测试。首先在鹫峰林区进行了北斗系统与GPS的定位对比试验,然后在北京林业大学体育场进行了设备精度分析,最后在北京奥林匹克森林公园内以及河南鄢陵龙源花木基地进行了巡检面积测绘试验。
北斗系统相对GPS系统在国内的覆盖性更好,主要体现在国内的任何位置都能快速搜索到北斗卫星以获取定位信息,同时具有在无移动网络的条件下进行短报文通信的优势,本研究使用带有GPS系统和北斗系统双模式的智能移动终端在鹫峰林区内进行了试验验证。
试验采用北斗系统与GPS系统两种单一定位模式进行了10次定位,统计定位成功的平均耗时,同时利用北斗系统进行短报文通信试验,试验结果如表3所示。
经数据分析可知,在林区内,北斗系统定位相对GPS系统定位速度更快,覆盖性好,同时在移动网络信号较弱的地区可保证98%以上的短报文通信成功率,综上可知北斗系统完全适合林区工程作业。
在开始研究之前,需要对巡检终端内置的北斗模块进行精度分析,检验精度标准是否能达到工程测量要求。
表3 北斗系统与GPS系统对比试验结果Tab.3 Comparison experiment result of BDS and GPS
试验全程仅使用北斗系统定位,无网络环境影响,以成人正常行走速度绕学校体育场5圈,每2 s保存一次定位经纬度信息与精度信息,试验重复2次。第1次试验总用时26 min。数据库共记录有效定位信息795条;第2次试验总用时28 min,记录有效定位信息851条。所得数据如表4所示。
表4 定位精度试验结果Tab.4 Experiment result of positioning accuracy
经数据分析,第1次试验中,精度小于5 m的精准定位率达到了78.99%,小于10 m的精准定位率达到了98.11%,满足工程测量精度要求;第2次试验中,精度小于5 m的精准定位率达到了76.73%,小于10 m的精准定位率达到了97.30%,满足工程测量精度要求。
因此可认为本文设计的北斗设备所采集的位置信息是可靠的,误差偏大的点较少,选择性剔除后即可用于林业面积测量。
4.3.1奥林匹克森林公园试验
试验中,由2人分别携带5台各参数完全相同的设备,以成人正常的步行速度绕森林公园南园一周,试验结果如图9所示。
图9 森林公园巡检结果Fig.9 Experiment result of forest park
经考察取证,试验所绕南园的实际面积约为35.5万m2,所得试验数据如表5所示。
4.3.2鄢陵花木基地试验
试验中,由1人携带5台各参数完全相同的设备,以成人正常的步行速度绕基地内各可行通道一周,试验结果如图10所示。
经取证,该基地的面积约为25万m2,所得数据如表6所示。
由2次试验所测结果可知,试验结果重复性高,与真实面积的平均相对误差分别为1.18%、1.67%。而林区测绘工程测绘的精度一般要求在95%以上,所以此系统完全能满足测绘精度要求。另外经计算,试验1测量结果的相对标准偏差为1.20%,试验2的相对标准偏差为1.32%,该系统的测量重复性高,稳定性好。
表5 森林公园面积计算结果Tab.5 Calculated results of forest park area
图10 鄢陵巡检试验结果Fig.10 Experiment result of Yanling inspection
表6 鄢陵试验面积计算结果Tab.6 Calculated results of Yanling inspection
使用该系统在河南鄢陵花木基地南园内进行样地采集试验,在10个不同的点选择采集目标面积为2 000 m2的样地区域,试验结果如图11所示,其中蓝色点1为试验时手持巡检仪位置。
图11 智能样地选取试验结果Fig.11 Experimental results of intelligent sample selection
系统智能生成获得各顶点坐标后,根据系统导航确定实际位置,最后使用人工丈量确定实际样地面积,结果如表7所示。
表7 智能样地选取面积计算结果Tab.7 Calculated results of area selected
由试验数据分析可知,该系统自动生成的样地区域面积与目标面积的平均相对误差为2.21%,这相对于人工丈量的方式在提高了效率的同时,也提高了准确率,完全满足样地采集的精度要求。
(1)针对现有的森林巡检面积测绘方式中存在效率低、准确率低的问题,设计了基于北斗导航定位系统与Android操作系统的巡检面积测绘及林区样地智能采集系统。在定位信息获取中,使用北斗定位系统可实现林区全覆盖精准定位,解决了GPS与网络定位在某些地区难以获得精准位置信息的问题。采用了精度过滤与距离偏移过滤算法选择性剔除了定位中由于各种干扰因素引起的误差过大的定位漂移点,然后利用墨卡托投影法将获取的经纬度坐标投影到平面公里网坐标上,最终利用巡检记录的坐标,采用矢量三角形面积法计算不规则多边形的面积即巡检面积。
(2)应用此系统在森林覆盖率较高的奥林匹克森林公园以及河南鄢陵花木基地进行了多次试验,经过对试验结果的分析,系统测量结果与计算真值结果比较平均相对误差分别为1.18%、1.67%,林区样地采集的平均相对误差为2.21%,完全满足林区作业要求,为提高林区巡检的效率与准确性提供了一种有效的方法。