高斯投影正反算编程一.高斯投影正反算基本公式(1)高斯正算基本公式(2)高斯反算基本公式 以上主要通过大地测量学基础课程得到,这不进行详细的推导,只是列出基本公式指导编程的进行
二.编程的基本方法和流程图(1)编程的基本方法高斯投影正反算基本上运用了所有的编程基本语句,本文中是利用 C++语言进行基本的设计
高斯正算中对椭球参数和带宽的选择主要运用了选择语句
而高斯反算中除了选择语句的应用,在利用迭代算法求底点纬度还应用了循环语句
编程中还应特别注意相关的度分秒和弧度之间的相互转换,这是极其重要的
(2)相关流程图1)正算 输入大地坐标 B ,L和经差 L0选择带宽3/6 度带计算带号计算弧长计算平面坐标 x,y打印 x,y计算带号计算弧长计算平面坐标 x,y打印 x,y开始选择椭球参数3 度带6 度带2)反算 开始输入自然值坐标 x,y和经差 L0利用迭代算法求解底点纬度利用公式计算 B和 L打印 B 和 L选择椭球参数三.编程的相关代码(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;while(fscanf(r,"%lf %lf %lf",&g[i]
B,&g[i]
L,&g[i]
=EOF){ double a,b;