关于地图投影的C程序的一些说明

   关于地图投影的C程序的一些说明

    一。 综述
    程序统一建立于a:\2023目录之下,分为若干个练习,即\ex1,\ex2,\ex3…… 具体内容如下:1。基本公式建立与一般运算检验;2。等角圆锥投影(main1计算,main2兼作图,以河北省为例);3。等角圆柱投影(main3为 河北省,main4为全球,即墨卡托投影);4。高斯—克吕格投影(main1为3度分带全球投影,main2为高斯—克吕格投影及UTM投影与地理坐标 之间的一般转换计算);5。等角方位投影;6。全球地图。

    二。 文件
    每个\ex目录之下,设有若干个文件。大体上,这些文件可以分为以下几类:
   (1)H文件,即头文件,命名为PARAMETER。H,其中定义有地图投影的最基本常量。如:major_radius(地球椭球体长半轴半径)、minor_radius(地球椭球体短半轴半径)。注:本程序中一律采用克拉索夫斯基椭球体(1940年)。
   (2)C文件,程序文件。分为基本函数与一般程序。其中,前者一律采用BASIC_FUNCTION。C来命名,但各个目录之下的并不相同,一般愈向后 的,所包含的函数愈多。后者以MAIN1。C、MAIN2。C……来命名,主要是依据各次不同的功能,调用不同的函数,编写具体程序。
   (3)OUT文件,输出数据的存放地点。
   (4)DAT文件或TXT文件,程序的数据源。

    三。 常量
    本程序中,一些常量的定义,具体叙述如下:
   (1)major_radius:椭球体长半轴半径,即书中所提的常量a;
   (2)minor_radius:椭球体短半轴半径,即书中所提的常量b;
   (3)eccentricity:第一偏心率,即e;
   (4)eccentricity1:第二偏心率,即e'。

    四。 函数
    首先声明,程序中凡是带有latitude或longitude的变量,其正负取值的意义为:南半球纬度为负,北半球纬度为正;东半球经度为正,西半球经度为负。所调用函数形参表中,若有角度表示的值,一律转换为相应的弧度值。
    本程序中,一些函数的定义,具体叙述如下:
   (1)double Eccentricity(void)——计算第一偏心率。
        同理,double Eccentricity1(void)——计算第二偏心率。
   (2)double Meridian_radius(double latitude)——计算子午圈半径。形参latitude,指测量点所在地理纬度。
   (3)double Prim_vertical_radius(double latitude)——计算卯酉圈半径。形参同上。
   (4)double Meridian_length(double lowest_latitude,double highest_latitude)——计算子午圈弧长。形参lowest_latitude指低纬度,highest_latitude指高纬度。
   (5)double Parallel_length(double latitude,double lowest_longitude,double highest_longitude)——计算平行圈弧长。形参latitude同上,形参lowest_longitude与 highest_longitude分别指低经度与高经度。
   (6)double Area(double lowest_latitude,double highest_latitude,double lowest_longitude,double highest_longitude)——计算积分梯形面积。形参定义同上。      (7)double Radaim(double dms)——角度值(实数表示)转换为弧度值。形参dms为角度值对应的实数值。
        类似地,有double Radiam1(double x,double y,double z)——角度值(度、分、秒表示)转换为相应实数值。
   (8)double U(double latitude)——计算基本量U的函数。形参定义同上。相关定义见书本P86定义(7—9)后的换元。
   (9)double U1(double latitude)——计算基本量gama的函数。形参定义同上。相关定义见书本P138定义(9—12)。

    五。 作图
    本程序中的作图环境,以15'的彩显为准。初始化条件为VGA(gdriver)、VGAHI(gmode),*.bgi文件默认于当前\TC目录之下。
    建议在TC程序处于全屏显示的状态下,按提示要求运行画图程序;否则,可能会引起一些意想不到的图象,或完全得不到图象。

    六。 附注
    调用系统头文件包括有:DOS.H、STDIO.H、STDLIB.H、MATH.H、GRAPHICS.H等。可以参考其中相应内容。



e-mail:shisong.zhu@gmail.com
GISer in China, for engineering
原文地址:https://www.cnblogs.com/columbus2/p/2867157.html