Software Engineering and Applications 软件工程与应用, 2020, 9(3), 194-200 Published Online June 2020 in Hans. http://www.hanspub.org/journal/sea https://doi.org/10.12677/sea.2020.93023
Design and Implementation of Optical Cable Breakpoint Location System Based on Baidu Map
Jiahao Shi, Zhongdong Wang
School of Mathematics and Computer Science, Guangxi Science & Technology Normal University, Laibin Guangxi
strdth
Received: May 21, 2020; accepted: Jun. 3, 2020; published: Jun. 10, 2020
Abstract
This paper provides the design and implementation of the optical cable breakpoint location sys-tem, 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.
Keywords
Optical Cable, Breakpoint Location, Baidu Map
基于百度地图的光缆断点定位系统的 设计与实现
石佳豪,王忠东
广西科技师范学院数学与计算机科学学院,广西 来宾
收稿日期:2020年5月21日;录用日期:2020年6月3日;发布日期:2020年6月10日
文章引用: 石佳豪, 王忠东. 基于百度地图的光缆断点定位系统的设计与实现[J]. 软件工程与应用, 2020, 9(3): 194-200. DOI: 10.12677/sea.2020.93023
石佳豪,王忠东
摘 要
本文提供了光缆断点定位系统的设计与实现方案,重点描述了地图显示、线路绘制与修改以及断点检测功能的实现。系统使用百度地图来显示光缆线路的走向,通过节点端检测到的光缆断点距离信息,结合断点定位算法,自动判断出断点的位置并在地图上显示。本系统的线路绘制功能能够让维护人员直观地得到光缆线路的具体走向及线路上站点位置,缩短了断点寻找时间。
关键词
光缆,断点定位,百度地图
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/
Open Access 1. 引言
随着网络逐渐成为生活的必需品,提供网络服务的光缆线路数量也在不断的上升,这也为光缆线路的维护工作带来了巨大的困难。一旦线路中出现断点,传统纯人工的维护手段是让维护人员到达客户端并使用光时域反射仪(OTDR)测量客户端到断点的距离[1],结合线路走向判断断点的大致位置,这个过程将耗费较多的时间及人力,不利于断点的快速修复。
为改变这一现状,不少学者对其进行了研究[2]-[15],其中设计光缆断点定位系统的不在少数:文献[7]与文献[8]实现了基于WebGIS的通信线路维护系统,为可视化的光缆维护提供了技术支持;文献[9]与文献[10]实现了光缆故障定位技术在电力系统中的应用。
文献[10]中所设计的系统为目前现有的最新的光缆断点定位系统,其采用百度地图作为断点显示的基本地图,实现了在地图上标明检测到的断点位置,但存在以下问题:维护人员到达现场后,需要从断点光缆的附近站点发出红色光线,用于从现场的众多光缆中寻找出目标光缆,但地图上并未绘制出各条光缆的具体信息,因此不能快速判断出附近站点的位置,进而延缓了修复时间。
本文设计光缆断点定位系统仍然采用百度地图来显示光缆线路及光缆断点的实时信息,同时为解决上述问题,本系统在百度地图上标明了各条线路的实际走向及线路上站点位置,使得维护人员能够直观地得到附近站点的位置,这有效地缩短了目标光缆寻找时间。
2. 系统设计
系统由客户端、服务端、数据库、节点端构成,如图1所示。维护人员在客户端浏览器上输入服务器地址就能够进入到系统主界面,服务端通过查询到数据库中光缆线路站点的经纬度坐标信息后,将站点以图形化的方式渲染到主界面地图区,并将同一线路中的站点按顺序连接形成线路走向。节点端为放置在线路站点上且具有OTDR功能的嵌入式设备,本系统中采用安卓系统来模拟OTDR检测到的断点数据。当客户端发起断点检测请求后,服务端通过数据库控制对应节点进行断点数据采集,通过分析断点数据及节点位置信息计算出断点的经纬度坐标,将其输出到主界面地图区。
系统具有以下三个功能模块:地图显示、线路绘制与修改、断点定位,如图2所示。
DOI: 10.12677/sea.2020.93023
195
软件工程与应用
石佳豪,王忠东
Figure 1. System structure 图1. 系统结构
Figure 2. System function module 图2. 系统功能模块
各个模块的功能如下:
1) 地图显示:实现加载基本地图、添加缩放控件、设置初始中心点等功能。
2) 线路绘制与修改:实现将光缆线路的具体走向及线路上站点位置绘制到百度地图上;实现在主界面的操作区,能够修改各个线路的站点坐标与站点间光缆长度信息,并在地图上实时更新渲染数据。
3) 断点定位:维护人员在系统主界面可远程向线路上的节点发送检测请求,节点使用OTDR功能检测到自身相对于断点的距离后,将距离数据返回给服务端,服务端结合断点所在光缆两端站点的经纬度以及传回的距离数据,计算出断点的坐标信息并以图形化的方式渲染到百度地图上。
3. 系统实现
3.1. 地图显示
在主界面进行地图显示的实现过程如下:
1) 在服务端视图文件中为地图显示区域预先设置DIV容器,调整容器大小。添加的外部百度地图API (http://api.map.http://m.diyifanwen.net//api?v=1.4)脚本引用,将基本地图加载进来。
2) 通过设置地图的centerAndZoom属性来确定显示的中心点以及地图坐标级别。 3) 通过设置地图的NavigationControl属性来添加地图缩放控件。
3.2. 线路绘制与修改
线路绘制功能为本光缆断点定位系统的创新设计,其实现过程如下:
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(\;最后使
DOI: 10.12677/sea.2020.93023
196
软件工程与应用
石佳豪,王忠东
用addOverlay函数将Marker对象输出到百度地图上,如map.addOverlay(marker1)。
2) 在地图上绘制线路:使用Polyline函数将已有的Point对象以直线的方式进行连接,产生Polyline线路对象,如var polyline1 = new BMap.Polyline([p1,p2,p3,……]);然后使用addOverlay函数将Polyline对象输出到百度地图上,如map.addOverlay(polyline1)。
3) 在地图上修改线路:主界面的站点位置与光缆长度按钮分别链接到对应的设置分页面,新数据的设置完成将促使服务端重新向数据库发起读取数据命令,更新地图区的线路。
3.3. 断点地位
客户端首先发起检测请求,服务端根据请求信息中的id将数据库中相应节点的检测状态由0变为1。节点端感应到检测状态后,开启测距功能并将检测到的距离数据写入数据库,同时重置检测状态。服务端结合检测到的距离数据及断点所在光缆两端站点的经纬度坐标,计算出断点的经纬度坐标,其算法如下:
判断断点所在的光缆区间:
nn+11∑di≤D≤∑di
1其中,di为线路中第i段光缆长度,D为节点返回的距离数据。则根据比例关系可得到:
D?∑1didn+1n=WD?WS
WF?WS其中,WS为断点所在光缆起始站点纬度,WF为断点所在光缆终点站点纬度,WD为断点纬度。因此,可以得到断点纬度WD:
D?∑1diWD=WS+(WF?WS)
dn+1n断点经度同理。最后利用Marker属性将断点坐标以红色水滴标记渲染到地图上。
4. 运行效果测试
在浏览器地址栏上输入http://localhost:8080/进入系统主界面,如图3。
Figure 3. System main interface 图3. 系统主界面
DOI: 10.12677/sea.2020.93023
197
软件工程与应用
石佳豪,王忠东
图中左侧地图区域渲染了两条光缆线路,每条线路站点的附近标记了该站点名称,其中具有“*OTDR*”标识的站点为节点放置的位置。点击右下角OTDR1按钮发起对id为1节点的检测请求,节点开启OTDR功能并将检测到的数据返回。节点端采用APP模拟OTDR的检测数据,如图4。
Figure 4. App interface 图4. APP界面
服务端接收到数据后,在主界面更新地图显示,标记断点并在右下角显示测试结果,如图5。
Figure 5. Result of breakpoint location 图5. 断点定位效果
点击主界面右上方的“线路1”按钮进入修改站点位置设置分页面,如图6。
Figure 6. Modify site location 图6. 修改站点位置
DOI: 10.12677/sea.2020.93023
198
软件工程与应用
基于百度地图的光缆断点定位系统的设计与实现



