地图投影算法.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地图投影算法

5.1 地图投影的概念 ??? 计算机地图制图时,是将分布在地球上的事物符号化,并绘制到计算机屏幕或者纸上。地球上的地物使用经纬度坐标表定其位置,地球的形状是一个扁率很小的近似椭球体。如果把这个椭球体缩小几百万倍,它的形状就接近正球体。地球表面是曲面,计算机屏幕或者纸张是平面的,就象要将一个橘子剥开来摊平,理论上讲橘皮永远是铺不平的。要把地球表面上的物体和现象绘制到平面图纸上,就必须解决球面与平面之间的矛盾。如何使球面转化到平面后少破裂、少重叠、变形小,并使变形符合一定要求,需要一种科学方法,这种方法就是研究从地球面转绘到平面上所采用的数学方法,叫做地图投影。 ??? 16世纪航海事业得到很大发展,欧洲人发现了两个新大陆;麦哲伦船队的一只船成功地完成了环球航行。那时,航海家粗略地知道各大陆的位置,并且能借助于罗盘航行,但是他们无法确定以何种航线能达到目的地。为了能在航海图上随时确定航向,比利时地图学家和数学家墨卡托发明的地图投影。 ??? 地球面上任意一点的位置是由经纬度来决定的。所谓地图投影就是建立平面上的点(用平面直角坐标或极坐标表示)和地球表面上的点(用纬度φ和经度λ表示)之间的函数关系。可用数学公式表达: ??? x = f1 (φ, λ ) ??? y = f2 (λ, φ) (5.1) ??? 如果能建立x、y和φ、λ之间的函数式,就可以依据地表上的点(φ,λ),求出其在平面上的位置(x,y)。 ??? 地图投影会存在两中误差,形状变化(也称角度变化)或者面积变化。投影以后能保持形状不变化的投影,称为等角投影 (Conformal mapping),它的优点除了地物形状保持不变以外,在地图上测量两个地物之间的角度也能和实地保持一致,这非常重要,当在两地间航行必须保持航向的准确;或者另外一个例子是无论长距离发射导弹还是短距离发射炮弹,发射角度必须准确测量出来。因此等角投影是最常被使用的投影。等角投影的缺点是高纬度地区地物的面积会被放大。在墨卡托投影的地图上阿拉斯加和巴西看上去差不多同样大小,但是事实上巴西要大四倍。如图5-6。 ??? 投影以后能保持形状不变化的投影,称为等面积投影 (Equivalent mapping),在有按面积分析需要的应用中很重要,显示出来的地物相对面积比例准确,但是形状会有变化,假设地球上有个园,投影后绘制出来即变成个椭圆了。还有第三种投影,非等角等面积投影,意思是既有形状变化也有面积变化,这类投影既不等角也不等积,长度、角度、面积都有变形。其中有些投影在某个主方向上保持长度比例等于1,称为等距投影。 ??? 地图投影的过程是可以想象用一张足够大的纸去包裹地球,将地球上的地物投射到这张纸上。地球表面投影到平面上、圆锥面或者圆柱面上,然后把圆锥面、圆柱面沿母线切开后展成平面。如图5-1所示,根据这张纸包裹的方式,地图投影有可以分成:方位投影、圆锥投影和圆柱投影。根据这张纸与地球相交的方式,地图投影有可以分成切投影和割投影,在切线或者割线上的地物是没有变形的,而距离切线或者割线越远变形越大。 ??? 还有不少投影直接用解析法得到。根据所借助的几何面不同可分为伪方位投影、伪圆锥投影、伪圆柱投影等。 ??? 总结一些常用投影的适用范围。等角投影常用于航海图、风向图、洋流图等。现在世界各国地形图采用此类投影比较多。等积投影用于绘制经济地区图和某些自然地图。对于大多数数学地图和小比例尺普通地图来说,应优先考虑等积的要求。地理区域,诸如国家、水域和地理分类地区(植被、人口、气候等)相对分布范围,显然是十分重要的内容。 任意投影常用作数学地图,以及要求沿某一主方向保持距离正确的地图。常用作世界地图的投影有墨卡托投影、高尔投影、摩尔威特投影、等差分纬线多圆锥投影、格灵顿投影、桑森投影、乌尔马耶夫投影等。 ??? 5.2 地图投影的实现 ??? 5.2.1 扩充地图层对象类 ??? 继承前一章的地图层对象类TGeoLayer派生出一个新的类TGeoLayerWithProjction,使它具有投影坐标计算和转换的功能。 ??? TGeoLayerWithProjection = class(TGeoLayer) ??? … ??? end; ??? TGeoLayerWithProjction中新增域ProjectionType以记录投影的类型。本书共设有12种投影选择。见5.2.2。 ??? 投影坐标计算的功能通过方法SetProjectionType实现。它首先释放地图层原先拥有的所有地图对象,重新从磁盘文件中读入原始数据,然后判别ProjectionType,当ProjectionType为0时不作投影处理,否则调用投影计算过程ty完成坐标的转换。ty将根据ProjectionType分

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档