轻松实现坐标转换 - 图文_第1页
轻松实现坐标转换 - 图文_第2页
轻松实现坐标转换 - 图文_第3页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、轻松实现坐标转换 - 图文 轻松实现坐标转换 不同地理位置系统转换入门 级别: 初级 sami salkosuo (mailto:?subject=轻松实现坐标转换), 应用程序架构师, ibm xxxx年 9 月 07 日 文档选项 打印本页 打印本页 将此页作为电子邮件发送 很多流行的应用程序可以提供基于位置的服务,但是计算机如何识别真实世界中的位置呢?很多方法都涉及到地理坐标系统,并且在实际应用中存在不同的此类系统。在本文中,应用程序架构师 sami salkosuo 演示了使用 java? 代码在两种流行的系统之间转换位置数据:人们较为熟悉

2、的经纬度系统和统一横轴墨卡托投影(universal transverse mercator)系统。 将此页作为电子邮件发送 样例代码 位置服务 包括基于 gps 的导航系统和地图站点(如 google maps 和 yahoo! maps) 现在深受客户欢迎。很多企业已经利用了某些位置感知服务,而更多的用户将加入到这个行列中来,因为他们已认识到该服务带来的优势和潜能。在 xxxx年,garter 就曾表示,“位置感知服务在未来两到五年内将成为主流”,并且已经有 “越来越多的组织部署了位置感知移动业务应用程序。”(请参阅 参考资料,获得该报告的链接)。 当企业决定实现某种位置感知应用程序时,编

3、写此类应用程序的任务最终都落在开发人员的身上。构建位置感知服务涉及多种任务,或大或小,其中一项任务(相对较小)可能要将一种系统坐标转换为另一种系统坐标。本文将演示执行此类转换的代码,从而帮助您节省大量的工作。 两种不同的坐标系统 在详细研究本文代码之前,首先需要讨论即将处理的代码所属的坐标系统:较为熟悉的经纬度系统和统一横轴墨卡托投影系统(universal transverse mercator,utm)。我们还要提到以 utm 为基础的军事格参考系 (mgrs)。 经纬度系统 经纬度系统可能是最为人熟知的地理坐标设计方法。它使用两个数值表示位置。纬度 表示从地球中心到地球表面东西方向线之间

4、的角度。经度 指从地球中心到地球表面南北方向线之间的角度。经纬度可以表示为十进制角度(dd),或表示为度、分、和秒(dms);后者的格式可表示为诸如 4930003000。这是 gps 设备使用的典型格式。 地球以赤道(0 纬线)为界,分为南半球和北半球,又以 0 经线(从南极到北极的假想线,通过英国的格林威治市)为界分为东西半球。北半球的纬度从 0 度到 90 度,而南半球的纬度从 0 度到 -90 度。东半球的经度范围从 0 度到 180 度,西半球的经度范围为 0 度到 -180 度。 举例说明,坐标 61.44,25.40(使用 dd 单位)或 612624n,252360e (使用

5、dms 单位)位于芬兰南部。坐标 -47.04, -73.48(使用 dd 单位)或 470224s,732848w(使用 dms 单位)位于智利南部。图 1 展示了表面覆盖经纬线的地球: 图 1. 地球表面覆盖了经纬线 请参阅 参考资料,获得更详细的内容。 统一横轴墨卡托投影 utm 坐标系统使用基于格的方法表示坐标。utm 系统将地球分为 60 个区,每个区基于横轴墨卡托投影。绘图法中的地图投影方法可以在平面中表示一个两维的曲面,例如一个标准地图。图 2 展示了一个横轴墨卡托投影: 图 2. 横轴墨卡托投影 utm 经度区范围为 1 到 60;其中 58 个区的东西跨度为 6(稍后详细讨论

6、另外两个区)。经度区涵盖了地球中纬度范围从 80s 到 84n 之间的所有区域。 一共有 20 个 utm 纬度区,每个区的南北跨度为 8;使用字母 c 到 x 标识(其中没有字母 i 和 o)。a、b、y、z 区不在系统范围以内;它们覆盖了南极和北极区。图 3 展示了欧洲的 utm 区。从图 3 中可看到两个非标准的经度区:32v 区 被扩展为覆盖整个挪威的南部,而 31v 区被缩小,所以只覆盖了一片汪洋大海。 图 3. 欧洲地区的 utm 区 utm 坐标的表示格式为:经度区纬度区以东以北,其中以东 表示从经度区的中心子午线的投影距离,而以北 表示距离赤道的投影距离。这个两个值的单位均为米

7、。举例来说,使用 utm 表示经/纬度坐标 61.44,25.40 的结果就是 35 v 414668 6812844;而经/纬度坐标 -47.04,-73.48 的表示结果为 18 g 615471 4789269。 请参阅 参考资料,获取更多有关 utm 和 traverse mercator 投影的信息。 军事格参考系 mgrs 是北约(nato)军事组织使用的标准坐标系统。mgrs 以 utm 为基础并进一步将每个区划分为 100 km 100 km 的小方块。这些方块使用两个相连的字母标识:第一个字母表示经度区的东西位置,而第二个字母表示南北位置。 例如,utm 点 35 v 414

8、668 6812844 等价于 mgrs 点 35vmj1466812844。 该 mgrs 点精度为米,使用 15 个字符表示,其中最后 10 个字符表示指定格中的以东和以北的值。可以使用 15 个字符表示 mgrs 值(如前例),也可表示为 13、11、9 或 7 个字符;因此,所表示的值的精度分别为 1 米、10 米、100 米、1,000 米或 10,000 米。 本文并未对 mgrs 进行详细说明,但是本文的下载代码包含了经纬度坐标和 mgrs 坐标之间的转换。请参阅 参考资料,获得更多信息。 回页首 坐标转换 确定地球上某个位置的经度和纬度坐标的最低需求是,你至少能够看到星星和太阳

9、,并具备一个六分仪和能够显示 gmt 时间的时钟 t。根据空中某个物体与地平线之间的角度可以确定纬度,然后根据地球旋转计算出经度。本文并未详细讨论这些细节(想要了解更多请参阅 参考资料),相反,我们假设您已经具有 dd、dms 或 utm 格式的坐标。 在十进制角度和度/分/秒格式之间进行转换 dd 和 dms 坐标格式之间的转换非常简单。下面给出了 dd 到 dms 的转换公式: dd: dd.ff dms: dd mm ss dd=dd mm.gg=60*ff ss=60*gg 这里的 gg 代表计算的小数部分。负纬度表示位于南半球(s)的位置而负经度表示西半球(w)的位置。例如,假设您具

10、有一个 dd 格式的坐标 61.44,25.40。按照下面的公式将其转换: lat dd=61 lat mm.gg=60*0.44=26.4 lat ss=60*0.4=24 以及: lon dd=25 lon mm.gg=60*0.40=24.0 lon ss=60*0.0=0 因此,转换为 dms 格式的坐标变成了 612624n 252400e。 将 dms 转换为 dd 格式的公式如下所示: dd: dd.ff dms: dd mm ss dd.ff=dd + mm/60 + ss/3600 注意,南半球(s)的位置为负纬度,西半球(w)位置为负经度。 现在将 dms 格式坐标 470

11、224s 和 732848w 转换为 dd 格式的坐标: lat dd.ff= - (47 + 2/60 + 24/3600 )=-47.04 lon dd.ff= - (73 + 28/60 + 48/3600)=-73.48 转换后的 dd 格式的坐标为 -47.04 和 -73.48。 在经纬度和 utm 坐标之间进行转换 十进制坐标可通过一个六分仪和一个记时计确定,与此不同的是,必须通过计算才能确定 utm 坐标。虽然这些计算无非是最基本的三角形和代数计算,但是所使用的公式非常复杂。如果您阅读了 “the universal grids: universal transverse me

12、rcator (utm) and universal polar stereographic (ups)”(参阅 参考资料 获得链接),就知道它有多复杂了。 本文没有给出 utm 转换公式,但是可从下面一节中给出的源代码中窥探一二,更多信息请参阅 参考资料 提供的链接。 回页首 使用 java 代码转换坐标 本节介绍了执行坐标转换(十进制角度和 utm)的库类的源代码。该 java 类名为 com.ibm.util.coordinateconversion;其思想是构建一个提供转换方法的类。该类包含实际执行转换的内部类;如果需要的话,可以从 coordinateconversion 类中重构内部类,从而创建一个库包或向现有包添加类。该类执行的转换精度低于 1 米。 coordinateconversion 的源代码包含大约 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论