下载此文档

大地测量实验报告.doc


文档分类:建筑/环境 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
课程编号: 课程性质:必修
大地测量学基础
学院: 测绘学院
专业: 地球物理学
班级: 200711401班
姓名: 沈文渊
学号: 200731140013
教师: 丁士俊
大地坐标与空间坐标的转换
大地坐标转化为空间坐标
#include ""
#include""
#include ""
#include ""
#define PI
float B,B1,X;
float L,L1,Y;
float H, Z;
float a=;
float sqE=; //偏心率
float TransData(float angle) //将度分秒的角度转化为小数角度
{
int du=(int)angle;
int fen=(int)((angle-du)*100);
float fen1=(float)fen/60;
float miao=(angle-du-(float)fen/100)*10000;
float miao1=miao/3600;
return du+fen1+miao1;
}
void InitData() //输入初值并化为弧度
{
printf("请输入 B L H 的值:\n");
printf("B=");
scanf("%g",&B);
printf("\n");
printf("L=");
scanf("%g",&L);
printf("\n");
printf("H=");
scanf("%g",&H);
printf("\n");
float B2=TransData(B);
float L2=TransData(L);
B1=B2/180*PI;
L1=L2/180*PI;
}
void CalcXYZ()
{
float W=sqrt( 1-sqE*sin(B1)*sin(B1) );
float N=a/W;
X=cos(B1)*cos(L1)*(N+H);
Y=cos(B1)*sin(L1)*(N+H);
Z=(N*(1-sqE)+H)*sin(B1);
}
void outfile()
{
FILE *fp;
if((fp=fopen("","a"))!=NULL)
{
fprintf(fp,"X=%f Y=%f Z=%f \n",X,Y,Z);
fclose(fp);
} else
{
printf("fail to print");
}
}
void main()
{
go:
InitData();
CalcXYZ();
outfile();
printf("B=%f L=%f H=%f\n",B,L,H);
printf("X=%f Y=%f Z=%f\n",X,Y,Z);
goto go;
}
下面为上程序计算所得的txt文档中的一些值
X=- Y= Z=
X=- Y= Z=
X=- Y= Z=
…………

#include ""
#include ""
#include ""
#include ""
#define PI
float B,X;
float L,Y;
float H,Z;
float a=;
float sqE=;
float sqE1=;
float Rto_angle(float rad) //把弧度转化为度分秒角度
{
float ang_frac=rad*180/PI;
int ang_d=(int)ang_frac;
int ang_m=(int)((ang_frac-ang_d)*60);
float ang_s=(ang_frac-ang_d-(float)ang_m/60)*3600;
float angle=ang_d+(float)ang_m/100+ang_s;
return

大地测量实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小217 KB
  • 时间2018-05-27