地震灾害具有破坏性、突发性及不可精准预报等特点,对人类威胁较大。作为受地震灾害影响严重的国家之一,据统计,1900—2000年中国发生650多次6级以上破坏性地震,造成29万余人死亡,数亿人受灾,1 000余万间房屋损毁,直接或间接经济损失达数千亿元(科技部等,2000);2008年5月12日汶川8.0级特大地震遇难及失踪87 000余人,直接经济损失达8 451亿元人民币;2010年4月14日青海玉树7.1级地震造成2 698人遇难,270人失踪,12 135人受伤。地震灾害严重威胁人民的生命和财产安全,应加强地震应急工作建设,有效提高全民防震减灾意识。
“十五”期间,中国地震局组织完成全国地震应急指挥技术系统体系建设,包括国务院抗震救灾指挥部和31个区域级抗震救灾指挥部地震应急指挥技术系统建设,提高全国防震减灾应急指挥工作效率(聂高众等,2002)。地震应急指挥系统(帅向华等,2009)的可靠性需要详细、完整的地震应急基础数据库支撑,及时准确地更新地震应急基础数据库是地震应急工作的重点。
1 地震应急基础数据库作为地震应急指挥系统的核心,地震应急基础数据库在地震应急工作中发挥着重要作用,主要包括地震应急救灾所需的社会、经济、人口、城市地图、地理地貌、重要地点地理坐标、应急队伍情况、应急通讯、应急预案等综合信息数据。详细完整的数据库在地震灾害应急中能提高政府的应急指挥能力,减少地震灾害造成的损失。
安徽省地震应急基础数据库采用了数据库和GIS技术(王伟等,2015),其中地理信息模型采用标准关系数据库技术来表现,通过大量收集数据并整理,根据目标分类建立一套完整的数据资源,按数据类型可分为空间数据和属性数据,且通过地市、区县、乡镇等行政区划来关联2种类型数据,其中空间数据的关联主要通过地理坐标的空间对应,而属性数据的关联则主要通过行政区划编码。
地震应急基础数据库维护是一项长期艰巨的任务,在数据资源收集整理过程中,数据信息的滞后及缺失严重制约了搜集数据的利用率,如何准确更新和完善地震应急基础数据库是一个急需解决的问题。
2 百度地图API百度地图API(百度,2017)是一套基于百度地图服务的应用接口,包括JavaScript API(梁文新等,2008)、Web服务API等开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能。百度地图JavaScript API由JavaScript语言编写,该程序接口不仅包含构建地图的各种基本功能接口,还提供本地搜索、路线规划等数据服务,应用程序开发人员根据地理信息处理需求调用相应接口,无需具体实现该接口的功能开发。
本研究主要涉及百度地图JavaScript API中的位置解析技术,包括地址解析、批量地址解析、坐标转换等。
2.1 地址解析地址解析是将地址信息转换为地理坐标点信息,又称为地理编码,逆地址解析就是将已知经纬度坐标转换为对应地址描述(如省市、街区、楼层、房间等)。经纬度数值一般由专业测绘机构使用GPS采集,利用国家测绘地理信息局接口加密后呈现在互联网地图上。文中所述地址为结构化的带街道门牌号的地址,如“北京市朝阳区阜通东大街6号”,该地址由公安局颁发。百度地图地址解析接口的功能是,将地址和经纬度一一对应起来。地址解析部分代码如下
function searchByStationName(keyword) {
var localSearch = new BMap.LocalSearch(map);
localSearch.setSearchCompleteCallback(function (searchResult) {
var poi = searchResult.getPoi(0);
var result=poi.point.lng + ", " + poi.point.lat;
});
localSearch.search(keyword);
return result;
}
通过批量回调地址解析接口,可实现批量地址的坐标转换,并将地址信息与转换的经纬度一一对应。
2.2 GPS坐标转百度地图坐标百度对外接口的坐标系并非GPS采集的真实经纬度,为了方便开发者,百度开放一个不可逆的坐标转换接口,允许将GPS坐标转换为百度地图坐标(下文称为百度坐标)。以下代码首先读取id分别为“gps X”和“gps Y”的2个文本框的值,然后作为GPS坐标点交给转换接口转换为百度坐标,坐标转换完成后交给名为translate Callback的回调函数来处理。坐标转换部分代码如下
gpsxy=function(){
var xx=document.get Element By Id(“gpsX”).value;
var yy=document.get Element By Id(“gpsY”).value;
var gpsPoint=new BMap.Point(xx,yy);
BMap.Convertor.translate(gpsPoint,0,translateCallback);
}
translateCallback=function(point){
document.get Element By Id(“baidu XY”).inner HTML=point. lng+“,”+point.lat;
}
3 应用地震应急数据库涉及面广、数据量大,对于信息资源存储,需要严格按照统一的数据格式和标准进行,保证数据质量和完备性。地震应急基础数据库采用标准关系数据库技术来表现地理信息的数据模型,数据内容包含空间数据和属性数据,使用百度地图地址解析技术,可以获取基础数据的相关空间属性信息。
3.1 基础属性数据空间化对输入的学校、医院、避难场所等地震应急基础数据的名称或地址,获得该地址的Poi点,该Poi点即包含相关空间属性信息,如:属性title代表结果的名称标题,point代表该结果所在地理位置,city代表所在城市,等等。根据获得的控件属性信息,可完善地震应急基础数据。
3.2 地理坐标纠偏国家测绘地理信息局规定,任何提供地图服务的单位必须对相应地理位置进行加密,至少使用GCJ-02标准。百度坐标在GCJ-02标准基础上,进行BD-09二次加密措施,更加保护个人隐私。因此,通过百度地图获得的地理坐标值与真实的GPS坐标值存在较大误差。通过百度地图地址解析技术获得的空间属性信息中,地理坐标为百度坐标,在地震应急中无法直接使用该空间数据,为了获得可以使用的空间数据,需对得到的坐标点进行纠偏处理。
地图数据加密偏移是,使用偏移算法对地图经纬度做加减偏移量,从而达到与实际地图不一致的效果。每家地图服务商都有一套加密偏移算法,算法本身无规律可言,但生成的偏移量遵循一定规律。在距离较近时,百度坐标与GPS坐标转换偏差较小。
假设将百度坐标(x1,y1)当作GPS坐标,通过接口获得该坐标点百度坐标为(x2,y2),则真实GPS坐标(x,y)可通过计算获得,即x = 2x1 - x2,y = 2y1 - y2。
3.2.1 获取训练数据设坐标点在中国版图区域内,编写一个Java Script函数getGpsPoint()用于生成随机GPS坐标,具体代码如下
function getGpsPoint(){
var gpsX= RandomNumBoth(90, 115).toFixed(6);
var gpsY= RandomNumBoth(26, 39).toFixed(6);
var gpsPoint=new BMap.Point(gpsX,gpsY);
return gpsPoint;
}
使用转换接口对生成的GPS坐标点进行批量转换。
3.2.2 实验结果验证输入100个测试点的百度坐标值,测试点与对应的实际GPS经纬度差值见图 1,此时,经度差值区间约(0.006,0.015),纬度差值区间约(0.002,0.008)。分别使用纠偏算法,计算得到新的坐标点经纬度坐标值,与其对应的实际GPS经纬度差值见图 2,此时,经度差值区间约(0,0.000 2),纬度差值区间约(0,0.000 3)。
统计100个测试点百度坐标与GPS坐标的平均误差,通过纠偏得到新的GPS坐标,与原GPS坐标的平均误差结果见表 1,并给出前15个测试点纠偏前后的GPS坐标和对应的百度坐标,结果见表 2。
为了进一步分析得到的GPS坐标点精度,使用百度地图提供的map.getDistance()函数,分别计算测试点的百度坐标与实际GPS坐标及纠偏后GPS坐标与实际GPS坐标之间的距离。根据实验结果,纠偏前100个百度坐标点的平均精度为1 017.92 m,最大误差为1 373.48 m,与实际GPS坐标存在较大偏移;纠偏后得到的GPS坐标平均精度为12.58 m,最大误差为27.03 m,与民用GPS系统精度相近,具有实用性。
4 具体功能地震应急基础数据处理需按照规范进行,针对不同的数据类型,处理方法有所差异,对于类型相同的数据也有多种处理方法,需要在长期实践中积累并总结经验,有针对性、准确的处理方式能更好地解决问题,提高基础数据库的更新效率。
结合文中提出的方法,调用百度地图开放的位置解析技术模块,开发相应地震应急基础数据库数据处理辅组更新工具,主要功能如下:①已有数据更新。选择需要更新的地震应急基础数据库表,对相应老旧数据进行更新,并增加相应空间属性;②增添新的数据。输入的学校、医院、避难场所等地震应急基础数据的名称或地址,使用辅组工具进行解析,并录入地震应急基础数据库。
5 结语地震应急数据库更新是地震应急工作的核心环节和主要内容,任务量大,耗时耗力,引入百度地图位置解析技术,设计地理坐标纠偏算法,可以快速准确地更新数据,为地震应急工作提供数据保障,提高地震应急工作的准备效率。
百度. 百度地图开发[EB/OL]. (2017-12-05)[2012-09-28]. http://lbsyun.baidu.com/index.php?title=jspopular. | |
科技部, 国家计委, 国家经贸委灾害综合研究组. 灾害社会减灾发展[M]. 北京: 气象出版社, 2000: 228. | |
梁文新, 宋强, 王占中. Ajax + JSP网站开发从入门到精通[M]. 北京: 清华大学出版社, 2008. | |
聂高众, 陈建英, 李志强, 等. 地震应急基础数据库建设[J]. 地震, 2002, 22(3): 105-112. DOI:10.3969/j.issn.1000-3274.2002.03.017 | |
帅向华, 姜立新, 王栋梁. 国家地震应急指挥软件系统研究[J]. 自然灾害学报, 2009, 18(3): 99-104. DOI:10.3969/j.issn.1004-4574.2009.03.017 | |
王伟, 王行舟, 张洁, 等. 基于数据库和GIS技术的地震会商系统[J]. 地震地磁观测与研究, 2015, 36(1): 127-130. DOI:10.3969/j.issn.1003-3246.2015.01.021 |