2024年4月12日发(作者:)

高斯投影正反算程序设计

一.程序设计流程

本程序的设计思路如下:

(1),程序采用VS08版本作为开发平台,并采用C#语言作为开发语言,设计为WindowsForm窗体程序形

式。

(2),程序主要的算法来自于教材。但是本程序为了更加实用,添加了更多的解算基准,包括:WGS-84,

国际椭球1975,克氏椭球,和2000国家大地坐标系。

(3),程序为了更方便的读取数据和输出数据,故需要自己定义了固定的数据输入格式和数据输出格式或

形式,请老师注意查看。

二.代码

usingSystem;

using

entModel;

;

g;

;

using

namespaceGauss

{

publicpartialclassForm1:Form

{

//大地坐标

//GeodeticCoordinate

publicstructCRDGEODETIC

{

publicdoubledLongitude;

publicdoubledLatitude;

publicdoubledHeight;

}

//笛卡尔坐标

//CartesianCoordinate

publicstructCRDCARTESIAN

{

publicdoublex;

publicdoubley;

publicdoublez;

}

publicForm1()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

doubleee=0;

doublea=0;

stringtt;

try

{

tt=

}

catch

{

("GaussInverse:Choosedatumerror!");

return;

}

if(eTo("克氏椭球")==0)

{

a=6378245.00;

ee=

}

if(eTo("WGS-84")==0)

{

a=6378137.00;

ee=

}

if(eTo("1975国际椭球")==0)

{

a=6378140.00;

ee=

}

if(eTo("2000国家大地坐标系")==0)

{

a=6378137.0;