基于Bing Maps的地形图图幅编号的网络可视化查询
2013-12-11胡荣明陈晓娣杨成斌
胡荣明,陈晓娣,杨成斌
(西安科技大学测绘科学与技术学院,陕西西安710054)
为了管理和使用地形图的方便,需将地形图按照一定规则进行统一分幅和编号。目前,我国使用的是2012年国家基本比例尺地形图分幅和编号标准[1]。有关新旧图幅号之间的转换及新图幅号的检索,前人已经作了较为深入的研究[2-4],但仅是单独的图幅号查询、可视化或网络化。随着互联网技术的广泛应用,越来越多的服务逐渐基于网络平台建立,以提供面向公众的数据共享。为此,笔者使用Silverlight创建网络应用程序,调用Bing Maps接口及相应组件,结合C#语言编写图幅编号计算算法,以实现地形图图幅编号的网络可视化查询。
一、地形图图幅编号的计算
根据新编国家基本比例尺地形图分幅和编号标准,我国共有8种基本比例尺地形图,分别为1∶100 万、1∶50 万、1∶25 万、1∶10 万、1∶5 万、1∶2.5万、1∶1 万和 1∶5000,均以 1∶100 万的地形图为基础,按照规定的经差和纬差分幅并编号[5]。
其中,1∶100万地形图图幅编号以图幅所在行号的字符码和列号所在的数字码(两位,不足前补零)表示,如北京所在1∶100万的图幅号为J50。
其余比例尺图幅号由十位码组成,从左至右依次为图幅所在1∶100万比例尺下的行号字符码、列号数字码、比例尺代码、相应比例尺下行号数字码、列号数字码 (均为3 位,不足前补零)[6]。如114°33'45″E,39°22'30″N 在 1∶50 万比例尺地形图中图幅号为J50B001001。
各比例尺地形图的经纬差、图幅数量、比例尺代码见表1。
表1 各比例尺地形图分幅
各比例尺地形图图幅号计算的公式不再赘述,读者可参阅相关文献[1,7]。地形图图幅编号可视化表达流程如图1所示。
二、图幅的地图表达
图幅的地图表达主要通过在Silverlight网络应用程序中加载Bing Maps(必应地图)实现。
Silverlight是设计、开发和发布富互联网应用程序(RIA)的 Web技术[8],具有跨平台、跨浏览器的特性,异步传输则使得读取并更新内容不用刷新整个页面,地图缩放效果也更加流畅,增强了用户体验。
Bing Maps是微软公司推出的网络地图服务,可对地理数据进行可视化的表达,并使用户获得相应的地图数据[9]。它提供二次开发API,用户可使用Silverlight Control定制基于浏览器的地图应用,创建跨平台、跨语言的网络地图服务,实现地理数据的可视化[10]。
图1 地形图图幅编号可视化表达流程
1.加载中国地图
通过Bing Maps加载中国地图,须拥有微软授权用户进行开发的密匙(key),该密匙可在必应地图账户中心申请获得。
在创建项目后,还须添加Bing Maps地图程序集引用 Microsoft.Maps.MapControl.Common.dll。
在用户界面添加以下代码即可加载中国地图。
其中,CredentialsProvider即为微软授权开发的密匙;Center为地图初始化时的中心点坐标;ZoomLevel为初始化地图的放大级别,ZoomLevel=“4”,即初始时地图比例尺为1∶100万,地图的显示级别可与选择的比例尺保持一致。
2.图幅显示
由上一节加载的地图仅能进行平移、缩放等基本操作,并不能显示地图图幅层。为此,需要输入经纬度坐标或图幅编号,反算出图幅4个图廓点坐标。可先调用Bing Maps绘制多边形的方法,并设置图幅图廓要素的显示属性;然后将该矩形区域添加到地图图层上,即显示出对应图幅编号所属的图廓范围。
3.显示输入点在图幅中的位置
为了直观地描述输入的坐标点在图幅中的位置,还须对其进行可视化的表现。原理同图幅显示,即通过调用相应方法,获取输入的坐标值,向地图图层中添加地图图钉,并最终显示在地图上。
三、图幅编号的可视化查询
1.已知坐标查询图幅号
选择比例尺,若输入经纬度坐标(均以度、分、秒的形式表示,以下同),即可计算出该坐标所在的图幅号,并可在地图上显示该比例尺下图幅的范围及输入点在图幅中的位置,如图2所示。
图2 已知经纬度坐标求图幅号
若输入高斯平面坐标(1954北京坐标系、1980西安坐标系、城市独立坐标系均可),可先进行坐标转换,得到输入点的经纬度坐标(如图3所示);然后同上,计算图幅号并显示。
图3 坐标转换
2.已知图幅号查询坐标
输入图幅号,即可计算出图幅4个图廓点的坐标,并在地图上显示该图幅(如图4所示)。其中,4个图廓点坐标表示形式为经度、纬度,中间用逗号隔开。
图4 已知图幅号求坐标
3.已知较小比例尺图幅计算其包含的较大比例尺图幅号
当输入点的坐标或图幅号为较小比例尺,则可计算该点所在图幅包含的较大比例尺的所有图幅号。
已知点坐标为(118.20,39.42),在 1∶50 万比例尺下图幅号为J50B001002,则可计算出在该图幅下所包含的所有1∶25万的图幅号,如图5所示。其中,深色部分为该坐标所在的1∶25万图幅,浅色部分为其余3个图幅。
图5 不同比例尺地形图之间图幅号的转换
4.已知较大比例尺图幅计算其隶属于较小比例尺的图幅号
当输入点的坐标或图幅号为较大比例尺,可计算其隶属于较小比例尺的图幅号。
四、结束语
目前,该程序已在中铁隧道勘测设计院有限公司得到成功应用。实际应用表明,网络程序大大提高了数据共享的能力,使得单位内部不同工点通过浏览器即可直观、可视地进行地形图图编号的计算,方便、高效。此外,还可将网络程序与公共数据平台集成,为教学、生产提供一种在线可视化的服务,具有较强的实用性。
[1]GB/T 13989—2012国家基本比例尺地形图分幅和编号[S].北京:中国标准出版社,2012.
[2]于付国.地形图图幅编号的自动查询与检索[J].测绘通报,2000(11):32-33.
[3]田振坤,刘素红,傅莺莺,等.地形图新旧图幅编号自动检索算法及其可视化实现[J].测绘通报,2005(2):61-63.
[4]胡华科,郑春燕.基于Web的地形图查询信息系统设计与开发[J].测绘通报,2009(2):60-62.
[5]袁春霞,李伟,史建尧.地形图图幅编号自动检索系统的实现[J].地矿测绘,2009,25(1):15-18.
[6]徐启超.图幅号经纬度的换算与图库查询[J].地理空间信息,2005,3(5):43-44.
[7]郭礼珍.新的国家基本比例尺地形图分幅和编号的自动实现[J].地图,1996(3):32-34.
[8]王天宝,王尔琪,卢浩,等.基于 Silverlight的 WebGIS客户端技术与应用试验[J].地球信息科学学报,2010,12(1):36-70.
[9]郭伟鹏,沈松雨.Silverlight支持下的WebGIS的研究与实现[J].地理空间信息,2011,9(4):34-36.
[10]万晓凌.零基础学通Silverlight[M].南京:东南大学出版社,2010.