- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地图学实习报告
实习一 正轴等角割圆锥投影源程序的设计
圆锥投影,特别是正轴等角割圆锥投影,在我国以及一些中等纬度的国家应用得非常广泛。例如,编制中华人民共和国地图(南海诸岛作插图)以及各省(区)地图都是采用这种投影。新中国成立之前,我国地形图也是采用该投影作为数学基础的。可见,等角割圆锥投影可适用编制我国不同比例尺、不同类型的地图。
一、投影公式
Φ0:长度比最小的纬度; M0:比例尺分母。
二、制图区域
河北省
制图区域中央经线:λ0=116000′
标准纬线:Ф1=37030′,Ф2=41000′
主比例尺:1:500万
经纬网密度:△Ф=△λ=10
三、要求
1、编写正轴等角圆锥投影的源程序。在编制源程序时,采用通用程序为好,为此,
地球椭球的数据可采用IAG-1975椭球:a=6378140m,b=6356755m。
2、输出成果要求完整、整齐,有条件时可采用汉字化、表格化。输出成果包括:
U1,U2;
投影常数:α
积分常数:K
长度比为最小的纬线纬度:φ0
纬度:φ
经度:λ
直角坐标:X,Y
3.绘制该地图的经纬线网格。
四.实习实现代码
#include stdio.h
#include iostream
#include cmath
using namespace std;
const double PI=3.1415926;
const double a1=6378140;
const double b1=6356755;
double get_e()
{
return(sqrt((a1*a1-b1*b1)/(a1*a1)));
}
double get_N(double m)
{
return(a/sqrt(1-get_e()*get_e()*sin(m*PI/180)*sin(m*PI/180)));
}
double get_r(double m)
{
return(get_N(m)*cos(m*PI/180));
}
double get_U(double m) //得到U值的函数
{
return(tan(45*PI/180+m*PI/360)/pow((1-e*sin(m*PI/360)/(1+e*sin(m*PI/360))),e/2);
}
double get_a(double m1, double m2) //得到a的函数
{
double r1,r2;
double U1,U2;
r1=log10(get_r(m1));
r2=log10(get_r(m2));
U1=log10(get_U(m1));
U2=log10(get_U(m2));
/*double m;
m=log10(r1);*/
return((r1-r2)/(U2-U1));
}
double get_C(double m1,double m2,) //得到C的函数
{
double U=pow(get_U(m1),get_a(m1,m2));
double no=get_r(m1)*U/get_a(m1,m2);
return(( no));
}
double get_weidu(double m1, double m2)
{
double wd=asin(get_a( m1, m2));
return(wd*180/PI);
}
double get_jiajiao(double m1, double m2,double y)
{
return(get_a(m1,m2)*y);
}
double get_p(double m1,double m2,double x)
{
return(get_C(m1,m2)/pow(get_U(x),get_a(m1,m2)));
}
double get_x(double ps,double m1, double m2,double x,double y)
{
return(ps-get_p(m1,m2,x,M)*cos(get_jiajiao(m1,m2,y)));
}
double get_y(double m1, double m2,int M,double x,double y)
{
return(get_p(m1,m2,x)*sin(get_jiajiao(m1,m2,y)));
}
//******************************************************************//
//
文档评论(0)