APP下载

基于坐标定位文件的不同坐标系下影像坐标一体化处理应用研究

2013-03-06魏金占莫文通王文瑞

城市勘测 2013年6期
关键词:图幅标准分射影

魏金占,莫文通,王文瑞

(南宁市勘察测绘地理信息院,广西南宁 530021)

基于坐标定位文件的不同坐标系下影像坐标一体化处理应用研究

魏金占∗,莫文通,王文瑞

(南宁市勘察测绘地理信息院,广西南宁 530021)

当前很多测绘单位北京54、西安80及国家2000坐标系数据相互并存,这就造成数据在不同坐标下相互转换问题,特别是影像数据。为了节约数据转换成本,本文提出基于坐标定位文件的不同坐标系下正射影像的一体化处理,其基本思路在于直接对影像定位的坐标文件进行转换,通过前端正确显示影像位置,其特点是原理简单易于实现,不需要复杂的数据转换。

坐标定位文件;正射影像;北京54坐标;西安80坐标

1 引 言

某市城市勘测院当前采用的坐标系有北京54、西安80及国家2000坐标系,其中多以北京54坐标系为主。当前该市的国土系统相关单位已经推行西安80坐标系,为了与国土系统衔接,减少工作不便,某市城市勘测院经常需要进行不同坐标系下数据转换。特别是某市城市勘测院自2000年起,已经累积了大量不同年份的正射影像数据,如果按照传统模式,数据存储量将翻数倍,无论人力、成本和工期都不可行。为此笔者提出一种基于基于坐标定位文件的不同坐标系下影像转换方法,其仅通过对坐标定位文件重新计算,即可完成不同坐标系下影像坐标的相互转换。

2 传统不同坐标系下影像转换方法

传统的影像转换方法多参照以下步骤完成,以SuperMap为例,具体如下:

(1)将待转换正射影像数据进行拼接,具体过程为首先将每幅标准分幅的正射影像导入数据库,根据图幅编号,将所有的正射影像进行定位,之后将拼接的正射影像数据重新采集,形成同一坐标系下的一幅正射影像;

(2)采集不同坐标系下同名特征点的坐标,常见的是两点、四点和七点模式,其中对于大范围的正射影像,多采用七点模式,点数分布多以3×3、4×4或5×5分布;

(3)根据同名特征点,进行数据纠正,得到新坐标系下正射影像数据;

(4)将新的坐标系下的数据进行分幅、裁剪、导出;

在以上步骤中,存在如下问题:第一步数据拼接时将产生大量中间数据,以某市为例,2 000 km2的0.5 m级正射影像,产生的拼接数据在近100 G左右,数据存储浪费严重,拼接时间超过4 h;第三步在数据纠正时,同样产生近100 G左右,转存时间超过4 h;第四步将数据进行裁剪,也将产生百G冗余数据,耗时更长。但这些数据仅为中间数据,时间和过程多为不必要步骤,是一种不能满足实际需求费时费力的处理方法。

3 处理思路

不同坐标系下的数据转换不外乎利用转换参数对数据进行重新计算的过程,当前各大GIS平台和CAD平台多能识别JPG,TIFF及ECW等格式的影像数据,特别是GIS软件多支持附带坐标文件的JPG,TIFF及ECW格式的影像数据。以常见的JPG和格式为例, GIS软件通过搜寻同名的JGW文件,读取其中图片所在位置、分辨率等信息并在显示端正确显示。某市已有标准分幅的北京54坐标系统下的正射影像且多为JPG格式,正射影像没有跨带,因此可通过计算每幅标准分幅图的位置、分辨率等信息,通过程序生成JGW坐标定位文件,即可满足不同平台下标准分幅正射影像的正确显示需求。基于此笔者提出如下思路:

(1)根据已有的标准分幅正射影像的图幅编号,生成JGW文件;

(2)计算不同坐标系下,北京54坐标到相应坐标系下的转换参数;

(3)通过转换参数,计算每一幅图不同坐标系下对应的JGW文件;

(4)调用其他坐标系下正射影像时,记录调用位置的坐标信息;

(5)将坐标信息反算到北京54坐标系统下,计算北京54坐标系统下该坐标点所在的图幅编号;

(6)通过计算出的图幅编号,调用对应的北京54坐标系统下的正射影像;

(7)通过第二步的转换参数,计算该影像在新坐标系下位置坐标并正确显示。

通过以上步骤,仅需要计算几个转换参数,即可实现不同坐标信息下正射影像的坐标转换了。

4 代码实现

如上所述,本思路具体实现代码如下:

(1)根据图幅编号生成JGW文件

某市城市勘测院的正射影像为1∶2 000比例尺分幅,分辨率0.2m,图幅编号即为左下角坐标。图幅编号东方向为6位,北方向为7位整数,其中图幅编号的第一个字节为“T”,图幅编号实例如:T500000-2500000-1000-1000.jpg,其中500000和2500000分别为对应图幅的左下角东方向和北方向坐标,分辨率统一为0.2m,则每幅比例尺为1∶2 000标准分幅的正射影像像元大小为5 000×5 000,则对应的JGW文件内容如下:

0.2 ‘地图单元中的一个像素在东方向上的分辨率尺度

0‘平移量

0‘旋转量

-0.2‘地图单元中的一个像素在北方向上的分辨率尺度的负值

521000.1 ‘左上角像元的东方向坐标

2504999.9 ‘左上角像元的北方向坐标

说明:分辨率为0.2 m,则左上角像元的中心点东方向坐标应为左上角东方向坐标加半个像元大小即0.1 m,北方向坐标应为左上角北方向坐标减半个像元大小即0.1 m,如图1所示。

图1 左上角像元中心点坐标与左上角坐标关系示意图

实现的函数代码如下:

Private Function W riteJGW(FileName As String)As String

Dim Tempstr As String

If InStr(1,FileName,".jpg",vbTextCompare)Then

FileName=Right(FileName,15)

Tempstr="0.2"&vbCrLf&"0"&vbCrLf&"0"&vbCrLf&"-0.2"&vbCrLf&CStr(CDbl(Left(FileName,6))+0.1)&vbCrLf&CStr(CLng(Right(Left(FileName,14),7))+999.9)

WriteJGW=Tempstr

End If

End Function

其中FileName是文件名称,WriteJGW为返回的内容,即为JGW的具体内容。

(2)计算北京54坐标到相应坐标系下的转换参数

主要采用四参数或者七参数法,一般两个不同的二维平面直角坐标系之间转换时,通常使用四参数模型(数学方程组)。在该模型中有四个未知参数,即:

①两个坐标平移量(△X,△Y),即两个平面坐标系的坐标原点之间的坐标差值;

②平面坐标轴的旋转角度A,通过旋转一个角度,可以使两个坐标系的X和Y轴重合在一起;

③尺度因子K,即两个坐标系内的同一段直线的长度比值,实现尺度的比例转换。通常K值几乎等于1。

通常至少需要两个公共已知点,在两个不同平面直角坐标系中的四对XY坐标值,才能推算出这四个未知参数,计算出了这四个参数,就可以通过四参数方程组,将一个平面直角坐标系下一个点的XY坐标值转换为另一个平面直角坐标系下的XY坐标值。因正射影像多为平面数据,所以四参数法即可满足要求。具体的转换方法是通过同名点在不同坐标系下的坐标进行,当前转换软件多已成熟,这里不多介绍。

(3)计算每一幅图不同坐标系下对应的JGW文件

通过获取计算得到四参数,计算每幅正射影像图在新坐标系下的坐标定位文件。不同坐标系下影像大小变化很小,尺度变化量几乎为零,具体如下:

Private Function WriteNewJGW(FileName As String,Dx as double,Dy as double,A as double)As String

Dim Tempstr As String

If InStr(1,FileName,".jpg",vbTextCompare)Then

FileName=Right(FileName,15)

Tempstr="0.2"&vbCrLf&A&vbCrLf&0&vbCrLf&"-0.2"&vbCrLf&CStr(CDbl(Left(FileName,6))+0.1-Dx)&vb-CrLf&CStr(CLng(Right(Left(FileName,14),7))+999.9-Dy)

WriteNewJGW=Tempstr

End If

End Function

其中A为旋转角,Dx,Dy分别为X坐标和Y坐标方向的偏移量,尺度变化量默认为0。通过如上函数,即可完成新坐标系下的坐标定位文件。将新的坐标定位文件重新存放在不同路径,以备后用。

(4)记录调用位置的坐标信息

可采用两种模式,一种是用户已知概略范围,直接输入,另一种是用户屏幕点击,自动记录该点坐标。

(5)计算北京54坐标下该坐标点所在的图幅编号;

某市城市勘测院的正射影像为1∶2 000比例尺,因此每幅正射影像的编号皆为整公里数,则用户调图点所在图幅编号反算函数如下:

‘计算用户调图点在北京54坐标系下的新X坐标

Private Function GetUserCoordX(Ux as double,Dx as double,A as double)as double

GetUserCoordX=Dx+Ux∗sin(A)

GetUserCoordX=clng(left(GetUserCoordX,len(cstr((long (GetUserCoordX)))-3)&“000”)

End Function

‘计算用户调图点在北京54坐标系下的新Y坐标

Private Function GetUserCoordY(Uy as double,Dy as double,A as double)as double

GetUserCoordY=Dy-Uy∗cos(A)

GetUserCoordY=clng(left(GetUserCoordY,len(cstr((long (GetUserCoordY)))-3)&“000”)

End Function

其中Dx、Dy、Ux、Uy、A分别为X坐标偏移量、Y坐标方向偏移量、新坐标系下X坐标、新坐标系下Y坐标、旋转角。通过以上两个函数即可反算出新坐标系下调图点坐标在北京54坐标系下所在的图幅编号。

(6)通过计算出的图幅编号,调用对应的北京54坐标系统下的正射影像;

通过上一步获取的北京54坐标系下的标准图幅坐标,获取对应的北京54坐标系统下的正射影像,具体实现代码如下:

‘获取标准图幅名称

Private Function GetMapNo(GetUserCoordX as double,GetUserCoordY as double)as string

GetMapNo=”T”&cstr(GetUserCoordX)&“-”&cstr(GetUserCoordX)&“.jpg”

End Function

调用第三步该影像在新坐标系下位置坐标并正确显示,即完成了从北京54坐标到其他坐标系下的转换显示问题。

5 结 语

本文提出的不同坐标系下正射影像的相互转换方法,其原理简单,易于实现。其优势在于仅通过计算不同坐标系下坐标定位文件而不需要对影像进行复杂处理。以下是通过坐标文件实现正射影像在北京54坐标系和西安80坐标系的显示对比:

如图2、图3所示,对于不同坐标系的正射影像,系统仅仅读取坐标文件,计算新的影像位置,重新加载即可实现不同坐标系下正射影像的正确显示。

图2 标准分幅正射影像在北京54坐标系下显示效果

图3 标准分幅正射影像在西安80坐标系下显示效果

经实践检验,这种方式可以实现实时转换,既满足了不同坐标系下正射影像的坐标转换,又节省了大量人力物力。经南宁市某城市勘测院试验,基本解决该辖区5 000 km2正射影像在不同坐标系下的显示问题。与传统动辄数天的数据转换过程而言,效率提升非常明显,可供同行参阅借鉴。

[1] 北京超图软件股份有限公司.SuperMap Objects开发教程(初级篇)[R].2008.

[2] 北京超图软件股份有限公司.SuperMap Objects开发教程(中级篇)[R].2008.

[3] 张晓东,吴正鹏,陈楚等.影像坐标转换的一体化处理研究[J].城市勘测,2013(2).

[4] 王强,束炯,张晓沪.一种遥感图像的坐标转换方法[J].测绘科学,2006(4).

[5] 华亮春,陈学工,刘智勇.正射影像图坐标转换快速方法探讨[J].国土资源导刊,2012(7).

[6] 丁华祥,朱紫阳.几种影像坐标系转换方法的应用与比较[J].地理空间信息,2007(5).

Research of DOM Transformations Between Different Coordinate Systems Based on Coordinate Files

Wei Jinzhan,MoWentong,Wang Wenrui
(Nanning Exploration&Survey Geoinformation Institute,Nanning 530021,China)

There is plenty of data in different Coordinate systems,such as Beijing 54,Xi’an 80 and National 2000. This phenomenon makes the data transformation in different Coordinate systems very common,especially to DOM.In order to save time and money,a new method was put forwards in this paper.By changing the content of coordinate files,the author is able tomake the DOM display in proper coordinate system.Thisway has been proved practical,economic and efficient for DOM transformation between different coordinate systems.

coordinate files;DOM;Beijing 54;Xi’an 80

1672-8262(2013)06-114-04

P226+.3

B

2013—06—18

魏金占(1980—),男,工程师,主要从事地籍测绘、工程测量、数据整理、GIS算法设计研究等。

猜你喜欢

图幅标准分射影
三参数射影平坦芬斯勒度量的构造
基于马尔科夫预测的分层教学下教学质量量化模型
一些球对称射影平坦的Finsler度量的构造
高校师生对原始分制与标准分制的感知对比
基于标准分优化的在线教师教学评价系统设计与实现
基于已有控制资料的正射影像自动更新
基于EXCEL的地形图图幅号转换查询方法
基于改进射影控制的柔性直流输电广域阻尼控制
基于ArcMap的图幅接合表快速生成方法研究
地形图图幅编号规则及实现