互联网卫星影像地图的存储\\检索及坐标转换技术探讨
摘要:本文主要介绍互联网卫星影像地图的存储、检索及坐标转换的一些基本原理和方法,并探讨如何在本地化局域网内部针对互联网卫星影像地图的应用。
关键词:卫星影像地图;坐标转换;墨卡托投影;四叉树
Abstract: This paper mainly introduces some basic principles and methods of storage, retrieval and coordinate transformation of the internet satellite image map, and discusses how to apply the internet satellite image map in localization LAN internal.
Key words: satellite image map; coordinate transformation; Mercator projection; quadtree
1 引言
继谷歌地球发布之后,互联网卫星影像地图应用得到快速发展,各地图服务公司也推出了相应的二次开发技术支持,以支持互联网卫星影像地图的二次开发,适应不同客户的实际应用需求,如:google Maps API 技术。但是这些应用必须是在线连接互联网的条件下才可以实现。另外,由于卫星影像地图为栅格数据,要实现快速的浏览对网络的速度也有较高的要求,因此,一些局域网内和网速较低的环境或设备中很难得到应用。
本文主要介绍互联网卫星影像地图的分幅、检索、拼接以及大地坐标与像素坐标之间的转换等基本方法,并结合实例,探讨了互联网卫星影像地图的本地化应用。
2 卫星影像地图的存储原理
2.1卫星影像地图的投影
地球表面是曲面,而地图是二维的平面,通过采用投影技术,将地球投影到平面。地图Google、百度等卫星影像地图所采用的墨卡托(Mercator)投影,又名“等角正轴圆柱投影”。投影坐标系统的选择是:以赤道为标准纬线,本初子午线为中央经线,二者的交点为原点,赤道方向为X轴,子午线方向为Y轴,向北、向东为正,向西、向南为负。
为把地球投影到一个正方形区域,以地球赤道周长为基准,赤道周长为:2*PI*R=2*20037508.3427892(R为地球赤道半径6378137米),限定南北半球投
影维度区域为[-85.05112877980659,85.05112877980659],使投影坐标的Y轴取值,与X轴范围一致,范围为[-20037508.3427892,20037508.3427892],把近南北极区域舍弃。
2.2卫星影像地图分幅
按照上述的投影方法,地球的整个区域投影到一个正方形内,大小为256*256。以此为基础,逐级放大,分幅,各等级图幅均限定在256*256大小,每幅图称作一个“Tile(瓦片)”,JPG图像文件大小20KB左右,适合计算机存储及网络传输,所以卫星影像地图又称为“瓦片图”。
分级的方法:卫星影像地图分级总共分20级,首先把全球有效区域投影到大小为256*25的正方形内,定为0级,共一幅图,为最小比例尺地图。以后逐级把每幅图的一分为四,各级幅图的大小依然为256*256,比例尺逐级放大,图幅数量逐级增加。总图幅数:2n*2n 幅,总宽度和长度为:2n*256×2n*256,n为地图的级数。
瓦片图编号:按照瓦片图所在的行列进行编号,一般表示为:“行-列-等级”,每个级别的行列数不能超出最大行列数2n,如0级图总共只有一幅,只有1行1列,编号为:“0-0-0”,1级图4幅共2行2列,以此类推。
2.3分辨率和比例尺
分辨率是每像素单位实际投影长度比例,单位为(米/像素)。
分辨率=2*PI*R/(2n*256), R为赤道半径,n 为地图等级。
计算机显示单位是英寸,每英寸像素点数为96,因此各级卫星影像地图的比例尺计算公式为:
比例尺=1:分辨率*96/0.0254, 1英寸=0.0254米。
2.4卫星影像地图的存储
卫星影像地图的存储按照图幅进行存储为栅格数据,实际大小在20KB左右,根据不同的显示等级,容易在实现快速调用,以屏幕显示分辨率为1680*1050大小,只需要1680/256 *1050/256幅图布满屏幕。
卫星影像地图随着等级的变大,图幅数也级数倍增加,数据量也是海量数据,所以卫星影像地图的存储一般保存在大型数据库内,实现快速的调用。
3 卫星影像地图的检索
互联网卫星影像地图,由于图幅数量巨多,要实现快速检索和调用,必须提
到卫星影像地图的检索。卫星影像地图像的检索编码编制按照四叉树的编码规则进行编码,可以快速检索到其周边地图,从而大大提高数据库的检索速度。
地图检索编码的方法如下图:
图1 卫星影像地图四叉数编码示意图
每图幅均可以向下级分为:0、1、2、3四幅图,在图幅放大和缩小过程中,容易检索到本区域的相关的图幅。
谷歌地图的编码采用 QRST表示,分别代替0、1、2、3表示完全表示为字符串,可避免编码与数字混淆,实现功能都是一样。
检索码的编码是根据图幅编号可以有计算机自动实现,同样由编码可以反推出其图幅编号。图号:“0-0-0”对应检索码“0”,图号“5000-5000-18”对用编码为“000003003330003000”。实现程序可在网上找到,也可以和作者联系。
4 卫星影像地图的拼接
当需要显示一个级别的卫星影像地图时,首先要根据位置坐标进行定位,即根据大地经纬度坐标和显示级别计算出所在的图号,以及周边地图的图号,进而计算出它们的数据库的检索码,然后从数据库读出图像数据,把各幅图放到各自的位置,如同拼接“瓦片”一样。因为无论那个级别的地图我们都规定了他的实际像素尺寸(256*256),因此很容易计算出每幅图的实际像素坐标,实现计算机拼图。
图号计算像素坐标:图号为“tileX-tileY-ZoomLevel”,
像素坐标为:PixleX=tileX*256,PixleY= tileY*256,
5 坐标转换
基于互联网卫星影像地图本地化后的应用,首先需要涉及的工作就是坐标转换。坐标转换一般有以下几类:用户坐标与大地坐标的互相转换;大地坐标转换与卫星影像地图的像素坐标之间的转换;如果涉及当地独立坐标系统的话,还需要独立坐标与投影坐标或大地坐标的转换。
大地坐标向像素坐标的转换,可实现地图定位,和在卫星影像地图上叠加其他专业图形和应用。像素坐标转换为大地坐标,可实现鼠标点击的像素坐标,反转为大地坐标或用户坐标。
像素坐标为整数,用户坐标和大地坐标为双精度小数,所以不同等级的卫星
影像地图上的坐标转换精度不同,卫星影像地图的等级越高,转换精确度相对越高。
本文对坐标转换有关技术不再进行详细阐述。
6 实验案例
本实验以宁波镇海某单位城区为范围进行实验,卫星影像地图来源于互联网,该区域最小级别数为9级,最大级别数为20级。图幅总数为26624幅,其中20级2600多幅,19级3900多幅,9级1幅。数据库采用SQL Server2005 ,开发环境 Microsoft Visual Studio 2008C#。通过面向对象的开发,开发了坐标转换模块级卫星影像地图管理模块,实现卫星影像地图的基本放大、缩小、移动、定位等功能。卫星影像地图管理模块实现卫星影像地图的自动拼接功能和屏幕坐标的反向转换功能,实现屏幕坐标及时转换为用户坐标。通过坐标转换模块实现用户图形在卫星影像地图上的叠加。下面为实现切图。
接图左下角为用户独立坐标,本图为Auto cad 2008环境下调用动态链接库显示Windows Form界面。
图2 实验案例接图
7 结束语
本文重点阐述了互联网卫星影像地图的存储及检索调用的原理和方法。通过案例实验,尝试了互联网卫星影像地图本地化并经坐标转换后,在工程应用领域作为底图得到应用。为今后互联网卫星影像地图基于本地化后在诸如道路、管网等初步选线设计、土地利用调查等工程建设及其他领域提供了一个有益的尝试和宝贵的经验。
参考文献
[1] 孔祥元,郭际明.《控制测量学》.湖北:武汉大学出版社,2006
[2] 包欢,付子傲,陈刚,王玉金.基于非线性平差模型的坐标转换公式.测绘学报,2004.9
[3] 陈育春.《goole Maps api 开发大全》.北京:机械工业出版社,2010
注:文章内所有公式及图表请用PDF形式查看。
因篇幅问题不能全部显示,请点此查看更多更全内容