本文提供了光缆断点定位系统的设计与实现方案,重点描述了地图显示、线路绘制与修改以及断点检测功能的实现。系统使用百度地图来显示光缆线路的走向,通过节点端检测到的光缆断点距离信息,结合断点定位算法,自动判断出断点的位置并在地图上显示。本系统的线路绘制功能能够让维护人员直观地得到光缆线路的具体走向及线路上站点位置,缩短了断点寻找时间。 This paper provides the design and implementation of the optical cable breakpoint location system, focusing on the realization of the functions of map display, route drawing and modification, and breakpoint detection. Using Baidu map to display the direction of the optical cable line, through the distance information of the optical cable breakpoint detected by the node, combined with the breakpoint location algorithm, the system can automatically determine the location of the breakpoint and display it on the map. The route drawing function of this system can make the maintenance personnel get the specific direction of the optical cable line and the location of the site intuitively, and shorten the time of finding the breakpoint.
石佳豪,王忠东
广西科技师范学院数学与计算机科学学院,广西 来宾
收稿日期:2020年5月21日;录用日期:2020年6月3日;发布日期:2020年6月10日
本文提供了光缆断点定位系统的设计与实现方案,重点描述了地图显示、线路绘制与修改以及断点检测功能的实现。系统使用百度地图来显示光缆线路的走向,通过节点端检测到的光缆断点距离信息,结合断点定位算法,自动判断出断点的位置并在地图上显示。本系统的线路绘制功能能够让维护人员直观地得到光缆线路的具体走向及线路上站点位置,缩短了断点寻找时间。
关键词 :光缆,断点定位,百度地图
Copyright © 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着网络逐渐成为生活的必需品,提供网络服务的光缆线路数量也在不断的上升,这也为光缆线路的维护工作带来了巨大的困难。一旦线路中出现断点,传统纯人工的维护手段是让维护人员到达客户端并使用光时域反射仪(OTDR)测量客户端到断点的距离 [
为改变这一现状,不少学者对其进行了研究 [
文献 [
本文设计光缆断点定位系统仍然采用百度地图来显示光缆线路及光缆断点的实时信息,同时为解决上述问题,本系统在百度地图上标明了各条线路的实际走向及线路上站点位置,使得维护人员能够直观地得到附近站点的位置,这有效地缩短了目标光缆寻找时间。
系统由客户端、服务端、数据库、节点端构成,如图1所示。维护人员在客户端浏览器上输入服务器地址就能够进入到系统主界面,服务端通过查询到数据库中光缆线路站点的经纬度坐标信息后,将站点以图形化的方式渲染到主界面地图区,并将同一线路中的站点按顺序连接形成线路走向。节点端为放置在线路站点上且具有OTDR功能的嵌入式设备,本系统中采用安卓系统来模拟OTDR检测到的断点数据。当客户端发起断点检测请求后,服务端通过数据库控制对应节点进行断点数据采集,通过分析断点数据及节点位置信息计算出断点的经纬度坐标,将其输出到主界面地图区。
系统具有以下三个功能模块:地图显示、线路绘制与修改、断点定位,如图2所示。
图1. 系统结构
图2. 系统功能模块
各个模块的功能如下:
1) 地图显示:实现加载基本地图、添加缩放控件、设置初始中心点等功能。
2) 线路绘制与修改:实现将光缆线路的具体走向及线路上站点位置绘制到百度地图上;实现在主界面的操作区,能够修改各个线路的站点坐标与站点间光缆长度信息,并在地图上实时更新渲染数据。
3) 断点定位:维护人员在系统主界面可远程向线路上的节点发送检测请求,节点使用OTDR功能检测到自身相对于断点的距离后,将距离数据返回给服务端,服务端结合断点所在光缆两端站点的经纬度以及传回的距离数据,计算出断点的坐标信息并以图形化的方式渲染到百度地图上。
在主界面进行地图显示的实现过程如下:
1) 在服务端视图文件中为地图显示区域预先设置DIV容器,调整容器大小。添加的外部百度地图API (http://api.map.baidu.com/api?v=1.4)脚本引用,将基本地图加载进来。
2) 通过设置地图的centerAndZoom属性来确定显示的中心点以及地图坐标级别。
3) 通过设置地图的NavigationControl属性来添加地图缩放控件。
线路绘制功能为本光缆断点定位系统的创新设计,其实现过程如下:
1) 在地图上绘制站点:通过JDBC与数据库进行连接,循环读取各条线路中各个站点的经纬度坐标,将各个坐标值依次赋给二维数组point_data[j][i],并将每个坐标实例化为对应的Point对象,如var p1 = new BMap.Point(<%=point_data[j][i]%>, <%=point_data[j][i]%>);然后使用Marker函数将每个Point对象标记为以绿色实心圆点(point.png),如varmarker1 = new BMap.Marker(p1, new BMap.Icon(point.png);最后使用addOverlay函数将Marker对象输出到百度地图上,如map.addOverlay(marker1)。
2) 在地图上绘制线路:使用Polyline函数将已有的Point对象以直线的方式进行连接,产生Polyline线路对象,如var polyline1 = new BMap.Polyline([p1,p2,p3,……]);然后使用addOverlay函数将Polyline对象输出到百度地图上,如map.addOverlay(polyline1)。
3) 在地图上修改线路:主界面的站点位置与光缆长度按钮分别链接到对应的设置分页面,新数据的设置完成将促使服务端重新向数据库发起读取数据命令,更新地图区的线路。
客户端首先发起检测请求,服务端根据请求信息中的id将数据库中相应节点的检测状态由0变为1。节点端感应到检测状态后,开启测距功能并将检测到的距离数据写入数据库,同时重置检测状态。服务端结合检测到的距离数据及断点所在光缆两端站点的经纬度坐标,计算出断点的经纬度坐标,其算法如下:
判断断点所在的光缆区间:
∑ 1 n d i ≤ D ≤ ∑ 1 n + 1 d i
其中, d i 为线路中第i段光缆长度,D为节点返回的距离数据。则根据比例关系可得到:
D − ∑ 1 n d i d n + 1 = W D − W S W F − W S
其中, W S 为断点所在光缆起始站点纬度, W F 为断点所在光缆终点站点纬度, W D 为断点纬度。因此,可以得到断点纬度 W D :
W D = W S + D − ∑ 1 n d i d n + 1 ( W F − W S )
断点经度同理。最后利用Marker属性将断点坐标以红色水滴标记渲染到地图上。
在浏览器地址栏上输入http://localhost:8080/进入系统主界面,如图3。
图3. 系统主界面
图中左侧地图区域渲染了两条光缆线路,每条线路站点的附近标记了该站点名称,其中具有“*OTDR*”标识的站点为节点放置的位置。点击右下角OTDR1按钮发起对id为1节点的检测请求,节点开启OTDR功能并将检测到的数据返回。节点端采用APP模拟OTDR的检测数据,如图4。
图4. APP界面
服务端接收到数据后,在主界面更新地图显示,标记断点并在右下角显示测试结果,如图5。
图5. 断点定位效果
点击主界面右上方的“线路1”按钮进入修改站点位置设置分页面,如图6。
图6. 修改站点位置
将线路1中站点2的经纬度数据进行修改并提交,浏览器跳转回主界面,同时地图上的对应线路也得到了更新,如图7。
图7. 更新站点效果
修改光缆长度的测试与修改站点位置的测试类似,不再赘述。
通过本系统的运行效果,与文献 [
图8. 文献 [
本文设计与实现了基于百度地图的光缆断点定位系统,系统的创新功能是在地图上绘制出了光缆线路的具体走向及线路上站点位置,这能够让维护人员更直观地掌握线路信息;同时针对需要进入附近站点配合检测才能判断目标光缆的这一情形,维护人员可通过本系统显示的站点信息快速找到附近站点,为维护工作带来了便利。
广西高校中青年教师基础能力提升项目(No. 2019KY0859)。
石佳豪,王忠东. 基于百度地图的光缆断点定位系统的设计与实现Design and Implementation of Optical Cable Breakpoint Location System Based on Baidu Map[J]. 软件工程与应用, 2020, 09(03): 194-200. https://doi.org/10.12677/SEA.2020.93023