惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
IT之家
IT之家
Google DeepMind News
Google DeepMind News
罗磊的独立博客
爱范儿
爱范儿
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
U
Unit 42
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
B
Blog
博客园 - 叶小钗
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - columbus2

用Python作GIS之五:从示例入手—example函数 用Python作GIS之四:Tkinter基本界面的搭建 用Python作GIS之三:入口程序 - stargui.py 用Python作GIS之二:STARS开发环境配置 用Python作GIS之一:介入STARS OpenBlock:针对EveryBlock.com源码的开源拓展项目 EveryBlock源代码 空间数据可视化 GeoDjango教程[3] GeoDjango教程[2] GeoDjango教程[1] 地理信息技术在现场项目的应用浅析 ESRI and SAP 防卫力量与公共安全:SAP与地理信息的集成 VRML之desk [地图投影之C实现]原数据 [地图投影之C实现]主程序 [地图投影之C实现]PARAMETE.H [地图投影之C实现]BASIC_FU.C
关于地图投影的C程序的一些说明
columbus2 · 2013-01-19 · via 博客园 - columbus2

   关于地图投影的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等。可以参考其中相应内容。