当前位置:文档之家› WGS84与BJ54坐标系转换代码

WGS84与BJ54坐标系转换代码

WGS84与BJ54坐标系转换代码
WGS84与BJ54坐标系转换代码

public class CoordTrans7Param

{

public double[,] values=new double[7,1];

//{{dx},{dy},{dz},{rx},{ry},{rz},{k}};

//public double dx,dy,dz,rx,ry,rz,k;

public void Set4Param(double dx,double dy,double dz,double k)

{

this.dx=dx;

this.dy=dy;

this.dz=dz;

this.k=k;

this.rx=this.ry=this.rz=0;

}

public void SetRotationParamRad(double rx,double ry,double rz)

{

this.rx=rx;

this.ry=ry;

this.rz=rz;

}

public void SetRotationParamMM(double rx,double ry,double rz)

{

SetRotationParamRad(rx*Math.PI/648000,ry*Math.PI/648000,rz*Math.PI/648000); }

private double[,] GetMx()

{

double [,] Mx=new double[,]

{{1,0,0},

{0,Math.Cos(rx),Math.Sin(rx)},

{0,-Math.Sin(rx),Math.Cos(rx)}};

return Mx;

}

private double[,] GetMy()

{

double [,] My=new double[,]

{{Math.Cos(ry),0,-Math.Sin(ry)},

{0,1,0},

{Math.Sin(ry),0,Math.Cos(ry)}};

return My;

}

private double[,] GetMz()

{

double [,] Mz=new double[,]

{{Math.Cos(rz),Math.Sin(rz),0},

{-Math.Sin(rz),Math.Cos(rz),0},

{0,0,1}};

return Mz;

}

private double[,] GetM() //M=Mx*My*Mz? or M=Mz*My*Mx? {

double [,] M=new double[3,3];

MatrixTool.Multi(GetMz(),GetMy(),ref M);

MatrixTool.Multi(M,GetMx(),ref M);

return M;

}

private double[,] GetMdx()

{

double[,] mt = {{ 0, 0, 0 },

{ 0, -Math.Sin(rx), Math.Cos(rx) },

{ 0, -Math.Cos(rx), -Math.Sin(rx) }};

double[,] m=new double[3,3];

MatrixTool.Multi(GetMz(),GetMy(),ref m);

MatrixTool.Multi(m,mt,ref m);

return m;

}

private double[,] GetMdy()

{

double[,] mt = {{ -Math.Sin(ry), 0, -Math.Cos(ry) }, { 0, 0, 0 },

{ Math.Cos(ry), 0, -Math.Sin(ry) }};

double[,] m=new double[3,3];

MatrixTool.Multi(GetMz(),mt,ref m);

MatrixTool.Multi(m,GetMx(),ref m);

return m;

}

private double[,] GetMdz()

{

double[,] mt = {{ -Math.Sin(rz), Math.Cos(rz), 0 }, { -Math.Cos(rz), -Math.Sin(rz), 0 },

{ 0, 0, 0 }};

double[,] m=new double[3,3];

MatrixTool.Multi(mt,GetMy(),ref m);

MatrixTool.Multi(m,GetMx(),ref m);

return m;

}

private double[,] specialMulti(double[,] m,double[,] X)

{

int rowNumM=m.GetLength(0);

int colNumM=m.GetLength(1);

int rowNumX=X.GetLength(0);

int colNumX=X.GetLength(1);

int lines=rowNumX/colNumM;

double[,] mt=MatrixTool.Init(rowNumM,colNumX);

double[,] subX=MatrixTool.Init(colNumM,colNumX);

double[,] res=MatrixTool.Init(rowNumM*lines,colNumX);

for(int i=0;i

{

MatrixTool.CopySub(X,i*colNumM,0,colNumM,colNumX,ref subX,0,0); MatrixTool.Multi(m,subX,ref mt);

MatrixTool.CopySub(mt,0,0,rowNumM,colNumX,ref res,i*rowNumM,0); }

return res;

}

private double[,] specialSub(double[,] m,double[,] X)

{

int rowNumM=m.GetLength(0);

int colNumM=m.GetLength(1);

int rowNumX=X.GetLength(0);

int colNumX=X.GetLength(1);

int lines=rowNumX/rowNumM;

double[,] subX=MatrixTool.Init(rowNumM,colNumX);

double[,] res=MatrixTool.Init(rowNumX,colNumX);

for(int i=0;i

{

MatrixTool.CopySub(X,i,0,rowNumM,colNumX,ref subX,0,0); MatrixTool.Sub(m,subX,ref subX);

MatrixTool.CopySub(subX,0,0,rowNumM,colNumX,ref res,i,0);

}

return res;

}

private double[,] GetF(double[,] X,double[,] Y)

double[,] f0;

double[,] qx=MatrixTool.Init(X.GetLength(0),1); double[,] K={{-dx},{-dy},{-dz}};

double[,] S={{1+k}};

MatrixTool.Multi(X,S,ref qx);

double [,] M=GetM();

qx=specialMulti(M,qx);

MatrixTool.Sub(qx,Y,ref qx);

f0=specialSub(K,qx);

return f0;

}

private double[,] GetB(double[,] X)

{

int rowNum=X.GetLength(0);

double[,] B=MatrixTool.Init(rowNum,7);

double[,] M=GetM();

double[,] Mdx=GetMdx();

double[,] Mdy=GetMdy();

double[,] Mdz=GetMdz();

double[,] mi=MatrixTool.Ident(3);

double[,] MX,MY,MZ,MK;

MK=specialMulti(M,X);

MX=specialMulti(Mdx,X);

MY=specialMulti(Mdy,X);

MZ=specialMulti(Mdz,X);

for(int i=0;i

MatrixTool.CopySub(mi,0,0,3,3,ref B,i,0); MatrixTool.CopySub(MX,0,0,rowNum,1,ref B,0,3); MatrixTool.CopySub(MY,0,0,rowNum,1,ref B,0,4); MatrixTool.CopySub(MZ,0,0,rowNum,1,ref B,0,5); MatrixTool.CopySub(MK,0,0,rowNum,1,ref B,0,6); return B;

}

private double[,] GetA()

{

double[,] M=GetM();

double[,] I2=MatrixTool.Ident(3);

double[,] A=MatrixTool.Init(3,6);

MatrixTool.MutliConst(ref I2,-1);

MatrixTool.MutliConst(ref M,(1+k));

MatrixTool.CopySub(M,0,0,3,3,ref A,0,0);

MatrixTool.CopySub(I2,0,0,3,3,ref A,0,3);

return A;

}

private double[,] GetV(double[,] X,double[,] Y,CoordTrans7Param dpp) {

int rowNum=X.GetLength(0);

double[,] B,F,A,B2,B3,F2,V;

double[,] AT=MatrixTool.Init(6,3);

A=GetA();

MatrixTool.AT(A,ref AT);

MatrixTool.MutliConst(ref AT,1/(1+(1+k)*(1+k)));

F=GetF(X,Y);

B=GetB(X);

B2=MatrixTool.Init(3,7);

B3=MatrixTool.Init(3,1);

F2=MatrixTool.Init(rowNum,1);

for(int i=0;i

{

MatrixTool.CopySub(B,i*3,0,3,7,ref B2,0,0);

MatrixTool.Multi(B2,dpp.values,ref B3);

MatrixTool.CopySub(B3,0,0,3,1,ref F2,i*3,0);

}

MatrixTool.Sub(F,F2,ref F2);

V=specialMulti(AT,F2);

return V;

}

public double CalculateTrans7Param(double[,] X,double[,] Y)

{

int PtNum=X.GetLength(0)/3;

double[,] B;

double[,] F;

double[,] BT=MatrixTool.Init(7,3*PtNum);

double[,] BTB=MatrixTool.Init(7,7);

double[,] BTF=MatrixTool.Init(7,1);

//init pararm

CoordTrans7Param dpp=new CoordTrans7Param();

Set4Param(0,0,0,0);

this.SetRotationParamMM(0,0,0);

//debug

//this.TransCoord(X[0,0],X[1,0],X[2,0],out x2,out y2,out z2);

int round=0;

while(round++<20)

{

F=GetF(X,Y);

B=GetB(X);

MatrixTool.AT(B,ref BT);

MatrixTool.Multi(BT,B,ref BTB);

MatrixTool.Inv(BTB);

MatrixTool.Multi(BT,F,ref BTF);

MatrixTool.Multi(BTB,BTF,ref dpp.values);

if (dpp.isSmall())

break;

else

MatrixTool.Add(this.values,dpp.values,ref this.values);

}

//this.TransCoord(X[0,0],X[1,0],X[2,0],out x2,out y2,out z2);

double[,] V=GetV(X,Y,dpp);

double vMax=-1;

for(int i=0;i

{

if (Math.Abs(V[i,0])>vMax)

vMax=Math.Abs(V[i,0]);

}

return vMax;

}

private bool isSmall()

{

double s=0;

for(int i=0;i<7;i++)

s+=Math.Abs(values[i,0]);

if (s<0.0000001)

return true;

else

return false;

}

public void TransCoord(double x1,double y1,double z1,out double x2,out double y2,out double z2) {

double[,] Xi={{x1},{y1},{z1}}; double[,] DX={{dx},{dy},{dz}}; double[,] tY=new double[3,1]; double[,] K={{1+k}};

double [,] M=GetM(); MatrixTool.Multi(Xi,K,ref tY); MatrixTool.Multi(M,tY,ref tY); MatrixTool.Add(tY,DX,ref tY); x2=tY[0,0];

y2=tY[1,0];

z2=tY[2,0];

}

public double dx

{

get

{

return values[0,0];

}

set

{

values[0,0]=value;

}

}

public double dy

{

get

{

return values[1,0];

}

set

{

values[1,0]=value;

}

}

public double dz

{

get

{

return values[2,0];

}

set

{

}

}

public double rx {

get

{

return values[3,0]; }

set

{

values[3,0]=value; }

}

public double ry {

get

{

return values[4,0]; }

set

{

values[4,0]=value; }

}

public double rz {

get

{

return values[5,0]; }

set

{

values[5,0]=value; }

}

public double k

{

get

{

return values[6,0]; }

set

{

} } }

使用cass进行北京54坐标与西安80坐标相互转换教程

使用cass进行北京54坐标与西安80坐标相互转换教程 北京54坐标和西安80坐标是使用比较多的,有的时候涉及到这两个坐标系的转换,我们在这里介绍一下使用cass来进行互转的方法。当然还有其他的方法,比如利用COORD4.1进行坐标转换。COORD 4.1是一个免费的坐标转换软件,也是测绘工作者常备的工具之一。以后有机会再来介绍。先跟大家介绍如何使用cass来进行坐标系的互转。 第一步:输入公共点坐标数据 首先准备好2至3个公共点,即同时拥有54和80两套坐标,这些点要覆盖要转换数据所在在地区。然后打开CASS2008,选择“地物编辑”菜单下的“坐标转换”进入坐标转换界面,在“公共点”下面“转换前”后面的三个输入框中输入第一个公共点的54坐标, 再在“转换后”的三个输入框中输入该点的80西安坐标, 输完点击右侧“添加”按钮, 依次输入第二、第三个点的“54、80坐标并添加;如果经常在此区域进行坐标转换,可点击“存到公共点文件”,输入文件存储路径及文件名称,保存,下次使用时直接读入公共点文件即可。 第二步:输入转换前、后的数据文件名 在“转换前”右侧的输入框中输入转换前即54坐标数据的文件路径及文件名,也可以直接点击最右侧的查找按钮直接查找,然后在“转换后”右侧的输入框中输入转换后的文件名。 第三步:计算转换参数 如果用仅有两个已知点,可以计算四参数,三个或三个以上已知点则可以计算七参数。利用四参数转换就点击“计算转换四参数”按钮,如果用七参数转换还需选择转换前、后的坐标系统及转换点所在的中央子午线,点击“计算转换七参数”,软件就自动计算出了七参数。 第四步:进行数据转换 如果转换的是数据就把“转换数据”前面的对勾选上,点击“使用七参数”,即完成了数据的转换,当然也可点击“使用四参数”,完成转换。 补充:北京54坐标与西安80坐标转换原理 北京54坐标与西安坐标之间的转换其实是一种椭球参数的转换,作为这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密的,因此不存在一套转换参数可以全国通用,也没有现成的公式来完成转换因此必须利用具有两套坐标值的公共点实现转换。

坐标系向国家大地坐标系的转换完整版

坐标系向国家大地坐标 系的转换 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

北京54坐标系向国家2000大地坐标系的转换 摘要:2000国家坐标系统提高了测量的绝对精度,并且可以快速获取精确的三维地心坐标,能够提供高精度、地心、实用、统一的大地坐标系,自此以后的测量成果要求坐标系统采用2000国家大地坐标系,本文就北京54坐标系和2000国家大地坐标系原理和转换方法进行简单的分析。 1引言大地坐标系是地球空间框架的重要基础,是表征地球空间实体位置的三维参考基准,科学地定义和采用国家大地坐标系将会对航空航天、对地观测、导航定位、地震监测、地球物理勘探、地学研究等许多领域产生重大影响。建立大地坐标框架,是测量科技的精华,与空间导航乃至与经济、社会和军事活动均有密切关系,它是适应一定社会、经济和科技发展需要和发展水平的历史产物。过去受科技水平的限制,人们不得不使用经典大地测量技术建立局部大地坐标系,它的基本特点是非地心的、二维使用的。采用地心坐标系,即以地球质量中心为原点的坐标系统,是国际测量界的总趋势,世界上许多发达和中等发达国家和地区多年前就开始采用地心坐标系,如美国、加拿大、欧洲、墨西哥、澳大利亚、新西兰、日本、韩国等。我国也于2008年7月开始启用新的国家大地坐标系—2000国家大地坐标系。 2北京54系我国北京54坐标系是采用前苏联的克拉索夫斯基椭球参数(长轴6378245ra,短轴635686m,扁率1/298.3),并与前苏联1942年坐标系进行联测,通过计算建立了我国大地坐标系,定名为1954年北京坐标系。其坐标的原点不在北京,而是在前苏联的普尔科沃。

mapgis54转80坐标详解(附图)

MAPGIS“北京54 坐标系”转“西安80坐标系”详细教程 北京54坐标系和西安80坐标系其实是一种椭球参数的转换,作为这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,因为他们是两个不同的椭球基准。那么,两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型,即X平移,Y平移,Z平移,X旋转(WX),Y旋转(WY),Z旋转(WY),尺度变化(DM)。若求得七参数就需要在一个地区提供3个以上的公共点坐标对(即北京54坐标下x、y、z和西安80坐标系下x、y、z),如果区域范围不大,最远点间的距离不大于30km(经验值),这可以用三参数,即X平移,Y平移,Z平移,而将X旋转,Y旋转,Z旋转,尺度变化面DM视为0。 方法: 第一步:向地方测绘局(或其他地方)找本区域三个公共点坐标对(即北京54坐标下x、y、z和西安80坐标系下x、y、z); 第二步:讲三个点的坐标对全部转换以弧度为单位。(菜单:投影转换——输入单点投影转换,计算出这三个点的弧度值并记录下来);第三步:求公共点操作系数(菜单:投影转换——坐标系转换)。如果求出转换系数后,记录下来; 第四步:编辑坐标转换系数(菜单:投影转换——编辑坐标转换系数),最后进行投影变换,“当前投影”输入80坐标系参数,“目的投影”

输入54坐标系参数。进行转换时系统会自动调用曾编辑过的坐标转换系数。 详细步骤如下: 首先将MAPGIS平台的工作路径设置为“…..\北京54转西安80”文件夹下。 下面我们来讲解“北京54 坐标系”转“西安80坐标系”的转换方法和步骤。 一、数据说明 北京 54 坐标系和西安80 坐标系之间的转换其实是两种不同的椭球参数之间的转换,一般而言比较严密的是用七参数布尔莎模型,即X 平移,Y 平移,Z 平移,X 旋转(WX),Y 旋转(WY),Z 旋转(WY),尺度变化(DM)。若得七参数就需要在一个地区提供 3 个以上的公共点坐标对(即北京54 坐标下x、y、z 和西安80 坐标系下x、y、z),可以向地方测绘局获取。 二、“北京54 坐标系”转“西安80 坐标系”的操作步骤 启动“投影变换模块”,单击“文件”菜单下“打开文件”命令,将演示数据“演示数据_北京54.WT”、“演示数据_北京54.WL”、“演示数据_北京54.WP”打开,如图1 所示:

北京54测绘成果转西安80坐标系计算方法的研究

北京54测绘成果转西安80坐标系计算方法的研究 本文介绍了1954年北京坐标系、1980西安坐标系及其相互关系、转换原理及利用软件进行数据转换的方法。 标签:测绘坐标系转换方法 1概述 近几年来,在测绘行政主管部门的推动下,我国西安80坐标系正在逐步得到使用,第二次全国土地调查已明确要求平面控制使用80西安坐标系统,省级基础测绘成果1:10000地形图也采用了1980西安坐标系,现有1954年北京坐标系将逐渐向1980西安坐标系过渡,但是,五十年来,我国在1954年北京坐标系下完成的大地控制及基本系列地形图数量巨大,价值巨大,必须充分利用。在当前测绘生产中既存在将54系转成80系的问题,也有相反的情况。 2北京54坐标系、西安80坐标系及其相互关系 1954年北京坐标系是我国五十年代由原苏联1942年普尔科沃坐标系传算而来,采用克拉索夫斯基椭球体,其参数为:长半轴为6378245米,扁率为1/298.3。这个坐标系的建立在我国国民经济和社会发展中发挥了巨大的作用,但该坐标系存在着定位后的参考椭球面与我国大地水准面不能达到最佳拟合,在中国东部地区大地水准面差距自西向东增加最大达+68米;其椭球的长半轴与现代测定的精确值相比109米的缺陷;定向不明确,椭球短轴未指向国际协议原点CIO,也不是中国地极原点JYD1968.0;起始大地子午面也不是国际时间局BIH所定义的格林尼治平均天文台子午面。同时,该系统提供的大地点坐标是通过局部平差逐级控制求得的,由于施测年代不同、承担单位不同,不同锁段算出的成果相矛盾,给用户使用带来困难。1978年4月,中国在西安召开了全国天文大地网平差会议,在会议上决定建立中国新的国家大地坐标系,有关部门根据会议纪要,开展并进行了多方面的工作,建成了1980西安国家大地坐标系(GDZ80),该坐标系全面描述了椭球的4个基本参数,同时反映了椭球的几何特性和物理特性,这4个参数的数值采用的是1975年国际大地测量与地球物理联合会第16届大会的推荐值(简称IGA-1975椭球)。其主要参数为:长半轴为6378140 米,扁率为1/298.257。IAG-1975椭球参数精度较高,能更好地代表和描述地球的几何形状和物理特征。在其椭体定位方面,以我国范围内高程异常平方和最小为原则,做到了与我国大地水准面较好的吻合。此外,1982年我国已完成了全国天文大地网的整体平差,消除了以前局部平差和逐级控制产生的不合理影响,提高了大地网的精度,在上述基础上建立的1980西安坐标系比1954年北京坐标系更科学、更严密、更能满足科研和经济建设的需要。由于北京54坐标系和西安80坐标系是两种不同的大地基准面,这两个椭球参数不同,参心所在位置不同,指向不同,在高斯平面上其纵横坐标轴不重合,因而同一点的坐标是不同的,无论是三度带六度带还是经纬度坐标都是不同的,其平面位置最大相差80米。

北京54坐标系与西安80坐标系坐标转换公式与算法

北京54坐标系与西安80坐标系坐标转换公式与算法 地形图由北京54坐标系转换到西安80坐标系应在高斯平面上进行。由于新旧椭球参数不同,参心所在位置也不同,在高斯平面上其纵横坐标轴不重合,因此地形图上各点在两坐标系统下x,y均有一差值。将北京54坐标地形图转换到西安80坐标地形图,就是对每幅旧地图上求出测图控制点的新旧坐标系统之高斯平面坐标的差值,即改正量,通过这些改正量,在旧图上建立新系统的公里网线确定新的图廓点,使之成为一幅新图。通过对我国1∶10万地形图内数千个一二等大地点的计算统计证明,每幅图只要计算一个控制点的高斯平面坐标改正量作为整幅图的公共改正量。而我国的大部分GIS工程均采用大于1∶10万比例尺建库,因此每幅均可用选一点计算高斯平面的改正量作为该图幅公共改正量进行新的地形图转换。新旧地形图转换方法分为两步: 第一步:坐标系统转换,其方法如下: 1.1.1大地坐标转换

式中△e2为第一偏心率平方之差;a,e2分别为克氏椭球的长半径和第一偏心率的平方;L,B为这个点的大地经纬度;△x,△y,△z为两椭球参心的差值。 则这个点在1980西安坐标系中的大地坐标为: 1.1.2根据B80,L80采用高斯投影正算公式计算X80,Y80高斯投影正算公式为: 式中x0=C0B-cosB(c1sinB+c2sin3B+c3sin5B);m0=lcosB;l=L -中央子午线经度值(弧度);L,B为该点的经纬度值

上列二式中: 1.1.3 求取转换改正量 平差改正量的计算1954年北京坐标系所提供的大地点成果没有经过整体平差,而1980西安坐标系提供的大地成果是经过整体平差的数据,所以新旧系统转换还要考虑平差改正量的问题。计算平差改正量比较麻烦,没有一定的数学模式,不同地区,平差改正量差别很大,在我国中部某些地区,平差改正量在1m以下,而在东北地区的某些图幅则在10m以上。在实际计算中,根据这些差值和它们的大地坐标在全国分幅图上分别绘制两张平差改正量分布图(即dx,dy分布图),在分布图上可以直接内播出任何图幅内所求点的平差改正量,即DX2,DY2。 根据转换改正量和平差改正量按下列公式计算总改正量: 式中DX1,DY1为新旧坐标系的转换改正量,DX2,DY2为控制点经整体平差后的平差改正量。

参考系坐标系及转换汇总

1 天球坐标系、地球坐标系和卫星测量中常用的坐标系的建立方法。天球直角坐标系 天球坐标系 天球球面坐标系 坐标系 地球直角坐标系 地球坐标系 地球大地坐标系 常用的天球坐标系:天球赤道坐标系、天球地平坐标系和天文坐标系。在天球坐标系中,天体的空间位置可用天球空间直角坐标系或天球球面坐标系两种方式来描述。 1 天球空间直角坐标系的定义 地球质心O为坐标原点,Z轴指向天球北极,X轴指向春分点,Y轴垂直于XOZ平面,与X轴和Z轴构成右手坐标系。则在此坐标系下,空间点的位置由坐标(X,Y,Z)来描述。 春分点:当太阳在地球的黄道上由天球南半球进入北半球,黄道与赤道的交 点).

2 天球球面坐标系的定义 地球质心O为坐标原点,春分点轴与天轴(天轴:地球自转的轴)所在平面为天球经度(赤经)测量基准——基准子午面,赤道为天球纬度测量基准而建立球面坐标。空间点的位置在天球坐标系下的表述为(r,α,δ)。

表示:2-1天球空间直角坐标系与天球球面坐标系的关系可用图

岁差和章动的影响 岁差:地球实际上不是一个理想的球体,地球自转轴方向不再保持不变,这 使春分点在黄道上产生缓慢的西移,这种现象在天文学中称为岁差。章动:在日月引力等因素的影响下,瞬时北天极将绕瞬时平北天极旋转,大致呈椭圆,这种现象称为章动。 极移:地球自转轴相对地球体的位置并不是固定的,因而,地极点在地球表面上的位置,是随时间而变化的,这种现象称为极移。地球的自转轴不仅受日、月引力作用而使其在空间变化,而且还受地球内部质量不均匀影响在地球内部运动。前者导致岁差和章动,后者导致极移。 协议天球坐标系:为了建立一个与惯性坐标系统相接近的坐标系,人们通常选择某一时刻,作为标准历元,并将此刻地球的瞬时自转轴(指向北极)和地心至瞬时春分点的方向,经过瞬时的岁差和章动改正后,分别作为X轴和Z轴的指向,。协议天球坐标系由此建立的坐标系称为 3 地球坐标系

南方CASS坐标转换方法

南方CASS坐标转换方法 摘要本文介绍了1954年北京坐标系、1980西安坐标系及其相互关系、转换原理及利用软件进行数据转换的两种方法。 关键词:坐标系坐标转换方法 近几年来,在测绘行政主管部门的推动下,我国西安80坐标系正在逐步得到使用,第二次全国土地调查已明确要求平面控制使用80西安坐标系统,省级基础测绘成果1:10000地形图也采用了1980西安坐标系,现有1954年北京坐标系将逐渐向1980西安坐标系过渡,但是,五十年来,我国在1954年北京坐标系下完成的大地控制及基本系列地形图数量巨大,价值巨大,必须充分利用。在当前测绘生产中既存在将54系转成80系的问题,也有相反的情况。

一、北京54坐标系、西安80坐标系及其相互关系 1954年北京坐标系是我国五十年代由原苏联1942年普尔科沃坐标系传算而来,采用克拉索夫斯基椭球体,其参数为:长半轴为6378245米,扁率为1/298.3。这个坐标系的建立在我国国民经济和社会发展中发挥了巨大的作用,但该坐标系存在着定位后的参考椭球面与我国大地水准面不能达到最佳拟合,在中国东部地区大地水准面差距自西向东增加最大达+68米;其椭球的长半轴与现代测定的精确值相比109米的缺陷;定向不明确,椭球短轴未指向国际协议原点CIO,也不是中国地极原点JYD1968.0;起始大地子午面也不是国际时间局BIH所定义的格林尼治平均天文台子午面。同时,该系统提供的大地点坐标是通过局部平差逐级控制求得的,由于施测年代不同、承担单位不同,不同锁段算出的成果相矛盾,给用户使用带来困难。 1978年4月,中国在西安召开了全国天文大地网平差会议,在会议上决定建立中国新的国家大地坐标系,有关部门根据会议纪要,开展并进行了多方面的工作,建成了1980西安国家大地坐标系(GDZ80),该坐标系全面描述了椭球的4个基本参数,同时反映了椭球的几何特性和物理特性,这4个参数的数值采用的是1975年国际大地测量与地球物理联合会第16届大会的推荐值(简称IGA-1975椭球) 。其主要参数为:长半轴为6378140 米,扁率为1/298.257。IAG-1975椭球参数精度较高,能更好地代表和描述地球的几何形状和物理特征。在其椭体定位方面,以我国范围内高程异常平方和最小为原则,做到了与我国大地水准面较好的吻合。

北京54坐标系与西安80坐标系及常用坐标系参数(精)

北京54坐标系与西安80坐标系及常用坐标系参数西安80坐标系与北京54坐标系其实是一种椭球参数的转换,作为这种转,在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,因为它们是两个不同的椭球基准。那么,两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型,即X平移, Y平移,Z平移,X旋转(WX,Y 旋转(WY,Z旋转(WZ,尺度变化(DM。要求得七参数就需要在一个地区需要3个以上的已知点。如果区域范围不大,最远点间的距离不大于30Km(经验值,这可以用三参数,即X平移,Y平移,Z平移,而将X旋转,Y旋转, Z旋转,尺度变化面DM视为0。 方法如下: 第一步:向地方测绘局(或其它地方找本区域三个公共点坐标对; 第二步:求公共点的操作系数。 第三步:利用相关软件进行投影变换。 54国家坐标系: 建国初期,为了迅速开展我国的测绘事业,鉴于当时的实际情况,将我国一等锁与原苏联远东一等锁相连接,然后以连接处呼玛、吉拉宁、东宁基线网扩大边端点的原苏联1942年普尔科沃坐标系的坐标为起算数据,平差我国东北及东部区一等锁,这样传算过来的坐标系就定名为1954年北京坐标系。因此,P54可归结为: a.属参心大地坐标系; b.采用克拉索夫斯基椭球的两个几何参数; c.大地原点在原苏联的普尔科沃; d.采用多点定位法进行椭球定位; e.高程基准为1956年青岛验潮站求出的黄海平均海水面;

f.高程异常以原苏联1955年大地水准面重新平差结果为起算数据。按我国天 文水准路线推算而得。 自P54建立以来,在该坐标系内进行了许多地区的局部平差,其成果得到了广泛的应用。 1954北京坐标系参考椭球基本几何参数 长半轴a=6378245m 短半轴b=6356863.0188m 扁率α=1/298.3 第一偏心率平方=0.006693421622966 第二偏心率平方=0.006738525414683 80国家坐标系:采用国际地理联合会(IGU第十六届大会推荐的椭球参数,大地 坐标原点在陕西省泾和县永乐镇的大地坐标系,又称西安坐标系。 C80是为了进行全国天文大地网整体平差而建立的。根据椭球定位的基本原理,在建立C80坐标系时有以下先决条件: (1大地原点在我国中部,具体地点是陕西省径阳县永乐镇; (2C80坐标系是参心坐标系,椭球短轴Z轴平行于地球质心指向地极原点方向,大地起始子午面平行于格林尼治平均天文台子午面; X轴在大地起始子午面内与Z轴垂直指向经度0方向; Y轴与Z、X轴成右手坐标系; (3椭球参数采用IUG1975年大会推荐的参数因而可得C80椭球两个最常用的几何参数为:

西安80坐标系与北京54坐标系转换

西安80坐标系与北京54坐标系转换 西安80坐标系与北京54坐标系其实是一种椭球参数的转换,这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密的,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,因为它们是两个不同的椭球基准。那么,两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型,即X 平移,Y 平移,Z 平移,X 旋转(WX),Y 旋转(WY),Z 旋转(WZ),尺度变化(DM )。要求得七参数就需要在一个地区需要 3 个以上的已知点。如果区域范围不大,最远点间的距离不大于30Km(经验值),这可以用三参数,即X 平移,Y 平移,Z 平移,而将X 旋转,Y 旋转,Z 旋转,尺度变化面DM视为0 。 方法如下(MAPGIS平台中): 第一步:向地方测绘局(或其它地方)找本区域三个公共点坐标对(即54坐标x,y,z和80坐标x,y,z); 第二步:将三个点的坐标对全部转换以弧度为单位。(菜单:投影转换/输入单点投影转换,计算出这三个点的弧度值并记录下来) 第三步:求公共点求操作系数(菜单:投影转换/坐标系转换)。如果求出转换系数后,记录下来。 第四步:编辑坐标转换系数。(菜单:投影转换/编辑坐标转换系数。)最后进行投影变换,“当前投影”输入80坐标系参数,“目的投影”输入54坐标系参数。进行转换时系统会自动调用曾编辑过的坐标转换系数。 北京54坐标到西安80坐标转换小结:

1、北京54和西安80是两种不同的大地基准面,不同的参考椭球体,因而两种地图下,同一个点的坐标是不同的,无论是三度带六度带坐标还是经纬度坐标都是不同的。 2、数字化后的得到的坐标其实不是WGS84的经纬度坐标,因为54和80的转换参数至今没有公布,一般的软件中都没有54或80投影系的选项,往往会选择WGS84投影。 3、WGS8 4、北京54、西安80之间,没有现成的公式来完成转换。 4、对于54或80坐标,从经纬度到平面坐标(三度带或六度带)的相互转换可以借助软件完成。(54和80也有经纬度,只不过我们都用其投影的直角坐标值罢了,不能看到经纬度就以为是wgs84的) 5、54和80间的转换,必须借助现有的点和两种坐标,推算出变换参数,再对待转换坐标进行转换。(均靠软件实现) 6、在选择参考点时,注意不能选取河流、等高线、地名、高程点,公路尽量不选。这些在两幅地图上变化很大,不能用作参考。而应该选择固定物,如电站,桥梁等。 3.高斯投影平面直角坐标XY计算大地坐标纬度B,经度L(反算) A=(54,80)?输入54或80(54为北京坐标系,80为西安坐标系) JX=(1,2,3)? 输入正反换带三项信息(1为正算,2为反算,3为换带计算),选择2 X(0)m? 输入该点高斯投影平面直角坐标X值

参考系坐标系及转换

1天球坐标系、地球坐标系和卫星测量中常用的坐标系的建立方法。 L天球直角坐标系 厂天球坐标系 天球球面坐标系 地球直角坐标系地球大地坐标系 常用的天球坐标系:天球赤道坐标系、天球地平坐标系和天文坐标系。 在天球坐标系中,天体的空间位置可用天球空间直角坐标系或天球球面坐标系两种方式来描述。 1天球空间直角坐标系的定义 地球质心0为坐标原点,Z轴指向天球北极,X轴指向春分点,丫轴垂直于XOZ 平面,与X轴和Z轴构成右手坐标系。则在此坐标系下,空间点的位置由坐标(X,丫Z)来描述。 春分点:当太阳在地球的黄道上由天球南半球进入北半球,黄道与赤道的交点)

A <空闵直笥坐瑟厂K V : z 丿的楚辽” 2天球球面坐标系的定义 地球质心0为坐标原点,春分点轴与天轴(天轴:地球自转的轴)所在平面为天 球经度(赤经)测量基准一一基准子午面,赤道为天球纬度测量基准而建立球面 坐标。空间点的位置在天球坐标系下的表述为(r ,a,S )。 天欢申诗与地球质?M 重合T 赤礙刊为舍天黏 和感分点的天球子牛面 与过天体$的天球子牛面 之间的夾角,未纬 S 为 原点Mi 天体£的连規与 天球击道面之间的夹角, 旬題丫为展点Mi 天体S 球球】?坐抚1就,S 1 r )的C 义: 天球空间直角坐标系与天球球面坐标系的关系可用图 2-1表示: 感鼻—地I 球质心M 一孑塾一指向天球北奴Pn 、 ¥菇'一垂直于XMZ 平面, 与X 抽和Z 抽枸成右 手坐 标系统。 Pn A Z y X 1 \y X 奋 My\5 Ps / /

对同一空间点,直角坐标糸与其著效的球面坐标糸参教间有如下转换关务: C X - /cos a cos S < Y= / sin cos -Z = ysin 5 Y V a = arctan —— L Xz d -arctail . 岁差和章动的影响 岁差:地球实际上不是一个理想的球体,地球自转轴方向不再保持不变,这使春分点在黄道上产生缓慢的西移,这种现象在天文学中称为岁差。 章动:在日月引力等因素的影响下,瞬时北天极将绕瞬时平北天极旋转,大致呈椭圆,这种现象称为章动。 极移:地球自转轴相对地球体的位置并不是固定的,因而,地极点在地球表面上的位置,是随时间而变化的,这种现象称为极移。地球的自转轴不仅受日、月引力作用而使其在空间变化,而且还受地球内部质量不均匀影响在地球内部运动。 前者导致岁差和章动,后者导致极移。 协议天球坐标系:为了建立一个与惯性坐标系统相接近的坐标系,人们通常选择某一时刻,作为标准历元,并将此刻地球的瞬时自转轴(指向北极)和地心至瞬 时春分点的方向,经过瞬时的岁差和章动改正后,分别作为 X轴和Z轴的指向, 由此建立的坐标系称为协议天球坐标系。天味奋 5 y X X Ps

北京54坐标转换为地理坐标的简易方法

北京54坐标转换为地理坐标的简易方法 1. 椭球体、基准面及地图投影 GIS中的坐标系定义是GIS系统的基础,正确定义GIS系统的坐标系非常重要。GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid)、大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的1975地球椭球体建立了我国新的大地坐标系--西安80坐标系,目前大地测量基本上仍以北京54坐标系作为参照,北京54与西安80坐标之间的转换可查阅国家测绘局公布的对照表。 WGS1984基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心,目前GPS测量数据多以WGS1984为基准。

上述3个椭球体参数如下: 椭球体与基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky椭球体,但它们的基准面显然是不同的。 地图投影是将地图从球面转换到平面的数学变换,如果有人说:该点北京54坐标值为X=4231898,Y=21655933,实际上指的是北京54基准面下的投影坐标,也就是北京54基准面下的经纬度坐标在直角平面坐标上的投影结果。 2. GIS中基准面的定义与转换 虽然现有GIS平台中都预定义有上百个基准面供用户选用,但均没有我们国家的基准面定义。假如精度要求不高,可利用前苏联的Pulkovo 1942基准面(Mapinfo中代号为1001)代替北京54坐标系;假如精度要求较高,如土地利用、海域使用、城市基建等GIS系统,则需要自定义基准面。 GIS系统中的基准面通过当地基准面向WGS1984的转换7参数来定义,转换通过相似变换方法实现,具体算法可参考科学出版社1999年出

北京54坐标系转换工具

北京54坐标系转换工具 利用ARCGIS进行自定义坐标系和投影转换 ARCGIS种通过三参数和其参数进行精确投影转换 注意:投影转换成54坐标系需要下载无偏移卫星图像进行转换,有偏移的转换将导致转换后的卫星图像扭曲,坐标错误,无法配准。 第一步:选择无偏移地图源,下载你所需要的卫星图像。 第二步:选择BIGEMAP软件右边工具栏,选择【投影转换】,如下图所示: 2.1 选择说明: 1. 源文件:选择下载好的卫星图像文件(下载目录中后缀为tiff的文件) 2. 源坐标系:打开的源文件的投影坐标系(自动读取,不需要手动填写) 3. 输出文件:选择转换后你要保持文件的文件路径和文件名 4. 目标坐标系:选择你要转换成的目标坐标系,如下图:

选择上图的更多,如下图所示: 1:选择 -Beijing 1954 2:选择地区3:选择分度带对应的带号(一般默认,也可以手动修改)

选择对应的分度带或者中央子午线(请参看:如何选择分度带?),点击【确定】 5. 重采样算法:投影转换需要将影像的像素重新排列,一次每种算法的效率不一样,一般选择【立方卷积采样】,以达到最好的效果。如下图: 6. 指定变换参数:在不知道的情况下,可以不用填此处信息,如果√上,则如下图:

此参数为【三参数】或者【七参数】,均为国家保密参数,需要到当地的测绘部门或者国土部门,以单位名义签保密协议进行购买,此参数各地都不一样,是严格保密的,请不要随便流通。 第三步:点击【确定】,开始转换,如下图:

第四步:完成后,打开你刚才选择的输出文件夹,里面就是转换后的卫星图像。 第五步:如果你需要套合你手里已经有的矢量文件,请参看:【BIGEMAP无偏移影像叠加配准】

54坐标系、80坐标系、84坐标系之间的转换关系

工程施工过程中,常常会遇到不同坐标系统间,坐标转换的问题。目前国内常见的转换有以下几种:1,大地坐标(BLH)对平面直角坐标(XYZ);2,北京54全国80及WGS84坐标系的相互转换;3,任意两空间坐标系的转换。其中第2类可归入第三类中。所谓坐标转换的过程就是转换参数的求解过程。常用的方法有三参数法、四参数法和七参数法。以下对上述三种情况作详细描述如下: 1,大地坐标(BLH)对平面直角坐标(XYZ) 常规的转换应先确定转换参数,即椭球参数、分带标准(3度,6度)和中央子午线的经度。椭球参数就是指平面直角坐标系采用什么样的椭球基准,对应有不同的长短轴及扁率。一般的工程中3度带应用较为广泛。对于中央子午线的确定有两种方法,一是取平面直角坐标系中Y坐标的前两位*3,即可得到对应的中央子午线的经度。如x=3250212m,y=395121123m,则中央子午线的经度=39*3=117度。另一种方法是根据大地坐标经度,如果经度是在155.5~185.5度之间,那么对应的中央子午线的经度=(155.5+185.5)/2=117度,其他情况可以据此3度类推。 另外一些工程采用自身特殊的分带标准,则对应的参数确定不在上述之列。 确定参数之后,可以用软件进行转换,以下提供坐标转换的程序下载。 2,北京54全国80及WGS84坐标系的相互转换 这三个坐标系统是当前国内较为常用的,它们均采用不同的椭球基准。 其中北京54坐标系,属三心坐标系,大地原点在苏联的普而科沃,长轴6378245m,短轴6356863,扁率1/298.3;西安80坐标系,属三心坐标系,大地原点在陕西省径阳县永乐镇,长轴6378140m,短轴6356755,扁率1/298.25722101;WGS84坐标系,长轴6378137.000m,短轴6356752.314,扁率1/298.257223563。由于采用的椭球基准不一样,并且由于投影的局限性,使的全国各地并不存在一至的转换参数。对于这种转换由于量较大,有条件的话,一般都采用GPS联测已知点,应用GPS软件自动完成坐标的转换。当然若条件不许可,且有足够的重合点,也可以进行人工解算。详细方法见第三类。 3,任意两空间坐标系的转换 由于测量坐标系和施工坐标系采用不同的标准,要进行精确转换,必须知道至少3个重合点(即为在两坐标系中坐标均为已知的点。采用布尔莎模型进行求解。布尔莎公式: 对该公式进行变换等价得到: 解算这七个参数,至少要用到三个已知点(2个坐标系统的坐标都知道),采用间接平差模型进行解算: 其中:V 为残差矩阵; X 为未知七参数; A 为系数矩阵; 解之:L 为闭合差 解得七参数后,利用布尔莎公式就可以进行未知点的坐标转换了,每输入一组坐标值,就能求出它在新坐标系中的坐标。但是要想GPS观测成果用于工程或者测绘,还需要将地方直

WGS84经纬度坐标到北京54高斯投影坐标的转换

使用ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标的转换 张兢1 王文瑞2 陈溪1 (1.广西第一测绘院广西南宁530023; 2.南宁市勘测院广西南宁530022) 【摘要】本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。 【关键词】ArcGIS 坐标转换投影变换 1 坐标转换简介 坐标系统之间的坐标转换既包括不同的参心坐标之间的转换,或者不同的地心坐标系之间的转换,也包括参心坐标系与地心坐标系之间的转换以及相同坐标系的直角坐标与大地坐标之间的坐标转换,还有大地坐标与高斯平面坐标之间的转换。在两个空间角直坐标系中,假设其分别为O--XYZ和O--XYZ,如果两个坐标系的原来相同,通过三次旋转,就可以两个坐标系重合;如果两个直角坐标系的原点不在同一个位置,通过坐标轴的平移和旋转可以取得一致;如果两个坐标系的尺度也不尽一致,就需要再增加一个尺度变化参数;而对于大地坐标和高斯投影平面坐标之间的转换,则需要通过高斯投影正算和高斯投影反算,通过使用中央子午线的经度和不同的参考椭球以及不同的投影面的选择来实现坐标的转换。 如何使用ArcGIS实现WGS84经纬度坐标到BJ54高斯投影坐标的转换?这是很多从事GIS工作或者测绘工作者普遍遇到的问题。本文目的在于帮助用户解决这个问题。 我们通常说的WGS-84坐标是指经纬度这种坐标表示方法,北京54坐标通常是指经过高斯投影的平面直角坐标这种坐标表示方法。为什么要进行坐标转换?我们先来看两组参数,如表1所示: 表1 BJ54与WGS84基准参数

北京54坐标与西安80坐标相互转换的两种方法

北京54坐标与西安80坐标相互转换的两种方法 一、北京54坐标系、西安80坐标系及其相互关系 1954年北京坐标系是我国五十年代由原苏联1942年普尔科沃坐标系传算而 来采用克拉索夫斯基椭球体其参数为长半轴为 6378245米扁率为 1 。这个坐标系的建立在我国国民经济和社会发展中发挥了巨大的作用但 该坐标系存在着定位后的参考椭球面与我国大地水准面不能达到最佳拟合在中国东部地区大地水准面差距自西向东增加最大达+68米其椭球的长半轴与现代测定的精确值相比109米的缺陷定向不明确椭球短轴未指向国际协议原点CIO也不是中国地极原点起始大地子午面也不是国际时间局BIH 所定义的格林尼治平均天文台子午面。同时,该系统提供的大地点坐标是通过局部平差逐级控制求得的由于施测年代不同、承担单位不同不同锁段算出的成果相矛盾给用户使用带来困难。 1978年4月,中国在西安召开了全国天文大地网平差会议,在会议上决定建 立中国新的国家大地坐标系有关部门根据会议纪要,开展并进行了多方面的工作,建成了1980西安国家大地坐标系(GDZ80)该坐标系全面描述了椭球的4个基本参数,同时反映了椭球的几何特性和物理特性这4个参数的数值采用的是1975年国际大地测量与地球物理联合会第16届大会的推荐值(简称IGA-1975椭球 ) 。其主要参数为长半轴为6378140 米扁率为 1/。IAG-1975 椭球参数精度较高能更好地代表和描述地球的几何形状和物理特征。在其椭体定位方面以我国范围内高程异常平方和最小为原则做到了与我国大地水准面较好的吻合。 此外,1982年我国已完成了全国天文大地网的整体平差,消除了以前局部平 差和逐级控制产生的不合理影响提高了大地网的精度在上述基础上建立的1980西安坐标系比1954年北京坐标系更科学、更严密、更能满足科研和经济建设的需要。 由于北京54坐标系和西安80坐标系是两种不同的大地基准面这两个椭球

部分地区WGS84坐标系转换BJ54坐标系参数

部分地区WGS84坐标系转换BJ54坐标系参数 部分地区WGS84坐标系转换BJ54坐标系参数 转换参数来自 https://www.doczj.com/doc/898564910.html,/forum_view.asp?forum_id=14&view_id=61&page =4鼎星在线GPS俱乐部,来自全国各地网友的共享,使用中最好验证一下该参数的正确性。注:以下参数仅供参考!! 拉萨GPS参数 DX=11.9 DY=-120.8 DZ=-62.4 DA=-108.0 DF=0.00000050 E=93°00.000 +1.0000000 +5000000.0 0.0 藏东可用99°,其它参数不变,可对照地形图校对。 广东省GPS参数:这是WGS84转北京54的,适宜河源、惠州、深圳、东莞地区 DX=-19 DY=-112 DZ=-55 DA=-108.0 dF=0.00000050 E=114°00.000 +1.0000000 +5000000.0 0.0 ,WGS84转西安80的是 DX=-96 DY=-51 DZ=12 DA=-3 DF=0.00000000 E=114°00.000 +1.0000000 +5000000.0 0.0 适宜整个广东。 广东?河源GPS参数转换参数/ DX=12 DY=-121 DZ=-62 DA=-108 dF=0.00000050 E=114°00.000 +1.0000000 +5000000.0 0.0

坐标参数 海南坐标转换参数: dx=-9.8 dy=-114.6 dz=-62.7 da=-108.0 df=0.0000005 中央子午线:111 DX = -18 DY = -104.5 DZ = -57.5 DA= -108; DF= 0.0000005 中央子午经度:117或123(东为123,西为117) 新疆乌鲁木齐地区坐标转换参数: DX = 19 DY = -33 DZ = 5 DA= -108; DF= 0.0000005 中央子午经度:87 各地WGS84坐标系转换BJ54坐标系参数(不断加入中...)以下为四川盆地坐标系转换参数 Dx=-4 Dy=-104 Dz=-45 Da=-108 Df=+0.0000005 中央子午经度:105 以下为包头地区坐标系转换参数 Dx=-92 Dy=-49 Dz=-4 Da=-108 Df=+0.0000005 中央子午经度:114 安徽省坐标转换区域化参数: DX = -15 DY = -120 DZ = -48 DA= -108; DF= 0.0000005 中央子午经度:117

4北京54坐标系和西安80坐标系其实是一种椭球参数的转换

北京54坐标系和西安80坐标系其实是一种椭球参数的转换,作为这种转换在同一个椭球里的转换都是严密的,而在不同的椭球之间的转换是不严密,因此不存在一套转换参数可以全国通用的,在每个地方会不一样,因为他们是两个不同的椭球基准。那么,两个椭球间的坐标转换,一般而言比较严密的是用七参数布尔莎模型,即X平移,Y平移,Z平移,X旋转(WX),Y旋转(WY),Z旋转(WY),尺度变化(DM)。若求得七参数就需要在一个地区提供3个以上的公共点坐标对(即北京54坐标下x、y、z和西安80坐标系下x、y、z),如果区域范围不大,最远点间的距离不大于30km(经验值),这可以用三参数,即X平移,Y平移,Z平移,而将X旋转,Y旋转,Z旋转,尺度变化面DM视为0。 方法: 第一步:向地方测绘局(或其他地方)找本区域三个公共点坐标对(即北京54坐标下x、y、z和西安80坐标系下x、y、z); 第二步:讲三个点的坐标对全部转换以弧度为单位。(菜单:投影转换——输入单点投影转换,计算出这三个点的弧度值并记录下来);第三步:求公共点操作系数(菜单:投影转换——坐标系转换)。如果求出转换系数后,记录下来; 第四步:编辑坐标转换系数(菜单:投影转换——编辑坐标转换系数),最后进行投影变换,“当前投影”输入80坐标系参数,“目的投影”输入54坐标系参数。进行转换时系统会自动调用曾编辑过的坐标转换系数。 详细步骤如下: 首先将MAPGIS平台的工作路径设置为“…..\北京54转西安80”文件夹下。 下面我们来讲解“北京54坐标系”转“西安80坐标系”的转换方法和步骤。 一、数据说明 北京54坐标系和西安80坐标系之间的转换其实是两种不同的椭球参数之间的转换,一般而言比较严密的是用七参数布尔莎模型,即X 平移,Y平移,Z平移,X旋转(WX),Y旋转(WY),Z旋转(WY),尺度变化(DM)。若得七参数就需要在一个地区提供3个以上的公共点坐标对(即北京54坐标下x、y、z和西安80坐标系下x、y、z),可以向地方测绘局获取。 二、“北京54坐标系”转“西安80坐标系”的操作步骤 启动“投影变换模块”,单击“文件”菜单下“打开文件”命令,将演示数据“演示数据_北京54.WT”、“演示数据_北京54.WL”、“演示数据_北京54.WP”打开,如图1所示: 图1 1、单击“投影转换”“单下“S坐标系转换”“令,系统弹出“转换坐标值”“话框,如图2所示:

参考坐标与动坐标系之间的旋转变换

坐标系之间的坐标变换 取一参考坐标系Z Y X O '''',该坐标系为船舶平衡位置上,不随船舶摇荡。 取一动坐标系OXYZ ,该坐标系与船体固结,随船舶一起做摇荡运动,OX 轴位于纵中剖面内,并指向船首,OY 垂直向上,OZ 轴指向船舶右舷。 再取一坐标系Z Y X O ???,它与参考坐标系平行,原点与动坐标系重合,且仅随船体作振荡运动。这三个坐标系之间的相对位置如图所示: 角位移用欧拉角来定义。我们假设动坐标系OXYZ 的原始位置为Z Y X O ???,经三次转动转到目前的位置。 首先将坐标系Z Y X O ???绕X O ?轴转动α角,使其转到OZ 和X O ?所确定的平面,然后绕Y O ?轴旋转β角使Z O ?与OZ 重合,此时平面Y X O ''??和平面OXY 重合,最后将得到的Z Y X O ''??绕OZ 轴转动γ角,这样,坐标系OXYZ 和坐标系Z Y X O ???就完全重合。 第一次旋转可以写为: ααααcos ?sin ??sin ?cos ????Z Y Z Z Y Y X X '+'='-'== 写为矩阵形式为 ????? ? ??''????? ??-=?????? ??Z Y X Z Y X ???cos sin 0sin cos 000 1???αα αα

同理,第二次旋转得 ?????? ??''????? ??-=?????? ??''Z Y X Z Y X ??cos 0sin 010sin 0cos ???ββ ββ 第三次旋转得, ???? ? ??????? ??-=?????? ??''Z Y X Z Y X 10 0cos sin 0sin cos ??γγγ γ 综合上面三式,得 ???? ? ????? ? ? ??++--+-+-=?????? ??Z Y X Z Y X βαγ αγβαγ αγβαβαγαγβαγαγβαβγ βγβcos cos cos sin sin sin cos sin sin cos sin cos cos sin cos cos sin sin sin sin cos cos sin sin sin sin cos cos cos ???则 [][][]X r X O '+='

坐标转换的相关问题(椭球体、投影、坐标系统、转换、BEIJING54、XIAN80等)

坐标转换的相关问题(椭球体、投影、坐标系统、转换、BEIJING54、XIAN80 等) 最近需要将一些数据进行转换,用到了一点坐标转换的知识,发现还来这么复杂^_^,觉得自己真是愧对了武汉大学以及中科院这么多年培养我,让我上了好多课却从来没有好好听,今天才知道其实很有用!不多废话,给您分享下我的坐标转换之路。 Part one: Background 地理坐标系与投影坐标系的区别 (cite from:https://www.doczj.com/doc/898564910.html,/f?kz=354009166) 1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate system是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短 半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。 Spheroid: Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening(扁率): 298.300000000000010000 然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描述中,可以看到有这么一行: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。 有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。 完整参数: Alias: Abbreviation: Remarks: Angular Unit: Degree (0.017453292519943299) Prime Meridian(起始经度): Greenwich (0.000000000000000000) Datum(大地基准面): D_Beijing_1954 Spheroid(参考椭球体): Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening: 298.300000000000010000 2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐标系统中的一些参数。 Projection: Gauss_Kruger

相关主题
相关文档 最新文档