:(1),程序采用VS08版本作为开发平台,并采用C#语言作为开发语言,设计为WindowsForm窗体程序形式。(2),程序主要的算法来自于教材。但是本程序为了更加实用,添加了更多的解算基准,包括:WGS-84,国际椭球1975,克氏椭球,和国家大地坐标系。(3),程序为了更方便的读取数据和输出数据,故需要自己定义了固定的数据输入格式和数据输出格式或形式,请老师注意查看。;using;using;using;using;using;using;namespaceGauss{publicpartialclassForm1:Form{//大地坐标//oordinatepublicstructCRDGEODETIC{ publicdoubledLongitude;publicdoubledLatitude;publicdoubledHeight;}//笛卡尔坐标//CartesianCoordinatepublicstructCRDCARTESIAN{publicdoublex;publicdoubley;publicdoublez;}publicForm1(){ponent();}privatevoidbutton1_Click(objectsender,EventArgse){doubleee=0;doublea=0;stringtt;try{tt=[].ToString();}catch{("GaussInverse:Choosedatumerror!");return;}if(("克氏椭球")==0){a=;ee=();}if(("WGS-84")==0){a=;ee=();}if(("1975国际椭球")==0){a=;ee=();}if(("国家大地坐标系")==0){a=;ee=();}constdoublepai=;doubleb=(a*a*(1-ee*ee));doublec=a*a/b;doubleepp=((a*a-b*b)/b/b);CRDGEODETICpcrdGeo;CRDCARTESIANpcrdCar;doublemidlong;//求纬度string[]temp;temp=('');double[]tempradius=newdouble[3];for(inti=0;i<3;i++){tempradius[i]=(temp[i]);}=tempradius[0]/*pai+tempradius[1]//*pai+tempradius[2]/180//60*pai;//求经度temp=('');for(inti=0;i<3;i++){tempradius[i]=(temp[i]);}=tempradius[0]/*pai+tempradius[1]//*pai+tempradius[2]/180//60*pai;intdeglon=(*180/pai);//求中央经度intnum;//带号midlong=0;//默认值,需要制定分带try{tt=[].ToString();}catch{("Choose3/6error!");return;}if(("3度带")==0){num=(deglon/6+1);midlong=(6*num-3)/*pai;}if(("6度带")==0){num=((deglon+)/3);midlong=num*3*pai/180;}doublelp=-midlong;doubleN=c/(1+epp*epp*()*());doubleM=c/(1+epp*epp*()*(),);doubleita=epp*();doublet=();b=N*()*();doubleNcosb=N*();doublecosb=();doubleX;doublem0,m2,m4,m6,m8;doublea0,a2,a4,a6,a8;m0=a*(1-ee*ee);m2=/*m0*ee*ee;m4=/*ee*ee*m2;m6=/*ee*ee*m4;m8=/*ee*ee*m6;a0=m0+m2/+/*m4+/*m6+/*m8;a2=m2/2+m4/2+/*m6+/*m8;a4=m4/+/*m6+/*m8;a6=m6/+m8/;a8=m8/;doubleB=;doublesb=(B);doublecb=(B);doubles2b=sb*cb*2;doubles4b=s2b*(1-2*sb*sb)*2;doubles6b=s2b*(1-s4b*s4b)+s4b*(1-s2b*s2b);X=a0*B-a2/*s2b+a4*s4b/-a6/*s6b;=b*lp*lp/+b*cosb*cosb*(lp,4)*(5-t*
2020年高斯投影正反算c#代码 来自淘豆网www.taodocs.com转载请标明出处.