校园植物分布查询系统设计与实现

时间:2024-11-10 12:15:25 来源:作文网 作者:管理员

摘 要 通过GPS移动定位与百度地图定位API接口,在对北京林业大学校园内植物分布坐标数据采集与分析个人移动GPS定位准确性的基础上,实现在校园内定位个人,同时查询其周边20m范围内植物信息并显示在电子地图上的功能。移动终端成本低、体积小、同时实验结果表明系统定位精度虽有误差缺陷,但通过一定方式可以弥补,并满足游人定位以及查询游人周边20m范围内植物信息的功能需求。

关键词 GPS;移动定位;百度地图;植物分布;植物信息

0引言

对于北京林业大学而言,校园内植物种类众多,植物分布较广,每年来校游玩的游客也络绎不绝,但是对于校园内的大多数珍惜植物却无法分辨与了解。通过移动手机Web平台,使用☁相关移动定位与数据库技术,实现查询游客身边一定范围内植物信息的功能,可以很好地解决此问题。

1 植物分布查询系统设计

该部分功能主要有两部分组成:校园内植物分布查询与移动定位周边植物信息查询。校园内植物分布查询是基于构建采集的校园植物分布坐标数据库的基础上,获取查询植物的相关坐标信息,并通过百度地图API形象化地显示在地图上;移动定位周边植物信息查询是基于GPS移动定位,获取含有误差的个人GPS定位坐标信息,并通过与植物分布坐标数据库对比分析,调用百度地图API筛选出相关植物信息并形象化地显示在地图上。以解决游人认知北京林业大学校园内植物信息与了解植物分布的问题。

2 植物分布查询系统设计

对于此应用,我们需建立两个相关存储表:植物信息表与植物坐标分布表,其中植物信息表与植物坐标分布表为一对多的关系,表示同一植物在校园内可能分布在多个不同区域。其中植物信息表包括:编号、植物名称、植物简介;植物坐标分布表包括:编号、植物编号、经度x与纬度y。其中植物编号外键约束于植物信息表中的编号,同时因为此处我们只考察地图的经纬度,所以只涉及二维的电子地图。

2.1 获取标志植物的百度地图坐标

对于校园内标志植物的二维坐标获取,分块进行,此处以北京林业大学银杏大道为例,在此区域选取标志植物坐标点共4个,如图1所示,使用百度地图坐标拾取器获取其坐标。

图1 北京林业大学银杏大道标志植物选取图

2.2 标志测量转换法获取其他植物坐标

因为一些小型植物不易通过百度地图坐标拾取器直接获取其坐标,误差较大,所以这里通过测量其与同一划分区域内标志植物的距离差与偏移角度,与第一步获取的4个标志植物坐标进行对比,使用以下公式进行推导计算得出其百度地图坐标,构建完整的校园内植物坐标分布数据库,以保证植物坐标的精确度。

知两点经纬度计算两点距离的精确公式[1]:

设定A点(纬度,精度)和B点(纬度,精度)则:

(1)

其中

(2)

(3)

3 移动端GPS定位

对于日常生活的定位技术来说,室外定位技术主要是借助卫星全球定位系统[2](GPS)。用户终端由GPS接收机接收卫星信号,通过三角定位的方式来确定用户的地理位置,因为其具有定位精度高、系统覆盖广、通讯可靠等优点,被广泛应用于生活中的各个方面。

3.1 GPS移动定位误差来源

GPS定位因其原理使然,需要移动终端获取GPS卫星信号,所以其在室内或周围有高大建筑物的时候,不易接收捕捉卫星信号,此时可能导致定位出现较大偏差甚至不能定位。考虑各方面因素,归纳其主要误差为:观测噪声误差、内时延误差和天线相位中心误差等[3]。

3.2 GPS移动单点定位法

在单点定位法中,其采用TOA(Time of Arrival)定位法,使用伪距离决定卫星与接收机之间的距离,用户可以通过GPS接收机接收卫星信号来测定卫星信号传播的时间延迟或相位延迟。由此来计算出接收机与GPS卫星间的距离。如采用3颗卫星,利用三维坐标中的距离公式,就可以组成3个方程式,从而求解出观测点的位置。考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知参数:X、Y、Z和时钟偏差。因此引入第4颗卫星,形成以下方程式建立方程求解[4]:

(4)

(5)

(6)

(7)

通过求解以上伪距方程,就可以得到接收机的位置。GPS定位因其原理使然,需要移动终端获取GPS卫星信号,所以其在室内或周围有高大建筑物的时候,不易接收捕捉卫星信号,此时可能导致定位出现较大偏差甚至不能定位。考虑各方面因素,归纳其主要误差为:观测噪声误差、内时延误差和天线相位中心误差等[3]。

3.3 实地测量分析北京林业大学校内GPS定位

误差

通过在之前建立的校园内植物分布坐标信息数据库的基础上,在数据库中随机选出50个,记录其坐标分布,并实地测量其GPS定位坐标,通过对比,分析得出北京林业大学内GPS移动定位的精度误差范围。

3.3.1 随机选取50个植物坐标信息

3.3.2 实地定位测量误差分析

表1 实地测量百度坐标部分结果

标记编号 百度地图坐标拾取 实地GPS定位测量结果

7 116.349833,40.007185 116.349703,40.007045

8 116.34981,40.007499 116.34783,40.007539

9 116.349801,40.007896 116.349893,40.007878

10 116.349766,40.008394 116.349716,40.008499

… … …

通过获取的两组对应百度坐标进行计算,使用百度API接口中下式进行两经纬度的距离计算:

varpointA = new BMap.Point(x,y);

varpointB = new BMap.Poin❦t(x’,y’);

map.getDistance(pointA,pointB)).toFixed(2);

其中x和x’代表经度,y和 y’代表纬度,pointA与pointB分别代表两个不同经纬度的点,通过调用map.getDistance函数获取两不同经纬度坐标之间的距离,toFixed(2)代表保存两位小数,分别计算50组数据得如下表2。

使用Excel构图得图3。

表2中即为通过map.getDistance()方法获得的两不同经纬度的实际距离差值。

通过对图3观察分析,我们可以得出:在北京林业大学内的GPS定位误差,大约%90以上在0~30m范围内。

图3 实际与测量误差统计图

表2 实际测量误差统计表

编号 距离误差(单位:米)

1 7.36

3 17.68

4 8.44

5 79.34

6 26.11

7 19.1

8 4.76

9 8.09

… …

4 解决GPS定位误差影响

4.1 定位误差带来的影响

对于在北京林业大学GPS定位误差分析的结果我们可知,我们目标为定位自身,并搜索周边20m范围内的所有植物信息,但是单纯的GPS移动定位误差就有可能达到30m,那么经过定位之后,由于定位误差原因,我们可能无法获取任何身边植物的信息。

4.2 扩大搜索范围解决定位误差影响

图4 定位误差分析图

以最坏情况考虑,定位结果为圆2上点B,此时我们以B为圆心,搜索半径为20m画圆得圆3,同时以扩大搜索半径50m为半径画圆得圆4。

我们可以看到,在极端情况下,我们保持搜索半径为20m,我们的搜索范围可能变为圆3,其中只包含了我们希望搜索的一小部分植物信息,即图中阴影部分;同时,如果我们的搜索半径改为50m,那么在大多数情况下,我们的搜索范围是包括了我们希望的搜索范围圆1的。

所以,在实际情况中,我们将目标搜索范围从20m增加至50m,这样可以保证在存在GPS定位误差的情况下,仍然获取到我们想要的结果。当然对于多出的部✡分搜索结果,令游人简单地区分舍弃即可。

这样,在保证我们搜索目标的前提下,通过简单的扩大搜索范围就可以解决GPS定位误差对我们带来的

影响。

5 软件功能实现

基于构建的植物信息数据库与植物分布坐标数据库,使用JavaWeb相关技术搭建移动Web平台,实现基本的植物查询分布功能与定位并查询周边植物信息

功能。

5.1 植物查询分布

如下图所示,图5为植物搜索结果视图,在点击搜索结果上的查看校园分布按钮之后,即可获取相应植物在校园内分布情况。

图5 植物搜索

5.2 定位并查询周边植物信息

如下图所示,图6为搜索游人周边50m范围内植物信息结果,观察可看到游人自身定位标记与其他搜索获得的身边植物信息标记。

图6 定位搜索游客周边植物信息

6 结论

本文的主要工作是研究基于移动Web平台下的校园位置服务系统的又一种体现方式。首先了解了经纬度坐标与实际距离之间的精确换算方式,并在了解GPS定位原理、掌握百度地图API使用方式的基础上,结合北京林业大学现存现状:为满足游客了解认知校园内植物信息与植物分布的需求,设计了一款基于移动Web的校园植物分布查询系统,最后,完成了系统并对系统的功能与实际运用进行了测试。

综上所述,本系统主要采用Java∞Web构建平台、调用百度地图API完成界面显示、以及使用mysql搭建植物信息数据库,完成了此校园系统应用,并且因为其基于Web移动端的特性,可以免安装,并且有良好的跨平台特性。

参考文献

[2]杨鹏.基于Android的校园位置服务系统研究与实现[D].大连理工大学,2013Σ.

[4]邬群勇. GPS移动定位与移动网络定位精度的分析[J].全球定位系统,2010(5):33-37,53.


热门排行: 教你如何写建议书