基于Web 地图瓦片服务(WMTS)的林区三维场景构建
2013-01-03杨志高
杨志高,易 衡
(中南林业科技大学,湖南 长沙 410004)
基于Web 地图瓦片服务(WMTS)的林区三维场景构建
杨志高,易 衡
(中南林业科技大学,湖南 长沙 410004)
在轻量级林业信息系统开发中,必须降低获取林区的遥感地图及相关空间数据的成本,提高开发效率。通过分析Internet网络上国内外地理信息服务商提供的Web地图瓦片服务(以下简称WMTS)理论及架构,低成本高效率获取遥感图像及空间数据,并应于林区三维场景构建中。通过Google公司提供WMTS,获取到长沙市天马山林区遥感图像及高程数据,利用DirectX计算绘图技术,构建长沙市天马山林区三维场景。利用WMTS服务能有效解决林业信息系统中,数据昂贵,开发成本高,信息不够全面等问题,为轻量级林业信息系统高效开发提供便利。
林区三维场景;瓦片地图系统;地图瓦片报务;地理信息系统开发;数据整合
随着网络时代的到来,Internet网络上出现众多网络GIS数据提供商,如谷歌,百度及天地图等,他们都建立面向所有Internet用户共享的网络地理信息服务,发布基于WEB服务的API接口[2],应用WMTS技术建立瓦片地图,使得人们可以方便地通过互联网获取高清遥感图片及地理信息数据。
目前大多数的三维GIS开发都是都使用组件式GIS开发工具(如ESRI公司推出的ArcEngine),虽然使用它们能够使得用户通过组合几个控件就能轻易地开发出GIS系统,但是一定程度降低的程序开发的灵活度,在一些特定的场景及状况下,必须使用从底层开发GIS系统来应对一些特定功能,对于这样的情况进行GIS的三维开发会经常用到OpenGL技术或DirectX技术。通过分析GoogleMap的WebGIS平台架构,就能轻松整合和获取空间数据,利用DirectX+C#.net开发技术,就能完成对于某林区的三维场景的快速构建。
1 通过WMTS整合空间数据
WMTS服务商按照OGC(开放地理信息联盟)指定的WMTS规范及提出的缓存技术标准,采用预定义瓦片的方式将大量的高清遥感图像按瓦片分级技术切割成256*256像素的图片文件,用户按照Google Maps API Web Services 提供空间数据服务的接口,通过地图投影和坐标转换,计算瓦片坐标,并将所需地图的瓦片坐标及地图等级提交服务器,从服务器获取图像及空间数据。
1.1 EPSG:900913标准墨卡托投影[5]
能将地球表面上的大地坐标通过一定的数学法则运算转换到平面地图的理论和方法就是地图投影。EPSG:900913标准墨卡托投影是采取的等角圆柱投影,将整个地球投影下来,因为南北两极变形非常大,所以将高于85.05113°以上纬度的地图部分舍弃,形成南北与东西长度相等的正方形。为了计算方便,这里WMTS中,假设地球是一个半径为R=6378137米的圆球,那么按照墨卡托投影方法[1],可得到如下公式:
在公式(1),R为地球半径,Φ为大地纬度,θ为大地经度,x为横向平面坐标,y为纵向的平面坐标。因为地球的纬度取值范围是±90°,经度取值范围是±180°,那么通过投影,在投影平面坐标中,y的取值范围是±∞,x的取值范围是±20 037 508.342 789 244,为了更方便地分割图片,那么将y的取值范围缩小到±20 037 508.342 789 244,也就是纬度高于85.051 13°的南北两极地区被舍弃了,而对于林区专题图制图来说,南北两极根本没有树木,舍弃是没有问题的。这样,就可以得到宽和高均为40 075 016.685 578 488正方地球的平面投影图,因为是等角投影,方向上没有任何变形的,而在长度上纬度越高,变形越大。
1.2 地图瓦片分割技术及瓦片坐标
1.2.1 地图的瓦片分割技术
将一幅地图按照一定的瓦片大小切割成多个区块,每个区块就是一个瓦片,将所有的瓦片进行标识,建立瓦片坐标,在需要使用的时候,通过输入对应瓦片坐标,就能迅速找到瓦片,而不用整幅地图加载。
图1 瓦片分割Fig.1 Tile segmentation
如图1所示,WMTS服务器上的瓦片大小一般为分辨率256*256的图片文件,在初始0级时,也就是在图1顶层的时候,将整个地图都投影在一张256*256的图片上。再接下来第1等级时,将整个地图分割成四张256*256的图片,第2等级,分割成八张256*256的图片……以此类推。地图等级越高,分割的图片数目就越多,分辨率也就越高。那么某一个比例尺就等于40075016.685578488除以图片列数(或行数)再除以256,如第1级地图的比例尺等于40075016.685578488/2/256=78271.51 6964020484375(米/像素),比例尺可参考表1。
表1 级别、瓦片、分辨率及比例尺对照Table 1 Level,tiles,resolution and scale
1.2.2 瓦片坐标
要能够组织管理每一个瓦片图片,我们必须要建立一个瓦片坐标。我们分析瓦片坐标应具有如下几个特点:
a.每个瓦片根据级别不同对应不同的比例尺;
b.通过像素来定义每个瓦片的宽(TileWight)和高(TileHeight),即瓦片大小;
c.通过瓦片的左上角作为定位基准,建立坐标(TileX, TileY);
d.以一个瓦片为单位,定义整幅地图的宽(MatrixWidth)和高(MatrixHeight);
整幅图中,从左上角为原点坐标(0,0),一次以一个瓦片为单位向下向右增加,对每一个瓦片进行标识,得到瓦片坐标。如图2所示:
图2 瓦片坐标Fig.2 Tile coordinates
1.3 多重坐标转换的实现
要获取哪一部分的图片,用户必须向WMTS提供瓦片坐标及地图级别,而现实中一般都是使用大地经纬度坐标,那么,只要把大地坐标转换成瓦片坐标,就可以从WMTS上获取到相应位置的瓦片地图了。
为了实现这一转换,WMTS定义了多重大坐标系统,大地坐标系统,投影坐标系统,像素坐标系统以及瓦片坐标系统。那么坐标转换的过程如下:
a.大地坐标转投影坐标:大地坐标系是WGS84,以经纬度为单位;投影坐标系是以本初子午线与赤道的交点为原点,横轴东向为正,纵轴往上为正。通过前面介绍的EPSG:900913标准墨卡托投影公式(见公式1),可以将大地坐标转换成投影平面坐标(mX,mY)。
b.投影平面坐标转换成像素坐标。像素坐标是以整幅地图的左上角为原点,以一个像素为单位,向右向下增加通过下面公式2将投影坐标转换成像素坐标。其中PerL代表在n级地图下的比例尺,(mX,mY)为投影平面坐标,(pX,pY)为像素坐标。
c.像素坐标转瓦片坐标:只要把得到的像素坐标(pX,pY)除以256并且取整数就能最终得到瓦片坐标(X,Y)。
1.4 获取瓦片图片及高程数据
1.4.1 瓦片图片获取
WMTS服务商提供http协议下的url地址给用户直接获取图片,不同的服务商提供的url地址不同,下面我们以Google Map提供的url地址为例。Google获取瓦片图片的url地址 是:http://mt1.google.cn/vt/lyrs=s@122&hl=zh-CN&src=app&x=26664&y=13708&z=15。其中mt1是服务器名,Google Map有四个服务器分别为mt0~mt3,可以分流图片获取,减轻服务器压力。Lyrs表示图层,hl表示语言类型,x,y,z 分别表示瓦片的横,纵坐标以及地图级别,这里谷歌提供0-19个地图级别,获取到的是一张256*256像素的图片(如图3(A)所示)。
对于获取到的图片,只要按照瓦片进行拼接和裁剪就能得到一幅完整的地图。本例图片是长沙天马山林区的遥感图像(如图3(B)所示)。
图3 瓦片图及拼接(A,B)Fig. 3 Tiles and mosaic(A,B)
1.4.2 高程数据获取
同样,WMTS服务商提供http协议下的url地址给用户直接获取高程数据,这里我们以Google Map为例。Google获取高程的url地址是:
http://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&sensor=false。其中向服务器提供经纬度坐标,就能获得一个json文件,在文件中elevation要素就是所需地点的海拔高程。
2 林区三维场景的构建
2.1 生成高程Mesh(网格) [3]
将获取到的高程数据读取到坐标数组中,按照无约束Delaunay三角形法则建立不规则三角网,然后根据天马山林区地形的大小范围建立DirectX的Mesh(),拟合格网上的高程,获得格网地形,如图4所示。
图4 网格地形Fig. 4 Grid terrain
2.2 贴图并形成天马山林区三维场景
如图5所示为通过Google的WMTS服务获取的长沙天马山林区的三维场景,本实例中利用DirectX技术还可以对三维场景进行简单的平移,旋转,缩放以及符号标绘[4-6],如图6所示。
图5 天马山林区三维场景Fig. 5 3D scene of Tianma Forest District
3 小 结
图6 天马山林区简单标绘Fig. 6 Simple mapping of Tianma Forest District
目前,各行各业对于地理信息资源的需求越来越大,对于常用的轻量级的GIS系统开发[7-8],往往需也要大量的基础地理信息数据,而通过类似Web 地图瓦片服务(WMTS)这种新型的方式将公共信息在Internet网络上共享,使更多的用户共同分担昂贵的资源购置价格,从而降低GIS系统开发成本[9-17]。本文将获取的地理数据信息进行整合,借助DirectX的强大建模和图像处理功能,能快速,低成本建立林区的三维场景,为森林的可持续经营、森林防火、规划等提供直观视觉体验,为合理决策、指挥林区工作提供便利。
[9] Donald M. Geometric Modeling Using Octree Encoding[J].Computer Graphics and Image Proeessing, 1982, 19:129-147.
[10] Homer H, Thomas S. Survey of Construction and ManlPulation of Octrees. CVGIP, 1988,43:409431
[11] 龚健雅,夏宗国. 矢量与栅格集成的三维数据模型[J]. 武汉测绘科技大学学报,1997,22(l): 7-15.
[12] LI Qing-quan, LI De-ren. Hybrid Data Structtire Baesd on Octree and Tetrahedron in 3D GIS[C]. In:Intemational Archives of Photogrammetry and Remote Sensmg,1996,31(B4): 503-507.
[13] 李连营,李清泉,李汉武,等. 基于MapX的GIS应用开发[M]. 武汉:武汉大学出版社, 2003.
[14] 陈 军,赵仁亮. GIS空间关系的基本问题与研究进展[J]. 测绘学报, 1999, 5(2): 95-102.
[15] 岳国森. 基于oracle spatial的空间拓扑关系查询[D]. 长沙:中南大学学位论文, 2003.
[16] 熊启明,杨柳青,陈 伟,等. 基于GIS的三维模型研究[J].中南林业科技大学学报,2011, 31(4): 174-177.
[17] 孙玉荣,张 贵. 森林火灾指挥扑救决策系统中WebGIS子系统设计[J]. 中南林业科技大学学报,2008, 28(2): 117-119.
Construction of forested area three-dimensional scenes based on Web Map Tile Service (WMTS)
YANG Zhi-gao, YI Heng
(Central South University of Forestry and Technology, Changsha 410004, Hunan, China)
In the development of lightweight forestry information system, the costs to obtain forest remote sensing map and spatial data should be reduced, and the development efficiency should be raised. Through analyzing the theory and structure of Web Map Tiles Service (WMTS) by domestic and foreign geographic information service provider on the Internet network, the remote sensing images and spatial data were obtained at low cost and high efficiency, and the achivements were applied in the construction of forested area three-dimensional scenes. Through the WMTS providing by Google companies, the remote sensing imagery and elevation data of Tianma mountain forest zone in Changsha city were acquired. The three-dimensional scenes of Tianma mountain zone in Changsha city were constructed by adopting DirectX graphics technology. Therefore, the WMTS services system can effectively solve the problems in building forestry information system, such as expensive data, high developmental costs, less information, etc., and it provides a highly efficient development and useable way for the lightweight forestry information system.
forested area three-dimensional scenes;WMS; WMTS; GIS development; data integration
S771.3
A
1673-923X(2013)06-0033-04
2012-12-17
中南林业科技青年基金重点项目资助(05010A);湖南省教育厅科研项目资助(08C894)
杨志高(1971-),男,湖南桃江人,博士,副教授,硕士研究生导师,主要从事GIS研究
[本文编校:吴 彬]
[1] 刘保良,林安华,李 涛. 基于Python的离线Google地图操作实现[J]. 海洋测绘, 2012, 32(1): 39-41.
[2] 刘 磊,仇菊香,吴国洋.基于Google地图服务的城市地理信息公共服务平台的设计与实现[J]. 测绘标准化, 2011,27(1):10-13.
[3] 王德才, 杨关胜, 孙玉萍. 精通 Direct X 3D 图形与动画程序设计[M]. 北京: 人民邮电出版社, 2008.
[4] 孙晓茹,赵 军.GoogleMapsAPI在 WebGIS中的应用[J].微计算机信息, 2006, 22(7):224-226.
[5] 韩桂明,韩传久,莫建文,等. 基于OSG的雷达三维雷达信息显示系统仿真[J].仿真技术, 2008, 24(5):247-249.
[6] 王 建,杜道生. 矢量数据向栅格数据转换的一种改进算法[J]. 地理与地理信息科, 2004, 20(l): 31-34.
[7] 郭利川,郭建星,代晓波. 浅谈地理信息系统中的空间数据模型[J]. 地理空间信息, 2005, 3(l): 37-39.
[8] 韩国建,郭达志,金学林. 矿体信息的八叉树存储和检索技术[J]. 测绘学报, 1992, 21(l): 13-17.