APP下载

基于WebGIS的地震服务系统的设计与实现

2019-06-21于书媛骆佳骥

防灾减灾学报 2019年2期
关键词:前台场所百度

于书媛,骆佳骥

(安徽省地震局,安徽 合肥 230031)

0 引言

地震系统的数据与地图结合的应用非常普遍,如地震烈度图、地震应急避难场所位置、地震目录等。其中,因防震减灾工作要求,中国各省市县均规划有建设或改建的地震应急避难场所[1]。但是由于地震应急避难场所更新速度快、分布区域广,覆盖范围大,传统的发布和宣传手段满足不了民众及时、准确、全面查询避难场所详细信息、到达场所最佳路径和场所功能等公共服务信息,因此,为了使公众能够通过网络快速获取全面详细的应急避难场所信息和地震信息,利于地震应急搜索工作的开展,设计应急避难场所查询可视化系统是十分必要的。本文基于百度地图API技术,结合安徽省地震应急避难场所的实际情况,设计并实现基于我省地震应急避难场所数据的前台图文信息动态展示、条件检索、后台管理等功能的可视化展示和查询系统。该系统可为城乡地震应急避难场所信息的有效宣传和科普传播,促进地震应急避难场所的信息化建设提供有效的解决方案。

1 系统设计

安徽省284个应急避难场所分散在省内14个辖市的区县,每个应急避难场所包含名称、地址、类型、经纬度、级别等地理空间位置和属性信息,上述数据的类型特征决定了基于Web地图的平台展示、查询的最佳设计方式。本系统直接调用百度地图平台,无需创建地图平台,无需地图更新以及后期地图的管理维护,同时解决对外提供地图公共服务时的地图涉密问题。

1.1 开发环境配置

该网站使用Visio studio 2012集成开发环境,MySQL数据库存储数据[1-3]。使用 Visio studio 2012新建ASP.NET空Web网站,前台网页使用Html生成静态标签(静态页面生成,也可用ASP.NET中的图形化界面进行拖拽,自动生成代码),JavaScript(百度地图引入以及Html动态标签生成)生成动态标签以及响应函数,css进行页面样式调整;后台采用C#进行数据库连接,读取数据库内容以及前台部分标签绑定函数的编写。

1.2 数据库设计

本系统选用的MySQL数据库是开放源码的关系数据库管理系统,具有体积小、速度快、总体拥有成本低的特点。通过MySQL官网下载一个免费的安装包,并安装一个插件MySQL for Visual Studio实现数据库与 VS 相连接[4-5]。最后,通过图形化界面安装Navicat for MySQL可免去繁琐的SQL代码操作,并实现对MySQL数据库的可视化管理。

1.3 系统总体结构设计

根据地震应急避难场所展示系统的建设需求,采用B/S(浏览器/服务器)体系结构来开发系统[6-7]。Web服务器是运行整个系统的核心,负责实现地图数据和属性数据库之间的连接;MySQL数据库的属性数据库和百度地图为系统提供地震应急避难场所的地理空间数据、属性数据和基础底图,包括经纬度坐标、属性数据、图片等;客户端通过浏览器能够查看地震应急避难场所的相关信息,并可将查询请求返回给服务器,系统将查询结构通过服务器返回给用户,实现动态查询信息。

1.4 系统主要功能设计

本文的地震应急避难场所可视化系统的开发地图均调用百度地图,均有前台展示端和后台管理端两个部分,系统框架如图1所示。

图1 系统框架图Fig.1 Framework map of earthquake system

1.4.1 前台展示端

(1)依据地震应急避难场所可视化系统的建设目标和需求,系统前台展示端功能如下:

导航部分:导航部分控件分为两大功能:一是筛选功能,二是搜索功能。通过下拉选择框设置筛选条件。

地图操作:指地图浏览、放大缩小、实地地图和卫星地图的切换。

场所展示:应急避难场所的地图分布展示,包括地图上的放大缩小,点击应急避难场所点,弹出每个场所的详细信息。

最佳路线查询:用户可选择不同的条件查询方式(最少时间、最短距离、避开高速)到达指定的避难场所的最优路线。

筛选条件查询:通过地震应急避难场所的类型(公园、广场、绿地、体育场、人防工事和其他避难场所)和所在辖市查询应急避难场所。

搜索查询:根据地震应急避难场所的名称搜索并地图定位到该场所的POI,显示场所的详细信息。

场所详细信息:包括应急避难场所图片、名称、地址、场所面积、可容纳人数、简介等信息的展示功能。

(2)基于公共地图服务应用平台——百度地图,重点对地震目录批量导入MySQL数据库、GPS坐标批量转百度坐标问题进行研究后,实现地震目录地图显示、地震查询(地域范围搜索、时域搜索、震级查询、框选范围查询),开发一套可视化的地震服务系统。

1.4.2 后台管理端

后台管理端主要是对前台数据的集中管理,具体实现了读取数据库中的数据、实现系统与数据库的连接和地震服务系统属性数据的管理。

2 系统关键功能实现

本系统部署环境为Windows Server 2007,数据库为MySQL、IIS服务器。本章是地震应急避难场所可视化系统开发的重点,主要介绍百度地图和地震服务系统展示查询的实现内容,包括了系统主界面、应急避难场所查询系统功能、地震可视化查询系统功能部分代码的实现。

2.1 调用百度地图

2.1.1 底图部分

两个系统均使用百度地图作为底图,首先需要引入百度地图的API(通过JavaScript语言),底图加载包括三个部分,一是实际的地图加载(源代码”createMap”函数),二是地图控件的加载(源代码”addMapControl”函数),三是地图事件设置(源代码”setMapEvent”函数)。

2.1.2 加载点覆盖物

两个项目中需要添加几百个点至几千个点,可采用循环,将后台从数据库中取出的存储到数组中的经纬度坐标,前台获取该数组。

2.2 GPS坐标批量转百度坐标

百度坐标系BD09是在WGS84坐标系基础上的二次加密,因此需要对坐标转换接口进行转换。由于百度地图提供的函数转换坐标数量有限,因此需要编写代码实现GPS坐标批量转百度坐标[8]。本文采用C#代码自动调用数据库中的GPS原始坐标进行数据坐标转换,并通过程序开发实现该过程的集成与自动化。如图1所示,百度地图在进行解析时会对经纬度坐标做一定的偏移处理,故解析出的结果和实际的GPS值有一定偏差,本文开发的纠偏程序可对数据库的GPS原始经纬度坐标进行批量纠偏处理,同时将结果导出至指定位置的数据库中,并形成纠偏后的经纬度坐标表,如图2为坐标纠偏过程。

图2 坐标纠偏Fig.2 Coordinate deviation

2.3 系统功能实现

2.3.1 主界面

主界面的功能菜单可选择显示某一个地区、某种类型或全省的应急避难场所,为方便公众查询,系统在页面上设计了下拉菜单,允许对全省16个辖市或6种类型的地震应急避难场所分别查询,如图3、图4所示。

图3 系统主界面Fig.3 System master interface

2.3.2 条件查询

本系统能够通过行政区划、场所类型、场所名称实现多种条件筛选,将符合条件的场所显示在地图上,如图4所示。

图4 条件筛选查询结果Fig.4 Condition screening results

2.3.3 联动显示

点击场所点,定位到该场所并显示详细信息窗口。点击应急避难场所列表名称,显示每个应急避难场所的实拍图片、名称、地址、类型、面积、容纳人数等信息,便于公众快速了解每个应急避难场所的基本情况,如图5所示。

图5 POI点查询结果Fig.5 POI point query results

2.3.4 交通路线查询功能

点击场所点,公众可查询所在地到周边应急避难场所的路线,将鼠标定位到某个应急避难场所位置,系统直接获取起点和终点位置,通过选择三种(最少时间、最短距离、避开高速)路线方式,系统自动规划最佳路线。该功能引用百度地图的API中的函数和方法进行实现,如图6所示。

图6 交通路线查询结果Fig.6 Traffic route query result

3 结语

百度地图作为国内最大的公共地图服务应用平台,广泛应用于各类导航、地图搜索等领域,而且百度地图具有运行稳定可靠、快捷、免费、地图数据更新及时以及服务器强大等优点。本系统直接利用百度地图平台,自己无需创建地图平台,既节省服务器购置、地图更新以及后期管理维护等昂贵费用,又彻底解决了对外提供地震地图服务时的地图涉密困扰。本项目研发安徽省地震数据地图化服务系统,可实现广域范围内的避难场所在前台页面的可视化显示和查询。

猜你喜欢

前台场所百度
听的场所
2020年5月全市场发行情况(按托管场所)
Robust adaptive UKF based on SVR for inertial based integrated navigation
远离不良场所
庞鲜、周衍耀室内设计作品
公路电助力 从幕后走向前台
孟晚舟:从前台打杂到华为副总裁
百度年度热搜榜
恋爱场所的变化
网站前台设计分包合同中应注意的问题