文档库 最新最全的文档下载
当前位置:文档库 › 适用于不同椭球的高斯平面坐标正反算的实用算法

适用于不同椭球的高斯平面坐标正反算的实用算法

适用于不同椭球的高斯平面坐标正反算的实用算法
适用于不同椭球的高斯平面坐标正反算的实用算法

高斯投影坐标正反算VB程序

高斯投影坐标正反算 V B程序 文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

高斯投影坐标正反算 学院: 班级: 学号: 姓名: 课程名称: 指导老师:

实验目的: 1.了解高斯投影坐标正反算的基本思想; 2.学会编写高斯正反算程序,加深了解。 实验原理: 高斯投影正算公式中应满足的三个条件: 1. 中央子午线投影后为直线; 2. 中央子午线投影后长度不变; 3. 投影具有正形性质,即正形投影条件。 高斯投影反算公式中应满足的三个条件: 1. x坐标轴投影成中央子午线,是投影的对称轴; 2. x轴上的长度投影保持不变; 3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没有 变形,仍然相等。 操作工具: 计算机中的 代码: Dim a As Double, b As Double, x As Double, y As Double, y_#

Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#, m6#, m8#, m0#, l0#, e#, e1# Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As Double Private Sub Command1_Click() Dim x_ As Double, t#, eta#, N#, W#, k1#, k2#, ik1%, ik2%, dh% deg1 = Val min1 = Val sec1 = Val deg2 = Val min2 = Val sec2 = Val l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265 b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265 dh = Val k1 = ((l_ * 180 / + 3) / 6) k2 = (l_ * 180 / / 3) ik1 = Round(k1, 0) ik2 = Round(k2, 0) If dh = 6 Then l0 = 6 * ik1 - 3 Else

高斯平面直角坐标

高斯平面直角坐标系 大地坐标系是大地测量的基本坐标系。常用于大地问题的细算,研究地球形状和大小,编制地图,火箭和卫星发射及军事方面的定位及运算,若将其直接用于工程建设规划、设计、施工等很不方便。所以要将球面上的大地坐标按一定数学法则归算到平面上,即采用地图投影的理论绘制地形图,才能用于规划建设。 椭球体面是一个不可直接展开的曲面,故将椭球体面上的元素按一定条件投影到平面上,总会产生变形。测量上常以投影变形不影响工程要求为条件选择投影方法。地图投影有等角投影、等面积投影和任意投影三种。 其中等角投影又称为正形投影,它保证在椭球体面上的微分图形投影到平面后将保持相似。这是地形图的基本要求。正形投影有两个基本条件: ①保角条件,即投影后角度大小不变。 ②长度变形固定性,即长度投影后会变形,但是在一点上各个方向的微分线段变形比m是个常数k: 式中:ds—投影后的长度,dS—球面上的长度。 1.高斯投影的概念 高斯是德国杰出的数学家、测量学家。他提出的横椭圆柱投影是一种正形投影。它是将一个横椭圆柱套在地球椭球体上,如下图所示: 椭球体中心O在椭圆柱中心轴上,椭球体南北极与椭圆柱相切,并使某一子午线与椭圆柱相切。此子午线称中央子午线。然后将椭球体面上的点、线按正形投影条件投影到椭圆柱上,再沿椭圆柱N、S点母线割开,并展成平面,即成为高斯投影平面。在此平面上: ①中央子午线是直线,其长度不变形,离开中央子午线的其他子午线是弧形,凹向中央子午线。离开中央子午线越远,变形越大。 ②投影后赤道是一条直线,赤道与中央子午线保持正交。 ③离开赤道的纬线是弧线,凸向赤道。

高斯投影可以将椭球面变成平面,但是离开中央子午线越远变形越大,这种变形将会影响测图和施工精度。为了对长度变形加以控制,测量中采用了限制投影宽度的方法,即将投影区域限制在靠近中央子午线的两侧狭长地带。这种方法称为分带投影。投影带宽度是以相邻两个子午线的经差来划分。有6°带、3°带等不同投影方法。 6°带投影是从英国格林尼治子午线开始,自西向东,每隔6°投影一次。这样将椭球分成60个带,编号为1~60带,如下图所示: 各带中央子午线经度(L)可用下式计算: 式中n为6°带的带号。 已知某点大地经度L,可按下式计算该点所属的带号: 有余数时,为n的整数商+1。 3°带是在6°带基础上划分的,其中央子午线在奇数带时与6°带中央子午线重合,每隔3°为一带,共12 0带,各带中央子午线经度(L)为: 式中n′为3°带的带号。 我国幅员辽阔,含有11个6°带,即从13~23带(中央子午线从75°~135°),21个3°带,从25~45带。北京位于6°带的第20带,中央子午线经度为117°。 2.高斯平面直角坐标系 根据高斯投影的特点,以赤道和中央子午线的交点为坐标原点。,中央子午线方向为x轴,北方向为正。赤道投影线为y轴,东方向为正。象限按顺时针Ⅰ、Ⅱ、Ⅲ、Ⅳ排列,如下图所示:

高斯正反算(零误差)

//84的椭球 final double a = 6378137; final double Alfa = 1.0 / 298.257223563; double centreL, x, y, b, e1, ee; double a0, a2, a4, a6, a8, Bf0; double[] Coeficient_a0 = new double[5]; double sinBf, cosBf; double FBf, Bf1, dB, bf; double c, v, Nf, Mf, tf; double itaf, dietaB, dietaL; double B, L; double dmsB, dmsL, dmsCentreL1; double radlat, radlon, radl0, l; double sb, cb, t, ita, X, N; public String MakeProject(double L, double B, double CentreLon) //高斯正算{ /*输入已知数据:经度\纬度\ 中央子午线*/ dmsB = B; dmsL = L; dmsCentreL1 = CentreLon; radlat = DMSTORAD(dmsB); radlon = DMSTORAD(dmsL); radl0 = DMSTORAD(dmsCentreL1); l = radlon - radl0; b = a * (1 - Alfa); sb = Math.sin(radlat); cb = Math.cos(radlat); t = sb / cb; e1 = Math.sqrt((a / b) * (a / b) - 1); ee = Math.sqrt(1 - (b / a) * (b / a)); ita = e1 * cb; a0a2a4a6a8(a, ee, Coeficient_a0); a0 = Coeficient_a0[0]; a2 = Coeficient_a0[1];

高斯投影坐标正反算编程报告

高斯投影坐标正反算编程报告 1. 编程思想 进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。 程序由四大块组成。 GeodesyHomework 、cpp 文件用于存放main()函数,就是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。 MyFunction 、h 与MyFunction 、cpp 用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。 Zhengsuan 、h 与Zhengsuan 、cpp 用于存放Zhengsuan 类,在Zhengsuan 类中声明了高斯投影坐标正算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及正算计算。通过get 函数获得相应的正算结果。 Fansuan 、h 与Fansuan 、cpp 用于存放Fansuan 类,类似于Zhengsuan 类,Fansuan 类中声明了高斯投影坐标反算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及反算计算。通过get 函数获得相应的反算结果。 2. 计算模型 高斯投影正算公式 6 4256 4 42234 22)5861(cos sin 720)495(cos 24cos sin 2l t t B B N l t B simB N l B B N X x ''+-''+ ''++-''+''?''+=ρηηρρ 5 2224255 3 2233 )5814185(cos 120)1(cos 6cos l t t t B N l t B N l B N y ''-++-''+ ''+-''+''?''=ηηρηρρ 高斯投影反算公式 () () ()( ) 2 22425 52 23 36 4254 222232 8624285cos 12021cos 6cos 459061720935242f f f f f f f f f f f f f f f f f f f f f f f f f f f f f t t t B N y t B N y B N y l y t t y N M t y t t N M t y N M t B B ηηηηη+++++++-=++- -+++ -= 3. 程序框图

高斯平面直角坐标系的建立

空间数据的地理参照系和控制基础 4、高斯—克吕格投影 高斯—克吕格投影是一种横轴等角切椭圆柱投影。它是将一椭圆柱横切于地球椭球体上,该椭圆柱面与椭球体表面的切线为一经线,投影中将其称为中央经线,然后根据一定的约束条件即投影条件,将中央经线两侧规定范围内的点投影到椭圆柱面上,从而得到点的高斯投影(图3-2-5)。将一球椭球体地球装在椭圆柱内上下切点为中央经线。 高斯投影的条件为: (1)中央经线和地球赤道投影成为直线且为投影的对称轴; (2)等角投影; (3)中央经线上没有长度变形。 根据高斯投影的条件推导出的高斯—克吕格投影的计算公式为: 式中:X、Y为点的平面直角坐标系的纵、横坐标;

φ、λ为点的地理坐标,以弧度计,λ从中央经线起算; S为由赤道至纬度φ处的子午线弧长; N为纬度φ处的卯酉圈曲率半径; 其中η为地球的第二偏心率,a、b则分别为地球椭球体的长短半轴。 高斯投影由于是等角投影,故没有角度变形,其沿任意方向的长度比都相等,其面积变形是长度的两倍。对高斯—克吕格投影长度变形的研究可以依下述长度比表达式进行: 由该长度比公式可以分析出高斯投影变形具有以下特点: (1)中央经线上无变形; (2)同一条纬线上,离中央经线越远,变形越大; (3)同一条经线上,纬度越低,变形越大; 由此可见,高斯投影的最大变形处为各投影带在赤道边缘处,为了控制变形,我国地形图采用分带方法,即将地球按一定间隔的经差(6°或3°)划分为若干相互不重叠的投影带,各带分别投影。1:2.5万至1:50万的地形图均采用6°分带方案,即从格林尼治零度经线起算,每6°为一个投影带,全球共分为60个投影带。我国领土位于东经72°到136°之间,共包括11个投影带(13带~22带)。1:1万及更大比例尺地形图采用3°分带方案,全球共分为120个投影带。图3—4给出了高斯投影的6°带和3°带分带方案。

高斯投影正反算

class Gauss { #region 高斯投影正反算 ///

/// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是使用假定坐标的六度带投影 /// /// 大地纬度 /// 大地经度 /// 平面纵轴 /// 平面横轴 /// 参考椭球长半轴 /// 参考椭球扁率倒数 public static void BL_xy(double B, double L, out double x, out double y, double a, double f) { BL_xy(B, L, out x, out y, a, f, 6, true); } /// /// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是使用假定坐标 /// /// 大地纬度 /// 大地经度 /// 平面纵轴 /// 平面横轴 /// 参考椭球长半轴 /// 参考椭球扁率倒数 /// 投影分带的带宽 public static void BL_xy(double B, double L, out double x, out double y, double a, double f, int beltWidth) { BL_xy(B, L, out x, out y, a, f, beltWidth, true); } /// /// 从大地坐标到平面坐标的高斯正算 /// /// 默认的是六度带投影 /// /// 大地纬度 /// 大地经度 /// 平面纵轴

高斯投影坐标正反算VB程序

高斯投影坐标正反算 学院: 班级: 学号: 姓名: 课程名称: 指导老师:

实验目的: 1.了解高斯投影坐标正反算的基本思想; 2.学会编写高斯正反算程序,加深了解。 实验原理: 高斯投影正算公式中应满足的三个条件: 1. 中央子午线投影后为直线; 2. 中央子午线投影后长度不变; 3. 投影具有正形性质,即正形投影条件。 高斯投影反算公式中应满足的三个条件: 1. x坐标轴投影成中央子午线,是投影的对称轴; 2. x轴上的长度投影保持不变; 3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没 有变形,仍然相等。 操作工具: 计算机中的VB6.0 代码: Dim a As Double, b As Double, x As Double, y As Double, y_# Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#,

m6#, m8#, m0#, l0#, e#, e1# Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As Double Private Sub Command1_Click() Dim x_ As Double, t#, eta#, N#, W#, k1#, k2#, ik1%, ik2%, dh% deg1 = Val(Text1.Text) min1 = Val(Text2.Text) sec1 = Val(Text3.Text) deg2 = Val(Text4.Text) min2 = Val(Text5.Text) sec2 = Val(Text6.Text) l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265 b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265 dh = Val(Text9.Text) k1 = ((l_ * 180 / 3.14159 + 3) / 6) k2 = (l_ * 180 / 3.14159 / 3) ik1 = Round(k1, 0) ik2 = Round(k2, 0) If dh = 6 Then l0 = 6 * ik1 - 3 Else If dh = 3 Then

高斯投影正反算编程(可编辑修改word版)

高斯投影正反算编程一.高斯投影正反算基本公式(1)高斯正算基本公式 (2)高斯反算基本公式

以上主要通过大地测量学基础课程得到,这不进行详细的推导,只是列出基本公式指导编程的进行。 二.编程的基本方法和流程图 (1)编程的基本方法 高斯投影正反算基本上运用了所有的编程基本语句,本文中是利用C++语言进行基本的设计。高斯正算中对椭球参数和带宽的选择主要运用了选择语句。而高斯反算中除了选择语句的应用,在利用迭代算法求底点纬度还应用了循环语句。编程中还应特别注意相关的度分秒和弧度之间的相互转换,这是极其重要的。 (2)相关流程图 1)正算

选择带宽 3/6 度带 计算带号 输入大地坐标 B ,L 和经差 L0 6 度带 3 度带 选择椭球参数 计算带号 计算弧长 计算平面坐标 x,y 打印 x,y 开始 计算平面坐标 x,y 计算弧长 打印 x,y

开始 输入自然值坐标x,y 和经差L0 选择椭球参数 利用迭代算法 求解底点纬度 利用公式计算B 和L 打印B 和L 2)反算

三.编程的相关代码(1)正算 # include "stdio.h" # include "stdlib.h" # include "math.h" # include "assert.h" #define pi (4*atan(1.0)) int i; struct jin { double B; double L; double L0; }; struct jin g[100]; main(int argc, double *argv[]) { FILE *r=fopen("a.txt","r"); assert(r!=NULL); FILE *w=fopen("b.txt","w"); assert(r!=NULL); int i=0;

高斯坐标系

大地坐标系是大地测量的基本坐标系。常用于大地问题的细算,研究地球形状和大小,编制地图,火箭和卫星发射及军事方面的定位及运算,若将其直接用于工程建设规划、设计、施工等很不方便。所以要将球面上的大地坐标按一定数学法则归算到平面上,即采用地图投影的理论绘制地形图,才能用于规划建设。 椭球体面是一个不可直接展开的曲面,故将椭球体面上的元素按一定条件投影到平面上,总会产生变形。测量上常以投影变形不影响工程要求为条件选择投影方法。地图投影有等角投影、等面积投影和任意投影三种。 其中等角投影又称为正形投影,它保证在椭球体面上的微分图形投影到平面后将保持相似。这是地形图的基本要求。正形投影有两个基本条件: ①保角条件,即投影后角度大小不变。 ②长度变形固定性,即长度投影后会变形,但是在一点上各个方向的微分线段变形比m是个常数k: 式中:ds—投影后的长度,dS—球面上的长度。 1.高斯投影的概念 高斯是德国杰出的数学家、测量学家。他提出的横椭圆柱投影是一种正形投影。它是将一个横椭圆柱套在地球椭球体上,如下图所示: 椭球体中心O在椭圆柱中心轴上,椭球体南北极与椭圆柱相切,并使某一子午线与椭圆柱相切。此子午线称中央子午线。然后将椭球体面上的点、线按正形投影条件投影到椭圆柱上,再沿椭圆柱N、S 点母线割开,并展成平面,即成为高斯投影平面。在此平面上: ①中央子午线是直线,其长度不变形,离开中央子午线的其他子午线是弧形,凹向中央子午线。离开中央子午线越远,变形越大。 ②投影后赤道是一条直线,赤道与中央子午线保持正交。

③离开赤道的纬线是弧线,凸向赤道。 高斯投影可以将椭球面变成平面,但是离开中央子午线越远变形越大,这种变形将会影响测图和施工精度。为了对长度变形加以控制,测量中采用了限制投影宽度的方法,即将投影区域限制在靠近中央子午线的两侧狭长地带。这种方法称为分带投影。投影带宽度是以相邻两个子午线的经差来划分。有6°带、3°带等不同投影方法。 6°带投影是从英国格林尼治子午线开始,自西向东,每隔6°投影一次。这样将椭球分成60个带,编号为1~60带,如下图所示: 各带中央子午线经度(L)可用下式计算: 式中n为6°带的带号。 已知某点大地经度L,可按下式计算该点所属的带号: 有余数时,为n的整数商+1。 3°带是在6°带基础上划分的,其中央子午线在奇数带时与6°带中央子午线重合,每隔3°为一带,共120带,各带中央子午线经度(L)为: 式中n′为3°带的带号。 我国幅员辽阔,含有11个6°带,即从13~23带(中央子午线从75°~135°),21个3°带,从25~45带。北京位于6°带的第20带,中央子午线经度为117°。 2.高斯平面直角坐标系 根据高斯投影的特点,以赤道和中央子午线的交点为坐标原点。,中央子午线方向为x轴,北方向为正。赤道投影线为y轴,东方向为正。象限按顺时针Ⅰ、Ⅱ、Ⅲ、Ⅳ排列,如下图所示:

高斯投影正反算公式 新

高斯投影坐标正反算 一、相关概念 大地坐标系由大地基准面和地图投影确定,由地图投影到特定椭圆柱面后在南北两极剪开展开而成,是对地球表面的逼近,各国或地区有各自的大地基准面,我国目前主要采用的基准面为:基准面,为GPS基准面,17届国际大地测量协会上推荐,椭圆柱长半轴a=6378137m,短半轴b=; 2.西安80坐标系,1975年国际大地测量协会上推荐,椭圆柱长半轴a=6378140m,短半轴b=; 3.北京54坐标系,参照前苏联克拉索夫斯基椭球体建立,椭圆柱长半轴a=6378245m, 短半轴b=; 通常所说的高斯投影有三种,即投影后: a)角度不变(正角投影),投影后经线和纬线仍然垂直; b)长度不变; c)面积不变; 大地坐标一般采用高斯正角投影,即在地球球心放一点光源,地图投影到过与中央经线相切的椭圆柱面上而成;可分带投影,按中央经线经度值分带,有每6度一带或每3度一带两种(起始带中央经线经度为均为3度,即:6度带1带位置0-6度,3度带1带位置度),即所谓的高斯-克吕格投影。

图表11高斯投影和分带 地球某点经度(L)为过该点和地球自转轴的半圆与子午线所在半圆夹角,东半球为东经,西半球为西经;地球某点纬度(B)为所在水平面法线与赤道圆面的线面角。 正算是已知大地坐标(L,B),求解高斯平面坐标(X,Y),为确保Y值为正,Y增加500公里;反算则是由高斯平面坐标(X,Y)求解大地坐标(L,B)。 二、计算模型: 地球椭球面由椭圆绕地球自转轴旋转180度而成。 图表 1 椭圆 椭圆长半轴a,椭圆短半轴b, 椭圆方程:

(1) 图表2椭球面 椭球面方程: y2 a2+ x2 b2 + z2 a2 =1 /*************************************** 与网上充斥的将函数关系先展开为泰勒级数,再依据投影规则确定各参数不同,本文直接依据空间立体三角函数关系得出结果。 *****/ (一)正算 由图表1,

(完整word版)高斯投影坐标正反算编程报告

高斯投影坐标正反算编程报告 10021班 张鑫 学号:2010302590040 1. 编程思想 进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。 程序由四大块组成。 GeodesyHomework.cpp 文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。 MyFunction.h 和MyFunction.cpp 用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。 Zhengsuan.h 和Zhengsuan.cpp 用于存放Zhengsuan 类,在Zhengsuan 类中声明了高斯投影坐标正算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及正算计算。通过get 函数获得相应的正算结果。 Fansuan.h 和Fansuan.cpp 用于存放Fansuan 类,类似于Zhengsuan 类,Fansuan 类中声明了高斯投影坐标反算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及反算计算。通过get 函数获得相应的反算结果。 2. 计算模型 高斯投影正算公式 6 4256 4 42234 22)5861(cos sin 720)495(cos 24cos sin 2l t t B B N l t B simB N l B B N X x ''+-''+ ''++-''+''?''+=ρηηρρ 5 2224255 3 2233)5814185(cos 120)1(cos 6cos l t t t B N l t B N l B N y ''-++-''+''+-''+''?''=ηηρηρρ 高斯投影反算公式 () () ()( ) 222425 52 2336 4254 2222 32 8624285cos 12021cos 6cos 459061720935242f f f f f f f f f f f f f f f f f f f f f f f f f f f f f t t t B N y t B N y B N y l y t t y N M t y t t N M t y N M t B B ηηηηη+++++++-=++- -+++ -=

高斯平面直角坐标与大地坐标转换

高斯平面直角坐标系与大地坐标系 1 高斯投影坐标正算公式 (1)高斯投影正算:已知椭球面上某点的大地坐标()B L ,,求该点在高斯投影平面上的直角坐标()y x ,,即()),(,y x B L ?的坐标变换。 (2)投影变换必须满足的条件 中央子午线投影后为直线; 中央子午线投影后长度不变; 投影具有正形性质,即正形投影条件。 (3)投影过程 在椭球面上有对称于中央子午线的两点1P 和2P ,它们的大地坐标分别为(B L ,)及(B l ,),式中l 为椭球面上P 点的经度与中央子午线)(0L 的经度差:0L L l -=, P 点在中央子午线之东, l 为正,在西则为负,则投影后的平面坐标一定为),(1y x P '和),(2y x P -'。 (4)计算公式 ??? ? ???''+-''+''+-''+''''=''+-''+''''+ =54255 32234 22342 2)185(cos 120)1(6cos )95(cos sin 2sin 2l t t B N l t B N l B N y l t B B N l B N X x ρηρρηρρ 当要求转换精度精确至时,用下式计算: ?????? ???????''-++-' '+''+-' '+''''=''+-''+''++-''+''''+ =52224255 32233 64256 44223422)5814185(cos 720)1(cos 6cos )5861(cos sin 720)495(cos sin 24sin 2l t t t B N l t B N l B N y l t t B B N l t B B N l B N X x ηηρηρρρηηρρ 2 高斯投影坐标反算公式 (1)高斯投影反算:已知某点的高斯投影平面上直角坐标()y x ,,求该点在椭球面上的大

高斯投影坐标正算公式

高斯投影坐标正算公式 高斯投影坐标正反算公式 2.2.2. 1高斯投影坐标正算公式: B, x,y 高斯投影必须满足以下三个条件: ⑴中央子午线投影后为直线;⑵中央子午线投影后长度不变;⑶投影具有正形性质,即正形投影条件。 由第一条件知中央子午线东西两侧的投影必然对称于中央子午线,即 式中,x为的偶函数,y为的奇函数;,即, 如展开为的级数,收敛。 (2-10) 式中是待定系数,它们都是纬度B的函数。 由第三个条件知: 分别对和q求偏导数并代入上式 (2-11) 上两式两边相等,其必要充分条件是同次幂前的系数应相等,即

(2-12) (2-12)是一种递推公式,只要确定了就可依次确定其余各系数。 由第二条件知:位于中央子午线上的点,投影后的纵坐标x应等于投影前从赤道量至该点的子午线弧长X,即(2-10)式第一式中,当时有: (2-13) 顾及(对于中央子午线) 得: (2-14,15) (2-16) 依次求得并代入(2-10)式,得到高斯投影正算公式

(2-17) 2.2.2. 2高斯投影坐标反算公式 x,y B, 投影方程: (2-18) 高斯投影坐标反算公式推导要复杂些。 ⑴由x求底点纬度(垂足纬度),对应的有底点处的等量纬度,求x,y与 的关系式,仿照式有, 由于y和椭球半径相比较小(1/16.37),可将展开为y的幂级数;又由于是对称投影,q必是y的偶函数,必是y的奇函数。 (2-19) 是待定系数,它们都是x的函数. 由第三条件知: ,

, (2-20) (2-19)式分别对x和y求偏导数并代入上式 上式相等必要充分条件,是同次幂y前的系数相等, 第二条件,当y=0时,点在中央子午线上,即x=X,对应的点称为底点,其纬度为底点纬度,也就是x=X时的子午线弧长所对应的纬度,设所对应的等量纬度为。也就是在底点展开为y的幂级数。 由(2-19)1式 依次求得其它各系数 (2-21) (2-21)1 ………… 将代入(2-19)1式得

高斯平面直角坐标系与大地坐标系相互转化

高斯平面直角坐标系与大地坐标系相互转化 高斯平面直角坐标系与大地坐标系转换 1. 高斯投影坐标正算公式(1) 高斯投影正算:已知椭球面上某点的大地坐标(L,B),求该点在高斯投影平面上的直角坐标(x,y),即(L,B)->(x,y)的坐标变换。(2) 投影变换必须满足的条件中央子午线投影后为直线; 中央子午线投影后长度不变; 投影具有正形性质,即正形投影条件。(3) 投影过程在椭球面上有对称于中央子午线的两点P 1 和P 2 ,它们的大地坐标分别为(L,B)及(l,B),式中l 为椭球面上P 点的经度与中央子午线(L 0 )的经度差:l=L-L 0 ,P 点在中央子午线之东,l 为正,在西则为负,则投影后的平面坐标一定为P 1 ’(x,y)和P 2 ’(x,-y)。(4) 计算公式 4 ' ' 2 2 3 4 ' ' 2 ' ' 2 ' ' ) 9 5 ( cos sin 2 sin 2 l t B B N Bl N X x 5 ' ' 4 2 5 5 ' ' 3 ' ' 2 2 3 ' ' ' ' ' ' ) 18 5 ( cos 120 ) 1 ( 6 cos l t t B N l t B N Bl N y 当要求转换精度精确至0.001m时,用下式计算: 6 ' ' 4 2 5 6 ' ' 4 ' ' 4 2 2 3 4 ' ' 2 ' ' 2 ' ' ) 58 61 ( cos sin 720 ) 4 9 5 ( cos sin 24 sin 2 l t t B B N l t B B N Bl N X x 5 ' ' 2 2 2 4 2 5 5 ' ' 3 ' ' 2 2 3 3 ' ' ' ' ' ' ) 58 14 18 5 ( cos 720 ) 1

高斯平面直角坐标与大地坐标转换

高斯平面直角坐标系与大地坐标系 1 高斯投影坐标正算公式 (1)高斯投影正算:已知椭球面上某点的大地坐标()B L ,,求该点在高斯投影平面上的直角坐标()y x ,,即()),(,y x B L ?的坐标变换。 (2)投影变换必须满足的条件 ● 中央子午线投影后为直线; ● 中央子午线投影后长度不变; ● 投影具有正形性质,即正形投影条件。 (3)投影过程 在椭球面上有对称于中央子午线的两点1P 和2P ,它们的大地坐标分别为(B L ,)及(B l ,),式中l 为椭球面上P 点的经度与中央子午线)(0L 的经度差:0L L l -=, P 点在中央子午线之东, l 为正,在西则为负,则投影后的平面坐标一定为),(1y x P '和),(2y x P -'。 (4)计算公式 ??? ? ???''+-''+''+-''+''''=''+-''+''''+ =54255 32234 223422)185(cos 120)1(6cos )95(cos sin 2sin 2l t t B N l t B N l B N y l t B B N l B N X x ρηρρηρρ 当要求转换精度精确至0.OOlm 时,用下式计算: ?????? ???????''-++-' '+''+-''+''''= ''+-' '+''++-''+''''+ =52224255 3223364256 4 422342 2)5814185(cos 720)1(cos 6cos )5861(cos sin 720)495(cos sin 24sin 2l t t t B N l t B N l B N y l t t B B N l t B B N l B N X x ηηρηρρρηηρρ 2 高斯投影坐标反算公式 (1)高斯投影反算:已知某点的高斯投影平面上直角坐标()y x ,,求该点在椭球面上的大地坐标()B L ,,即()),(,B L y x ?的坐标变换。 (2)投影变换必须满足的条件 ● x 坐标轴投影成中央子午线,是投影的对称轴; ● x 轴上的长度投影保持不变; ● 投影具有正形性质,即正形投影条件。

高斯正反算计算函数

//servey.h // #ifndef SERVEY_H // #define SERVEY_H #include #include #include const double PI = 3.149323846; const double epsilon = 0.; //角度(度、分、秒)化弧度(带符号) double angle_to_radian (double alfa) { double alfa1,alfa2,fsign,fbeta; if( fabs(alfa) < epsilon ) return(0.0); fbeta=fabs(alfa); fsign=alfa/fbeta; alfa1=floor(fbeta+epsilon)+floor((fbeta-floor(fbeta+epsilon))*100.+epsilon)/60.; alfa2=(fbeta*100.-floor(fbeta*100.+epsilon))/36.; alfa1+=alfa2; alfa1=fsign*alfa1*PI/180.; return (alfa1); } //度分秒化为度 double angle_to_degree(double alfa) { double alfa_sign; //alfa的正负号 if(alfa>=0) { alfa_sign = 1; }else { alfa_sign = -1; } alfa = fabs(alfa); double alfa1,alfa2; double A = floor(alfa+epsilon); double B = floor((alfa-A)*100+epsilon); alfa1 = A+B/60; alfa2=(alfa*100.-floor(alfa*100.+epsilon))/36.; alfa1+=alfa2; return (alfa_sign*alfa1);

高斯投影正反算c代码

高斯投影正反算c代码 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

高斯投影正反算程序设计 一.程序设计流程 本程序的设计思路如下: (1),程序采用VS08版本作为开发平台,并采用C#语言作为开发语言,设计为WindowsForm窗体程序形式。 (2),程序主要的算法来自于教材。但是本程序为了更加实用,添加了更多的解算基准,包括:WGS-84,国际椭球1975,克氏椭球,和2000国家大地坐标系。 (3),程序为了更方便的读取数据和输出数据,故需要自己定义了固定的数据输入格式和数据输出格式或形式,请老师注意查看。 二.代码 using System; using ; using ; using ; using ; using Gauss { public partial class Form1 : Form { double b = (a * a * (1 - ee * ee)); double c = a * a / b; double epp = ((a * a - b * b) / b / b); CRDGEODETIC pcrdGeo; CRDCARTESIAN pcrdCar; double midlong = 0;

//求X,Y和带号 = ; ytext = ; string temp = (0, 2); num = (temp); ytext = (0, 2); = (ytext) - 500000; try { tt = } catch { ("Choose 3/6 error!"); return; } if ("3度带") == 0) { midlong = num * 3 * pai / 180; } if ("6度带") == 0) { midlong = (6 * num - 3) * pai / 180; } b = (a * a * (1 - ee * ee)); c = a * a / b; epp = (a * a - b * b) / b; double m0, m2, m4, m6, m8; double a0, a2, a4, a6, a8; m0 = a * (1 - ee * ee);

高斯投影坐标正反算VB程序

高斯投影坐标正反算V B 程序 Jenny was compiled in January 2021

高斯投影坐标正反算 学院: 班级: 学号: 姓名: 课程名称: 指导老师:

实验目的: 1.了解高斯投影坐标正反算的基本思想; 2.学会编写高斯正反算程序,加深了解。 实验原理: 高斯投影正算公式中应满足的三个条件: 1. 中央子午线投影后为直线; 2. 中央子午线投影后长度不变; 3. 投影具有正形性质,即正形投影条件。 高斯投影反算公式中应满足的三个条件: 1. x坐标轴投影成中央子午线,是投影的对称轴; 2. x轴上的长度投影保持不变; 3. 正形投影条件,即高斯面上的角度投影到椭球面上后角度没有 变形,仍然相等。 操作工具: 计算机中的 代码: Dim a As Double, b As Double, x As Double, y As Double, y_#

Dim l_ As Double, b_ As Double, a0#, a2#, a4#, a6#, a8#, m2#, m4#, m6#, m8#, m0#, l0#, e#, e1# Dim deg1 As Double, min1 As Double, sec1 As Double, deg2 As Double, min2 As Double, sec2 As Double Private Sub Command1_Click() Dim x_ As Double, t#, eta#, N#, W#, k1#, k2#, ik1%, ik2%, dh% deg1 = Val min1 = Val sec1 = Val deg2 = Val min2 = Val sec2 = Val l_ = (deg1 * 3600 + min1 * 60 + sec1) / 206265 b_ = (deg2 * 3600 + min2 * 60 + sec2) / 206265 dh = Val k1 = ((l_ * 180 / + 3) / 6) k2 = (l_ * 180 / / 3) ik1 = Round(k1, 0) ik2 = Round(k2, 0) If dh = 6 Then l0 = 6 * ik1 - 3 Else

高斯平面直角坐标与大地坐标转换

高斯平面直角坐标系与大地坐标系 1 高斯投影坐标正算公式 (1)高斯投影正算:已知椭球面上某点的大地坐标()B L ,,求该点在高斯投影平面上的直角坐标()y x ,,即()),(,y x B L ?的坐标变换。 (2)投影变换必须满足的条件 ● 中央子午线投影后为直线; ● 中央子午线投影后长度不变; ● 投影具有正形性质,即正形投影条件。 (3)投影过程 在椭球面上有对称于中央子午线的两点1P 与2P ,它们的大地坐标分别为(B L ,)及(B l ,),式中l 为椭球面上P 点的经度与中央子午线)(0L 的经度差:0L L l -=, P 点在中央子午线之东, l 为正,在西则为负,则投影后的平面坐标一定为),(1y x P '与),(2y x P -'。 (4)计算公式 ??? ? ??? ''+-''+''+-''+''''=''+-''+''''+ =54255 32234223422)185(cos 120)1(6cos )95(cos sin 2sin 2l t t B N l t B N l B N y l t B B N l B N X x ρηρρηρρ 当要求转换精度精确至0、OOlm 时,用下式计算: ?????? ???????''-++-' '+''+-''+''''= ''+-' '+''++-''+''''+ =52224255 3223364256 44223422)5814185(cos 720)1(cos 6cos )5861(cos sin 720)495(cos sin 24sin 2l t t t B N l t B N l B N y l t t B B N l t B B N l B N X x ηηρηρρρηηρρ 2 高斯投影坐标反算公式 (1)高斯投影反算:已知某点的高斯投影平面上直角坐标()y x ,,求该点在椭球面上的大地坐标()B L ,,即()),(,B L y x ?的坐标变换。 (2)投影变换必须满足的条件 ● x 坐标轴投影成中央子午线,就是投影的对称轴; ● x 轴上的长度投影保持不变; ● 投影具有正形性质,即正形投影条件。 (3)投影过程 根据x 计算纵坐标在椭球面上的投影的底点纬度f B ,接着按f B 计算(B B f -)及经差l ,最后得到)(B B B B f f --=、l L L +=0。

相关文档
相关文档 最新文档