基于对象的坐标系统转换方法研究.doc

上传人:hs****ma 文档编号:549285197 上传时间:2022-10-21 格式:DOC 页数:5 大小:73.50KB
返回 下载 相关 举报
基于对象的坐标系统转换方法研究.doc_第1页
第1页 / 共5页
基于对象的坐标系统转换方法研究.doc_第2页
第2页 / 共5页
基于对象的坐标系统转换方法研究.doc_第3页
第3页 / 共5页
基于对象的坐标系统转换方法研究.doc_第4页
第4页 / 共5页
基于对象的坐标系统转换方法研究.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于对象的坐标系统转换方法研究.doc》由会员分享,可在线阅读,更多相关《基于对象的坐标系统转换方法研究.doc(5页珍藏版)》请在金锄头文库上搜索。

1、基于对象的坐标系统转换方法研究龚 英1 沈 祥2 黄劲松3(1.核工业湖州工程勘察院,浙江省湖州市环渚路666号 313000;2.浙江省余姚市住房和城乡建设局,浙江省余姚市南滨江路218 315400;3.核工业湖州工程勘察院,浙江省湖州市环渚路666号 313000)摘 要 本文通过对基于不同椭球的各种坐标系统进行分类,建立椭球系统计算机对象模型及坐标系统转计算机模型,并对各种坐标系统的转换进行归类分析。通过坐标系统转换实验,对比各种转换方法的转换效果。把对象模型封装到.net类库,方便实际应用及二次开发。关键词 坐标转换;高斯投影;对象模型;七参数A Study of the Objec

2、t-based Coordinate System TransformationGong Ying1,Shen Xiang2,Huang Jinsong3(1. Huzhou Engineering Survey Institute of Nuclear Industry, 666 Huanzhu Road, Huzhou City 313000;2.Zhejiang Yuyao Municipal Burea of Housing and Uran-Rural Development, 218 Nanbin Road, Yuyao City 315400;3.Huzhou Engineeri

3、ng Survey Institute of Nuclear Industr, 666 Huanzhu Road, Huzhou City 313000)Abstract:this text is to classify and analyze various coordinate system based on the different ellipsoid ,establish ellipsoid system computer object model and coordinate system to the computer model , classify and analyze t

4、he various coordinate system transformation .Contrast the effect of various transfer methods by experiment of coordinate system transformation. Encapsulate the object model into net for convenient and practical application and further development.Keyword:Coordinate Transformation; Gauss projection;O

5、bject Model;Seven Parameters1 前言随着经济和科学技术的发展历程,我国国家统一坐标系统经历了北京54、西安80及2008年7月最新启用的CGCS2000坐标系统阶段,且WGS84坐标系统一直应用于我们的生产过程之中。多种坐标系统及坐标系统坐标的多种格式坐标间的转换,在实际工作中还是有些容易混淆和难以操作,本文根据这种实际情况,通过对常用各种椭球参数比较,用c#语言建立各椭球对象的计算机模型,封装常用的椭球计算方法,建立了空间直角坐标系统转换对象模型,封装了转换参数求解、坐标转换方法,并建立.net动态链接库文件,以方便实际应用及二次开发。CGCS2000坐标系统在全

6、国已经全面推广应用,由于CGCS2000和WGS84的椭球参数的微小的差异,在一般的测量生产中,WGS84系统坐标直接作为CGCS2000系统坐标使用,但是两坐标系统间还是有差异的,如在高等级测量和精密测量任务中是不能完全替代,需要进行转换计算,本文也通过参考其他学术资料,实现了基于对象的应用。2 坐标系统2.1 常用坐标系统归纳分类北京54、西安80 、WGS84、CGCS2000各坐标系统,按照坐标的表示方式不同本文进行了归纳分类,如图1:图1 坐标系统分类图2.2 坐标转换根据坐标系统分类,坐标转换可以分为以下三大类:2.2.1 大地坐标与直角坐标系统间转换是基于某一个椭球上的投影正反转

7、换和空间坐标转换,是两种不同定义的坐标系统间的转换,包括椭球空间直角坐标系统。如:高斯投影正反算、空间直角坐标与大地坐标的相互转换;各种投影方式的定义和正反算公式参考文献1第7章椭球面上的测量计算;2.2.2 直角坐标系统间相互转换包括不同椭球投影坐标系统间和空间直角坐标系统间的相互转换,其他直角坐标系统间的相互转换等。均为以X,Y,H表示的右手正交坐标系,坐标系原点、各轴方向及尺度比例是坐标系统转换的关键要素,也称为七参数。空间三维直角系统间转换常用方法七参数法,平面二维系统间转换常用四参数或三参数法。转换参数的求解通常采用布尔萨沃尔夫转换模型,使用多组重合点坐标按照最小二乘法平差计算转换七

8、参数。2.2.3 不同椭球的大地坐标系统间转换如北京54坐标与西安80 坐标系间转换,北京54或西安80 与CGCS2000系统间转换。大地坐标间转换根据当前几个坐标系统性质,实际有可以分为两种情况:一是CGCS2000与WGS84间的理论转换。因为两坐标系统均为地心坐标系,且长半轴相等,仅基础椭球的扁率有微小的差异,计算公式(式1、2、3引用自文献3):dL=0; (1)dB=M(2-(2*f-f2)Sin2B)*SinB*CosB*df/(1-f); (2)dH=M*(1-(2f-f2)Sin2B)Sin2B*df/(1-f); (3)说明:f:椭球扁率;df:两椭球扁率差,M:子午圈曲率

9、半径;dB和dH单位均为米)二是参心坐标系(北京54、西安80)之间相互转换,或者与CGCS2000或WGS84间的相互转换。直接转换的方法有二维七参数法或三维七参数法,转换模型可参照文献2大地坐标转换。间接转换的方法是把大地坐标转换到直角坐标系统内,进行直角坐标系统间转换,然后再转回大地坐标系统。 3 坐标转换对象模型3.1 椭球对象模型根据资料可知,北京54坐标、西安80坐标、WGS84 和CGCS2000 采用的参考椭球参数各不相同,前二者是参心坐标系统,后二者是地心坐标系统,且后二者的椭球长半轴参数相等。各系统大地坐标投影换算、坐标换带等方法都基本一致,在各种转换中起决定作用的两个参数

10、就是椭球的长半轴a和椭球扁率f,因此本文把各椭球系统抽象为一个抽象的计算类对象,并拥有一些固定的计算方法,即继承接口IEllipsoid,接口实现长半轴、扁率属性,高斯、UTM、墨卡托空间坐标的正反转方法。建立抽象的椭球对象,代表各种椭球及基于该椭球的坐标系统的各种计算方法,抽象对象重写a,f属性后即可实现各类椭球的对象,对象在初始化同时,根据a,f 参数计算该椭球的计算出短半轴(b)、第一、二偏心率、子午圈曲率半径、卯酉圈曲率半径、子午弧长、底点维度等参数,类中方法的实现,有兴趣读者可参考测绘基础教材文献1等资料。public abstract class Ellipsoid : IElli

11、psoid public virtual double a get;/长半轴虚属性 public virtual double f get;/椭球扁率虚属性其他椭球参数求解及方法实现略 各类椭球对象的实现如:Ellipsoid_CGCS2000对象实现代码:public class Ellipsoid_CGCS2000 : Ellipsoid private double _a = 6378137;private double _f = 1.0 / 298.257222101; public override double a Get return _a; public override do

12、uble f Get return _f; 北京54椭球、西安80椭球、WGS84椭球等其他椭球实现代码略。3.2 坐标转换对象模型坐标转换对象是建立在空间直角坐标系间转换基础上的,转换参数为七参数,即三个原点位移参数,三个坐标轴旋转角度参数和一个尺度比例参数。并由七参数转换衍生出平面四参数、三参数等转换等。为方便编程管理,建立坐标系统转换对象前,定义常用七参数及四参数数据结构如下:七参数数据结构public struct K7Parameterspublic double Dx; /X轴位移参数public double Dy; /Y轴位移参数public double Dh; /Z轴位移参

13、数public double aX; /X轴旋转角度public double aY; /Y轴旋转角度public double aH; /Z轴旋转角度public double K; /尺度比例系数四参数数据结构public struct K4Parameterspublic double Dx; /X轴位移参数public double Dy; /Y轴位移参数public double a; /X、Y平面旋转角度(即:Z轴旋转角度)public double K; /尺度比例系数坐标系统转换对象的建立,主要实现七参数最小二乘法解算、坐标正反转换功能。public class Coordin

14、ateSystem : IDisposable/ 坐标转换参数public K7Parameters K7;/添加重合点坐标对public void AddXYHTwin(string PointName, double X1, double Y1, double H1, double X2, double Y2, double H2)public double BursaWolfImprove(); /布尔萨-沃尔夫转换参数求解public Coordinate3D Transform(Coordinate3D coordA); /坐标转换public Coordinate3D DeTran

15、sform(Coordinate3D coordB);/坐标逆转换3.3 坐标转换参数解算转换参数解算是CoordinateSystem对象的主要功能。解算过程实际操作很简单,在初始换CoordinateSystem对象实例后,根据对象添加坐标对的方法,添加不少于4个重合点坐标对后,调用BursaWolfImprove()方法,对象就会按照布尔萨-沃尔夫模型,按照最小二乘法原则解算出转换参数(K7),并给出平差中误差值。平差过程采用间接平差的方法进行,本文对平差过程进行先验参数迭代处理,通过实验可以适合坐标系间大角度旋转参数求解。 坐标转换功能由对象的Transform() 和DeTransform() 方法实现。利用转换矩阵,一套转换参数实现坐标系统的双向转换。亦可设置已有的转换参数,进行坐标转换。同时设计了轻量坐标系统转换类,只负责坐标的双向转换,以实现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号