APP下载

基于Android平台的GPS林地面积测量

2014-08-03赵天忠

计算机工程与应用 2014年23期
关键词:精确度林地阈值

赵 方,张 洁,赵天忠,闫 民

北京林业大学 信息学院,北京 100083

基于Android平台的GPS林地面积测量

赵 方,张 洁,赵天忠,闫 民

北京林业大学 信息学院,北京 100083

1 引言

林地面积测量是林业生产调查的重要内容,在森林资源调查监测、林地勘验、造林验收、病虫害评价等方面都得到了广泛应用[1]。面积测量的精准度直接影响林业生产调查的建设成果。在林业生产调查中面积测量精度一般要求在90%以上[2],有的甚至是95%以上如《退耕还林工程建设检查验收办法》规定小班面积检查验收允许误差为±5%[3]。

林地面积测量的手段包括:地形图勾绘法、罗盘仪导线测量面积和手持GPS测量面积[4]。地形图勾绘法工作复杂误差大;根据文献[5]研究表明GPS与罗盘仪相比,测量面积成本GPS是罗盘仪的1/10,工效是罗盘仪的10倍。因此利用GPS进行林地面积测量是近年林业生产中林地面积测量的重要手段之一和发展趋势[6]。但是由于手持GPS单点定位的精度有限,进行林地面积测量时必然会产生面积误差,需要进行误差纠正。如利用差分技术[7]或秩亏自由网平差[8]等方法进行误差纠正,虽然精度较高但需要较为复杂的技术支撑。而且还需要将GPS采用的WGS-84地心坐标转换为高斯平面直角坐标系求解面积[9-10]。手持GPS面积计算功能并没有考虑这些误差,因此需要修正面积形变产生的误差。如利用修正函数或原点选择所测区域的平均经度[11],但是对于面积较大区域需要分块和事先测量所测地块平均经度。分析现有的利用手持GPS对林地面积测量的研究表明,其研究成果较难或不能直接应用于林业生产。

Google推出的Android平台开源、免费、市场占有率高,并提供特定的位置服务类库支持GPS应用开发[12]。根据Android平台特性和手持GPS存在的问题,本文在GPS数据点的处理和具体实现向量法计算面积上进行了改进。在处理GPS数据时,提出基于多目标优化原理构造评价函数和定义两条筛选原则对采样点进行筛选;根据Android位置服务类库特点使用方位角和球面距离实现向量法算面积,避免经纬度坐标转换引起的误差。实地测量结果表明,与常用的坐标转换法计算面积相比,不仅满足林业要求而且精度更高,可直接应用于林业调查生产中。

2 Android内置GPS精确度分析

本文使用Android智能移动终端内置的GPS定位功能进行林地面积测量,因此需要对内置GPS定位功能采集的数据精确度进行分析。

手持Android智能移动终端绕北京林业大学校园围墙内外,进行GPS定位测量实验,设置每隔2 s接收一次数据,采集的数据包括经度、纬度和精确度三个属性共2万组数据。对测量数据的精确度序列采用统计方法以1.0 m的数据间隔划分观测值,得出GPS测量数据精确度频数分布直方图如图1所示。

图1 GPS测量数据精确度频数分布直方图

图1显示的精确度趋势与 x2分布[13]密度函数曲线图很类似,因此本文认为GPS测量数据的精确度符合x2分布,概率密度函数如下:

x2分布误差来源于若干正态分布的变量平方和,由x2分布的特性知,精确度越低的点将随着精度的下降而逐渐减少。一般民用GPS精确度在20 m以内认为是可以接受的,经过实际的统计实验,测量数据中误差在20 m以内的点达到93.7%。即绝大部分GPS数据都是准确的,因此可以认为Android内置的GPS定位时出现漂移的情况很少。

3 GPS数据处理

GPS定位漂移现象、采样点分布疏密情况和精确度的高低都会对林地面积计算造成影响。针对以上问题,本文用欧几里德几何原理剔除了漂移点,同时基于多目标优化的方法构造了一个评价函数,定义了两个筛选原则即精度阈值和斜率差阈值。先根据筛选原则动态调节阈值以便筛点,然后求解评价函数的最小值,从而保证在GPS采样点精确度较高和林地边界尽量圆滑的情况下,用于计算面积的采样点数量最小,最大限度地节省系统存储空间,提高计算效率。

3.1 剔除GPS漂移点

漂移点可定义为精度与平均精度相差很大的数据点,这些点对样本方差贡献最大。由于数据传输错误、测量干扰和天气状况等原因影响,会对GPS定位产生不利的干扰,从而产生漂移现象[14],无法保证所有数据均在可接受的误差范围内。对于出现漂移现象的点可以考虑从数据中剔除。

在地心坐标系中,以欧几里德空间里的距离作为衡量标准,提出一种简单可行的剔除漂移点的算法。

假设目标从地球上任意一点 Pi移动到点 Pi+1,这两点的经度分别为 Lati、Lati+1,纬度分别为 Lngi、Lngi+1,即 Pi(Lati,Lngi),Pi+1(Lati+1,Lngi+1)。令 ΔLat=Lati+1-Lati,ΔLng=Lngi+1-Lngi,根据欧几里德几何原理,计算移动目标两点间的最小球面距离[15-16]:

其中R为地球半径。

再设移动目标每隔时间t(时间间隔可设置,一般不超过10 s)接收一次数据,移动目标速率记为v,在该时间间隔内的移动距离为D=vt。

第一条判断准则:根据球面两点距离计算公式,在时间间隔t内两点间距离为d。对于实际移动目标在时间t内的移动距离增量D应该限制在一定的范围内,如表1所示。d远超过这个范围时认为GPS接收到的数据出现漂移现象,将漂移点删除。

表1 一个时间间隔内移动目标的距离增量范围参考值表

第二条判断准则:设移动目标的距离增量为di,i= 1,2,…,n。将这些值的代数和除以n求算数平均值:

图2 t=2 s时间间隔内两点间的最小球面距离

图2中相邻两点间的最小球面距离d在0~4 m之间,根据表1可知 D∈[0.5,1](单位:m),d 的值是应该在这个区间附近震荡,以±1.0 m为限度,当d的值超过这个限度时,即当d∈(2.0,∞)时,认为这个数据是漂移点应该删除。图2中d∈(2.0,∞)的漂移点共20个约占数据总量的5%,将这些漂移点剔除后相邻两点间的球面距离如图3所示。

图3 t=2 s时间间隔内剔除漂移点后两点间最小球面距离

图3中381个数据点相邻两点间的最小球面距离保持在2 m范围内,可认为已经将漂移点剔除。

3.2 基于多目标优化的采样点筛选方法

由于移动终端可用资源有限,因此在算法效率上应尽可能使用高效算法,针对面积计算问题,尽可能使GPS测量数据点以合理的密度分布在测量区域周边,若点过多过密则消耗的资源(存储空间、内存和CPU时间)增多,若点过少过稀疏则可能影响整体面积计算精度。为此本文基于多目标优化原理提出了一个关于点集质量的评价函数,在筛选过程中定义两个筛选原则,根据评价函数值动态地调节筛选原则中的阈值大小,在保证采样点精确度和曲率变化较小情况下,减少用于计算林地面积的采样点数量。算法流程如图4所示。

图4 基于多目标优化原理的采样点筛选流程图

(1)筛选原则

将测量数据点的数量用N来表示。当N<3时,数据点太少,构不成闭合曲线,不能进行面积计算。因此本文算法只考虑N≥3的情况。

GPS测量数据点的数量N和点的精确度 p相互独立,互不影响。算法运行需要符合两个原则:

筛选原则1:根据边缘曲率变化筛选采样数据点的疏密分布。针对离散点进行曲率计算可通过曲线拟合计算,但计算量较大,这里采用两点间线段的斜率变化表示曲率变化。设斜率差阈值为ε,第i个采样数据点和第i+1个点的斜率记为ki,根据两点间斜率公式:

若 |ki-ki+1|≤ε说明第 i、i+1、i+2 个点的曲率变化很小,则可将第i+1个点删除,继续取下一点,计算|ki-ki+2|≤ε,直到斜率差超出控制参数范围,然后继续取最后一点作为开始点,重复上述过程。

筛选原则2:点的精确度 p可能存在一定浮动,应尽量选取精度高的点以减小误差。当筛选之后保留点数量在区间[Nmin,Nmax](Nmin是可接受的采样点最小数量,Nmax是可接受的采样点最大数量,本文设Nmin= 0.6N,Nmax=0.9N)时,可保留此次筛选的结果。否则调整精确度阈值进行下一次筛选。

具体筛选原则如下:

设第i个采样数据点的精确度为 pi,其中i=1, 2,…,N ;第 j次筛选的精确度阈值记为 qj,j=1,2,…,可令P1=20 m。nj表示第 j次筛选后点的数量。

先进行第一次筛选,将所有满足 pi≤q1的点保留下来,其余点剔除,此时记点的数量为n1。根据n1大小调整精确度阈值的变化方向:

1若n1<Nmin,认为精确度阈值q1太小,此时需放大阈值。即qj+1=qj+ζ(ζ是阈值调整参数,可自由设定。本文中设ζ=2)。继续往下筛选直到筛选至第k次筛选时,若nk≥Nmin筛选结束,nk为最后的筛选点数量。再根据筛选原则1调整nk个采样点的疏密分布。

2若n1>Nmax,认为精确度阈值q1太大,此时需缩小阈值。即qj+1=qj-ζ。继续往下筛选直到筛选至第k次筛选之后记筛选点数量为n'k,利用筛选原则1,调整n'k个采样点的疏密分布,记调整后采样点数量为nk,若nk≤Nmin筛选结束,nk-1为最后的筛选点数量,否则继续进行筛选。

(2)构造评价函数

经过两条筛选原则后,采样点数据量控制在区间[Nmin,Nmax]内,可基于多目标优化原理构造并求解一个评价函数使得采样点集达到最优。

多目标优化问题解法可分为直接解法和间接解法两大类[17]。本文采用间接解法,构造评价函数来确定最优解。设筛选后的采样数据点数量n,精确度累加和为∑pi,第i个点和第i+1个点的斜率为ki。根据各个点之间偏序关系构造评价函数:

当得到第一组评价函数α值时,先后单独调整筛选阈值ε和qj的值,使筛选阈值在原来的范围内上下浮动如 qi=qi+1,ε=ε×0.9,可选择5组控制参数 ε、qj共得到10个α值,其中α最小值即为最优解,此时控制参数ε、qj也可以确定。

通过两条筛选原则和评价函数,经过实验验证选择5组筛选参数ε、qj计算评价函数值即可动态地找到最优解。最优解既保证了点的精确度和曲线的曲率变化,也有效减少了数据点数量,有利于存储、计算面积。实验结果如表2所示。

表2 GPS采样数据筛选统计表

4 基于Android的林地面积测量系统

4.1 面积算法

通过经纬度计算多边形面积的方法有:图解法、解析法和向量法。图解法对于复杂多边形计算困难;解析法对凹多边形或顶点数较多的情况,不能很好地切分成较少的直角梯形,精度有限。而向量法能很好地避免图解法和解析法中出现的问题。

本文采用向量法将多边形分成若干个三角形,利用向量叉乘原理计算各三角形面积。以凹多边形为例,如图5所示已知多边形 ABCDE及各顶点的坐标,其A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4),E(x5,y5),求多边形面积。

图5 多边形ABCDE

过点A连接AC、AD,以点A为基准将多边形分为3个三角形,根据右手定则:

多边形面积可由三个三角形面积累加求出,根据向量叉乘原理一般式为:

算法实现时,由于GPS采集的数据是WGS-84坐标系,一般的处理方式是先将WGS-84坐标转换为高斯平面直角坐标,然后以平面直角坐标求解面积[18],但是投影变换存在面积变形误差,还会增加系统开销。

本文在面积测量时使用Android平台,该平台提供了一个专门的位置服务类库android.location,包含关于地理定位系统的全部API和一系列与定位相关的类[19]。其中位置类Location的distanceTo()函数能够计算两点间的球面距离,bearingTo()函数能够计算两点的方位角。因此,本文根据这种特性,在向量法的实现方法上进行改进,即利用上述两个函数计算方位角和两点间的球面距离求解面积,避免用复杂的经纬度坐标转换引起的形变误差。

方位角是指从某点的指北方向线起,依顺时针方向到目标方向线之间的水平夹角[20]。如图6所示,点P为地球正北方向的点即北极点,点 ABC构成一个三角形。设点B到点A的方位角为αBA即从北极点P与点A连线开始顺时针旋转到BA所成的角αBA=∠PAB,同理点C到点A的方位角αCA=∠PAC。因此在三角形ABC中,∠BAC=∠PAC-∠PAB,用方位角表示为∠BAC= αAC-αAB 。

图6 方位角示意图

对于 n个顶点的多边形,各顶点记为Vi,i= 1,2,…,n。以第一个顶点V1为基准连接各顶点将多边形分为n-2个三角形,点Vi到V1的方位角记为αViV1、点Vi到V1球面距离记为|ViV1|,根据方位角和两点间的球面距离计算面积的公式为:

4.2 系统介绍

4.2.1 系统配置

本系统使用Eclipse作为软件开发平台,开发语言为Java,使用Android 2.2 SDK,Android2.2应用普遍、稳定性高并且具有很好的向下兼容性。

实际测量所使用Android智能移动终端:华为IDEOS S7 Slim。配置为单核1 GHz CPU,512 MB内存,支持A-GPS和GPS,采用Android2.2系统。在GPS系统配置文件system/etc/gps.conf中指定NTP Server均为中国区Server。

4.2.2 系统流程

根据具体的功能需求,系统包括用户图形界面、GPS数据获取模块、采样点筛选模块和面积计算模块。

图形用户界面基于Android系统的Activity组件设计开发系统界面,Intent实现界面切换跳转,使用控件toast完成用户提示,如提示用户开启GPS功能等。

GPS数据获取模块首先利用Android中位置服务类中的LocationManager获取当前设备的实时位置,并调用getLongitude()方法、getLatitude()方法和 getAccuracy()方法获得当前位置double型的经纬度和精确度值。再通过监听器LocationListener使系统根据指定的时间和位移变化条件更新位置信息。本文设置每隔2 s且位移变化为2 m以上时记录位置变化信息并将信息写入文件中。

采样点筛选模块用于实现漂移点剔除和多目标优化筛选,同时该模块还会记录每一步筛选后的数据供调试使用。经过筛选后的采样点会提交给面积计算模块进行最终的面积计算。图7为本系统的工作流程图。

图7 系统流程图

5 结果与分析

为了检验系统实地测量的精度和稳定性,选择北京林业大学校园内两块地作为实验地块。一号地块为校园内400 m标准操场,手持华为IDEOS S7 Slim绕第一圈跑道步行,在弯道时慢速行走。二号地块为操场内不规则的非矩形地块,步行绕地块测量结果显示在设备上。表3为本系统测量结果的数据统计表。

分别使用本文介绍的改进方法和常规坐标转换法(没有筛选采样点,使用经纬度转换计算面积)测量面积,其中将用皮尺测量的结果求平均数作为面积的真实值。分别计算两种方法的平均面积、平均相对误差、标准差和相对中误差。测量误差对比分析如表4。

由表4可知对于实验地块1和地块2,本文方法测量的平均相对误差分别为0.35%和0.29%,而常规坐标转换法测量的平均相对误差分别为0.68%和0.59%。本文方法不仅满足林业测量精度一般为90%以上(有的是95%以上)的要求,并且平均相对误差值低于常规坐标转换法,表明本文介绍的面积测量方法相对于常规坐标转换法误差更小,精度更高。

本文方法测量的标准差和相对中误差均低于常规坐标转换法,说明本文方法测量结果的波动范围较小并且随着面积的增大误差变动相对更小,测量值更接近真实值。

表3 测量结果数据统计表

表4 测量误差对比分析表

6 结论

由于目前Android平台的软硬件发展迅速、市场占有率高,本文使用Android平台进行林地面积测量可以在保证测量精度的情况下降低成本,便于在实际林业生产调查中普及和推广。随着各种林业资源数据的激增和云平台的发展,林业资源公共数据共享并将数据存储于云端平台是林业数字化的必然发展趋势,本文使用的Android智能移动设备进行林地面积测量是对云平台的终端尝试。

面积测量是林业生产调查的重要组成部分,本文针对目前手持GPS测量面积存在的问题,在GPS数据点的处理和实现向量法计算面积上进行了改进。提出基于多目标优化原理构造评价函数并定义两个筛选原则进行采样点筛选,保证精度和曲率变化小的情况下减少计算面积的采样点数量。根据Android平台特点,在实现向量法时,利用方位角和两点间的球面距离计算面积,避免了经纬度转换引起的误差。实地测量结果表明,与常规的坐标转换法测量面积相比,本文的方法测量精度更高、相对误差更小,并且随着面积的增大更接近真实值,可方便地应用于林业生产调查中。

[1]张民侠,张运生,郑怀兵,等.手持GPS和罗盘仪在涉案林地面积测量中的精度分析[J].中南林业调查规划,2009,28(1):61-64.

[2]张彦芳,李文立.GPS与罗盘测量在林业调查设计中点的应用比较[J].河北林果农业,2007,22(2):159-164.

[3]国家林业局.退耕还林工程建设检查验收办法(林退发[2001]521号)[Z].2001.

[4]夏友福.GPS测量面积的研究方法[J].西南林学院学报,2005,25(1):65-67.

[5]郑成才.GPS林地面积测量精度分析[J].武夷科学,2008,24(1):110-113.

[6]吴文友,刘培超.手持GPS测量林地面积的应用[J].东北林业大学学报,2011,39(1).

[7]朱秀杰,刘鹏举,唐小明,等.三类调查中手持GPS面积精度试验研究[J].林业资源管理,2008(3):105-107.

[8]周科亮,冯仲科,张学培,等.林地面积的手持GPS量测[J].测绘科学,2008,28(2):48-49.

[9]Carlson C G,Clay D E.The earth model-calculating field size and distances between points using GPS coordinates[J]. The Site-Specific Management Guideline,2009,3.

[10]姚宜斌,许双安.整体最小二乘求取坐标转换参数[J].大地测量与地球动力学,2010,30(3):74-77.

[11]路琪,景欣,勾志阳,等.手持GPS测量面积变形误差研究[J].全球定位系统,2012,37(3):63-67.

[12]宫磊.周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008.

[13]Lancaster H O,Seneta E.Chi-square distribution[M].[S.l.]:Wiley Online Library,2005.

[14]徐琨,贺最嚯,冈茂德.全球定位系统动态定位误差分析与建模[J].西安电子科技大学学报:自然科学版,2008,35(4):749-753.

[15]金国雄.GPS卫星定位的应用与数据处理[M].上海:同济大学出版社,2003:207-215.

[16]黄冠利,王辉,徐华平.基于时间序列解决GPS信号定位漂移的研究[J].计算机工程与应用,2008,44(31):94-96.

[17]樊治平,胡国奋.区间数多属性决策的一种目标规划方法[J].管理工程学报,2000,14(4):50-52.

[18]刘永义.济宁矿区BJ-54至WGS-84坐标转换模型改进及精度分析[J].全球定位系统,2010,35(1):33-37.

[19]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011:565-575.

[20]Geographic distance and azimuth calculation[EB/OL]. [2012-10-21].http://www.codeguru.com/cpp/cpp/algorithms/ article.php/c5115/Geographic-Distance-and-Azimuth-Calculations.htm.

[21]关桂霞,朱虹.GPS定位误差分析与状态估计[J].计算机工程,2008,34(1).

[23]龚国辉,李思昆.实时GPS卫星信号采集系统的设计与实现[J].计算机应用研究,2005,22(1):147-148.

[24]Yang Yanjuan,Tian Weifeng,Jin Zhihua.Study on a novel marineINS/GPS integrated navigation technology[C]// ICARCV,2002:1563-1567.

[25]Google.What is Android?[EB/OL].[2012-10-21].http://code. google.com/android/what-is-android.html.

[26]Whipple J,Arensman W,Boler M S.A public safety application ofGPS-enabled smartphonesandthe Android operating system[C]//SMC,2009:2059-2061.

[27]Karthick S,Velmurugan A.Android suburban railway ticketing with GPS as ticket checker[C]//2012 IEEE International Conference on Advanced Communication Control and Computing Technologies(ICACCCT),2012.

[28]Canelon J I,Provence R S,Shieh L S,et al.A simple recursive method for stationary receiver position estimation using GPS difference measurements[J].ISA Transactions,2007.

ZHAO Fang,ZHANG Jie,ZHAO Tianzhong,YAN Min

School of Information Science and Technology,Beijing Forestry University,Beijing 100083,China

In order to improve forest land area measurement of forestry production survey precision and work efficiency, handheld GPS in forest land area measurement exists some problems such as data point selection method and vector method, it proposes GPS forest area measure method based on Android.It constructs the evaluation function and defines two selection principles,based on multi-objective optimization principle,it reduces the number of points while ensuring accuracy of GPS points.It uses the azimuth angle and the area of the spherical distance to calculate area avoiding the error which caused by latitude and longitude coordinates transformation when it realizes vector method calculating the polygon area. Measure results show that the method can satisfy the requirement of forest land area measurement,and accuracy is higher than common method.

Global Positioning System(GPS)accuracy;drift points eliminating;multi-objective optimization;area measurement

为提高林业生产调查中林地面积测量的精度和工作效率,针对目前手持GPS进行林地面积测量数据点处理和通过坐标转换计算面积容易引入误差的不足,提出一种基于Android平台的GPS林地面积测量方法。该方法一方面基于多目标优化原理构造评价函数并定义两条筛选原则,在保证采样点精度和曲率的情况下尽量减少点数量;另一方面在实现向量法时,根据方位角和球面距离计算面积,避免经纬度坐标转换引起的误差。实际测量结果表明,该方法能完全满足林地面积测量要求,且精度高于常规坐标转换法。

全球定位系统(GPS)精确度;漂移点剔除;多目标优化;面积测量

A

TP311.1;S757.2

10.3778/j.issn.1002-8331.1303-0172

ZHAO Fang,ZHANG Jie,ZHAO Tianzhong,et al.GPS forest area measurement based on Android.Computer Engineering and Applications,2014,50(23):261-266.

国家自然科学基金(No.11272061);国家林业局林业公益性行业科研专项(No.200904003)。

赵方(1958—),男,副教授,硕士生导师,研究领域为软件工程、计算机软件与理论;张洁(1987—),女,硕士研究生,研究领域为软件工程;赵天忠(1961—),男,博士,教授,博士生导师,研究领域为森林经理、资源信息管理;闫民(1959—),男,博士,副教授,硕士生导师,研究领域为森林工程、流体力学。E-mail:sunny_zhj@163.com

2013-03-12

2013-04-25

1002-8331(2014)23-0261-06

CNKI网络优先出版:2013-06-08,http://www.cnki.net/kcms/detail/11.2127.TP.20130608.0956.017.html

猜你喜欢

精确度林地阈值
研究核心素养呈现特征提高复习教学精确度
“硬核”定位系统入驻兖矿集团,精确度以厘米计算
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
丹东市林地分类研究
浅谈林地保护及恢复措施
室内表面平均氡析出率阈值探讨
林地流转模式的选择机理及其政策启示
小型无人飞行器用于林地监视的尝试