基于百度地图A P I的岩土工程勘察管理系统的研发
2018-05-25邱正红
邱正红
上海江南建筑设计院有限公司 上海 201899
目前,随着计算机技术的飞跃发展,各个行业均采用数据库技术对单位的项目和数据进行管理,岩土工程勘察行业也不例外,针对岩土工程勘察项目可视化管理,传统的方法是构建GIS地理数据库,在GIS平台上进行岩土工程勘察数据的可视化,但是传统GIS平台建设过程复杂和维护成本高,且需要具有GIS专业背景的技术人员进行管理[1]。针对以上缺陷,本文阐述利用百度地图API技术建立岩土工程勘察管理系统[2-4],详细介绍了管理系统的体系结构和使用百度API开发系统的步骤,为研究岩土工程勘察管理系统研发提供技术支持。
1 百度地图API
1.1 百度地图API介绍
百度地图API(Application Programming Interface)是一套由JavaScript语言编写的应用程序接口,它提供了网络地图服务的全部功能,包括地图数据、地图显示、地图操作、地图标注、地图编辑、地图查询等。百度API通过地图服务应用接口将应用开发平台和地理信息数据捆绑,将复杂的地理信息系统底层进行封装,用户可不必了解它的技术细节就能在应用中快速构建基础地理底图[5],进行各种专题要素及地图查询等网络地图服务,从而快速地在网站中构建功能丰富、交互性强的地图应用程序。
要使用百度地图进行开发,首先要申请百度地图API key。开发人员需要在百度网站上注册百度账户,然后根据需要创建密钥,再配置API key。创建一个WinForm项目,在该项目中调用百度地图API,由于百度地图API是基于javascript的,所以它更适合于web环境。当我们使用它来做WinForm程序的时候,我们需要用到webBrowser控件,然后加载一个包含了百度地图API的本地网页文件。
2 岩土工程勘察管理系统设计
2.1 系统实现的目标
利用百度地图API的可视化功能,采用数据库管理技术,将岩土工程勘察项目数据信息统一存储在数据库中,合理、高效地管理岩土工程勘察项目数据,以统一的方式输入、分析、输出这些数据,实现对岩土工程数据的科学管理和及时更新[6]。
2.2 系统开发的技术
本系统主要是对岩土工程勘察项目数据进行管理,以实现岩土工程勘察项目数据的快速查询和高效利用。本系统在Visual studio 2013集成开发平台上采用C#语言进行开发,调用百度地图API接口,数据库采用Microsoft SQL Server 2016数据库,系统框架如图1所示。
图1 系统框架图Fig.1 The framework of system
2.3 系统数据库设计
数据库管理模块主要包括工程项目数据信息表、参建单位信息表、合同备案信息表和地图信息表等。工程项目数据信息表如表1所示,参建单位信息表如表2所示,合同备案信息表如表3所示,地图信息表如表4所示。
表1 工程项目数据信息表Tab.1 the table of project data information
表2 参建单位信息表Tab.2 The table of construction information
表3 合同备案信息表Tab.3 The table of contract information
表4 地图信息表Tab.4 the table of map information
2.4 系统实现的功能
该系统主要实现的功能有:工程项目数据的录入、工程项目数据的查询、工程项目数据的统计和工程项目百度地图位置显示等功能。系统功能如图2所示。
图2 系统功能图Fig.2 The function of system
3 岩土工程勘察管理系统实例
3.1 工程项目数据的录入
工程项目数据的录入包括:工程项目数据信息、参建单位信息、合同备案信息、地图信息等。工程项目数据的录入界面见图3所示。
工程项目数据信息录入包括:工程编号、工程名称、工程地址、勘察阶段、报告编写人、施工日期、参建单位信息、文件路径等信息。
合同备案数据录入包括:工程名称、合同日期、合同金额、付款状态、付款联系人、已付款金额、付款日期和合同文件路径等信息。
参建单位信息录入包括:参建单位名称、参建单位地址、联系人/电话等信息。
地图信息主要通过调用工程名称和工程地址字段和其他信息表进行关联。
图3 工程数据的录入界面Fig.3 The entry interface of engineering data
3.2 工程信息查询
输入“工程编号”、“工程名称”、“工程地址”或者“报告编写人”的一项或者多项然后点击“查找”可以对项目进行模糊查询。工程信息查询界面见图4所示。
图4 工程信息查询界面Fig.4 The query interface of engineering information
3.3 百度地图位置查询
在百度地图图5界面左侧搜索栏中输入地址,可以显示该地址范围内已录入的工程,图中绿色为已录入的工程,点击该图标,可以打开项目信息对话框,如下图6。
图5 百度地图查询界面Fig.5 The query interface of baidu map
调用百度地图前台API伪码如下所示:
function search() {
var keyword = document.getElementById(‘searchBox’).getElementsByTagName(‘input’)[0].value; //从HTML文档“input”标签中获取输入的值
var localSearch = new BMap.LocalSearch(map, {renderOptions: { map: map, panel: “r-result”} }); //根据提供的检索区域,实例化本地检索功能
localSearch.setInfoHtmlSetCallback(function (poi, html) { //调用回调函数
if (poi && poi.point) {
map.centerAndZoom(poi.point, 17); // 初始化地图,设置中心点坐标和地图级别
window.external.Search(poi.point.lng, poi.point.lat); // 根据坐标进行搜索
}
})
localSearch.search(keyword); //根据keyword参数进行本地搜索
}
可以对该项目进行“修改”和“删除”操作。
在图中任何位置“单击”,可以打开添加项目对话框,以增加项目,如下图7。
图6 项目信息对话框Fig.6 The dialog of Project information
图7 添加项目对话框 Fig.7 The dialog of adding information
输入完成后,点击“保存”按钮,可以录入项目进入数据库。
3.4 区域项目查询
区域项目查询是以地图某个中心为原点,收搜一定半径区域内的工程项目,并在地图上显示出来,区域项目查询界面如图8所示。(嘉定区区政府附近项目)
图8 区域项目查询界面Fig.8 The query interface of regional project
通过区域项目查询功能,可以查找该区域项目信息,通过对这些项目信息的对比,可以发现该区域地质情况所具有的共性,以方便对该区域其他工程的参考利用。
3.5 项目报告查询
项目报告查询是查找某个具体的工程项目,并以文件路径的方式显示该工程项目的电子报告,方便工程技术人员快熟查找工程项目的电子资料。项目报告查询界面如9所示。
图9 项目报告查询界面Fig.9 The query interface of project report
4 结束语
(1)百度地图API由于其特有的优点而被广大编程爱好者及APP制作者所青睐,本文利用百度地图API来开发岩土工程管理系统,多技术和多学科的结合也是目前岩土工程的一个发展方向。
(2)本管理系统具有操作简便,无须对用户进行系统培训,平台可操作性好,具有先进性、实用性。将工程项目在百度地图上进行显示,方便用户更直观地获取岩土工程信息。
(3)由于本管理系统是针对PC机的,如何开发移动APP版方便用户直接在手机上进行查询;同时地图模块中增加输入项目的坐标自动标记在地图上;在地图中增加查询钻孔地层功能,方便用户随时查看周边项目地层情况将是本系统重点改进方向。
参考文献
[1] 杜传明.百度地图API在小型地理信息系统中的应用[J].测绘与空间地理信息,2011,34(2):152-153.
[2] 周浩.基于百度地图API地震应急避难场所信息地图化动态显示的实现[J].地震工程学报,2015,37(b07):114-118.
[3] 刘艳中,伍光胜,李建勇.基于百度地图的自动气象站监控系统实现[J].气象科学,2016,44(1):167-170.
[4] 张得天,王佳傲,陈飞.国内网络地图服务比较分析研究[J].华东师范大学学报(自然科学版),2017,(6):85-95.
[5] 李艳.基于地图API的Web地图服务及应用研究[J].地理信息世界,2010,8(2):54-57.
[6] 王万丽.百度地图API应用综述[J].电脑编程技巧与维护,2017,(5):35-36.