想要认识GPS中的经纬度,就必须先了解GPS,知道经纬度的来源:

  1. GPS系统组成

  GPS是 Gloabal Positioning System 的简称,意为全球定位系统,主要由地面的控制站、天上飞的卫星、咱们手里拿的接收机三大块组成,我们所使用的GPS包括手持机和车载导航机本质上都是GPS接受机。

  2. GPS接收机

  接收机大大小小,千姿百态,有袖珍式、背负式、车载、船载、机载什么的。一般常见的手持机接收L1信号,还有双频的接收机,做精密定位用的。

  3. 坐标系

  地形图坐标系:我国的地形图采用高斯-克吕格平面直角坐标系。在该坐标系中,横轴:赤道,用Y表示;纵轴:中央经线,用X表示;坐标原点:中央经线与赤道的交点,用O表示。赤道以南为负,以北为正;中央经线以东为正,以西为负。我国位于北半球,故纵坐标均为正值,但为避免中央经度线以西为负值的情况,将坐标纵轴西移500公里。

  北京54坐标系:1954年我国在北京设立了大地坐标原点,采用克拉索夫斯基椭球体,依此计算出来的各大地控制点的坐标,称为北京54坐标系。

  GS84坐标系:即世界通用的经纬度坐标系。

  6度带、3度带、中央经线。

  我国采用6度分带和3度分带:

  1∶2.5万及1∶5万的地形图采用6度分带投影,即经差为6度,从零度子午线开始,自西向东每个经差6度为一投影带,全球共分60个带,用1,2,3,4,5,……表示。

  1∶1万的地形图采用3度分带,从东经1.5度的经线开始,每隔3度为一带,用1,2,3,……表示,全球共划分120个投影带

  4. 经纬度的来源

  为了精确地表明各地在地球上的位置,人们给地球表面假设了一个坐标系,这就是经纬度线。那么,最初的经纬度线是怎么产生又是如何测定的呢公元344年,亚历山大渡海南侵,继而东征,随军地理学家尼尔库斯沿途搜索资料,准备绘一幅“世界地图”。他发现沿着亚历山大东征的路线,由西向东,无论季节变换与日照长短都很相仿。于是做出了一个重要贡献——第一次在地球上划出了一条纬线,这条线从直布罗陀海峡起,沿着托鲁斯和喜马拉雅山脉一直到太平洋。

  亚历山大帝国昙花一现,不久就瓦解了。但以亚历山大为名的那座埃及城里,出现了一个著名图书馆,多年担任馆长的埃拉托斯特尼博学多才,精通数学、天文、地理。他计算出地球的圆周是46 250千米,画了一张有7条经线和6条纬线的世界地图。

  5. 经纬度的表示

  1884年国际经度会议规定,以通过英国伦敦格林威治天文台子午仪中心的经线为0°经线。从0°经线往东叫东经,往西叫西经,东、西各分180°。习惯上以西经20°和东经160°为分界把地球分为东西两个半球。假如从地轴的正中间将地球切成南北两半,上边的一半叫北半球,下边的一半叫南半球。被切的这个平面,叫赤道面。赤道面与地球表面相交的线叫赤道。纬线从赤道往两极越来越短,到了两极就缩小成一个点了。科学家们把赤道定为0°纬线,从赤道向两极各分为90°,赤道以南叫南纬,赤道以北叫北纬。在计算机或GPS上经纬度经常用度、分、秒和度.度、分.分、秒.秒的混合方式进行表示,度、分、秒间的进制是60进制,度.度、分.分、秒.秒的进制是100进制,换算时一定要注意。可以近似地认为每个纬度之间的距离是不变的111KM,每分间1.85KM,每秒间31.8M。经度间的距离随纬度增高逐渐减小,可按一下公式计算:

  经度1°长度=111.413cosφ一0.094cos3φ公里(纬度φ处)。

  一般从GPS得到的数据是经纬度。经纬度有多种表示方法。

  1.) ddd.ddddd, 度 . 度的十进制小数部分(5位)例如:31.12035º

  2.) ddd.mm.mmm,度 . 分 . 分的十进制小数部分(3位)例如 31º10.335'

  3.)ddd.mm.ss, 度 . 分 . 秒 例如 31º12'42"

  地球上任何一个固定的点都可以用确定的经纬度表示出来。

  关于经纬度坐标转换的方法

  一、十进制转换成经纬度

  把经纬度转换成十进制的方法很简单

  如下就可以了

   Decimal Degrees = Degrees + minutes/60 + seconds/3600

  例:57°55'56.6" =57+55/60+56.6/3600=57.9323888888888

  114°65'24.6"=114+65/60+24.6/3600=结果自己算!

  如把经纬度 (longitude,latitude) (205.395583333332,57.9323888888888)

  转换据成坐标(Degrees,minutes,seconds)(205°23'44.1",57°55'56.6")。

  步骤如下:

  1, 直接读取"度":205

 2,(205.395583333332-205)*60=23.734999999920 得到"分":23

  3,(23.734999999920-23)*60=44.099999995200 得到"秒":44.1

  采用同样的方法可以得到纬度坐标:57°55'56.6"

  如果需要转换的经纬度数据很多,可以借助Sql查询分析器或Excel来进行转换。这里介绍用Sql实现。

  假如我的数据库里的表tableName有以下数据

  CREATE TABLE [dbo].[tableName](

   [ID] [int] IDENTITY(1,1) NOT NULL,

   [address] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL,

   [longitude] [float] NULL,

   [latitude] [float] NULL

  ) ON [PRIMARY]

 GO

  表中的数据

  ID address longitude latitude

  0 add1 205.3955833 57.93238889

  1 add2 205.3911111 57.95194444

  2 add3 205.3791667 57.98916667

  3 add4 205.3713889 57.95611111

  在sql 查询分析器里直接调用以下查询语句

  --Declare The longitude,latitude

  declare @LoaDeg varchar(50)

  declare @LoaMin varchar(100)

  declare @LoaSec varchar(100)

  declare @LatDeg varchar(50)

  declare @LatMin varchar(100)

  declare @LatSec varchar(100)

  --Set The Variable

  Set @LoaDeg='left(longitude,3)'

  Set @LoaMin='left((longitude-'+@LoaDeg+')*60,2)'

  Set @LoaSec='left((((longitude-'+@LoaDeg+')*60-'+@LoaMin+')*60),4)'

  Set @LatDeg='left(longitude,3)'

  Set @LatMin='left((longitude-'+@LatDeg+')*60,2)'

  Set @LatSec='left((((longitude-'+@LatDeg+')*60-'+@LatMin+')*60),4)'

  --Execute The Command

  exec('select ID,address,longitude,

  '+@LoaDeg+' as LoaDegree,

  '+@LoaMin+' as LoaMinute,

  '+@LoaSec+' as LoaSecond,

  '+@LatDeg+' as LatDegree,

  '+@LatMin+' as LatMinute,

  '+@LatSec+' as LatSecond

   from TableName')

  即可得到:

  ID address longitude LoaDegree LoaMinute LoaSecond latitude LatDegree LatMinute LatSecond

  1 add1 205.3955833 205 23 44 57.93238889 205 23 44

  2 add2 205.3911111 205 23 28 57.95194444 205 23 28

  3 add3 205.3791667 205 22 45 57.98916667 205 22 45

  4 add4 205.3713889 205 22 17 57.95611111 205 22 17

关于分秒表示的实际距离,可以如下推算:
      地球子午线长是39940.67公里,纬度改变一度合110.94公里,一分合1.849公里,一秒合30.8米,赤道圈是40075.36公里,北京地区纬在北纬40度左右,纬度圈长为40075*sin(90-40),此地经度一度合276公里,一分合1.42公里一秒合23.69米

GPS经纬度的表示方法及换算的更多相关文章

  1. [转]GPS经纬度的表示方法及换算

    想要认识GPS中的经纬度,就必须先了解GPS,知道经纬度的来源: 1. GPS系统组成 GPS是 Gloabal Positioning System 的简称,意为全球定位系统,主要由地面的控制站.天 ...

  2. [java] 更好的书写equals方法-汇率换算器的实现(4)

    [java] 更好的书写equals方法-汇率换算器的实现(4) // */ // ]]>   [java] 更好的书写equals方法-汇率换算器的实现(4) Table of Content ...

  3. 微信中得到的GPS经纬度放在百度,腾迅地图中不准的原因及处理

    微信中可以得到两种GPS坐标信息  默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' 一种是全球的正常GPS坐标信息 wgs84 . GPS,W ...

  4. 通过百度地图API将百度坐标转换成GPS经纬度

    百度地图API链接:http://developer.baidu.com/map/index.php?title=webapi/guide/changeposition 百度地图API中,有GPS坐标 ...

  5. 使用GPS经纬度定位附近地点(某一点范围内查询)

    需要手机查找附近N米以内的商户,致想法是已知一个中心点,一个半径,求圆包含于圆抛物线里所有的点,经纬度是一个点,半径是一个距离,不能直接加减,下面提供C#的解决方法 数据库中记录了商家在百度标注的经纬 ...

  6. 测试百度地图输入GPS经纬度显示位置API

    1.我的GPS获取的经纬度做度分秒转换后为 34.636055,112.40832 2.百度API介绍 GPS的坐标是WGS84,所以测试API http://api.map.baidu.com/ge ...

  7. 多边形面积计算公式 GPS经纬度计算面积

    最近在做地图相关面积计算显示工作,百度了很多关于多边形面积计算方面公式和代码,只能说贼费劲,最终完成了把结果展示下     原理:鞋带公式 定义:所述鞋带式或鞋带算法(也称为高斯的面积公式和测量员的式 ...

  8. MacOS下Terminal获取GPS经纬度坐标

    通过命令行直接获取经纬度坐标MacOS 首先下载WhereAmI,最新版本: https://github.com/robmathers/WhereAmI/releases/download/v1.1 ...

  9. 根据GPS经纬度判断当前所属的市区

    这个事情分两步走 1. 拿到行政区划的地理围栏数据 2. 根据GPS定位判断一个点是否落在地理围栏的多边形区域里. 1. 获取行政区划的地理围栏数据可以利用百度API.打开以前我的一个例子在chrom ...

随机推荐

  1. RNN-GRU-LSTM变体详解

    首先介绍一下 encoder-decoder 框架 中文叫做编码-解码器,它一个最抽象的模式可以用下图来展现出来: 这个框架模式可以看做是RNN的一个变种:N vs M,叫做Encoder-Decod ...

  2. 两种查看SIP版本的方法python

    第一种:进入python命令行 print(sip.SIP_VERSION_STR) 注意对应的PyQt版本号和大小写 print(PyQt5.sip.SIP_VERSION_STR) 第二种:直接在 ...

  3. TouTiao开源项目 分析笔记10 实现通用普通文章片段页面

    1.RxJava的Observable数据操作符总结 1.1.Map操作符 Map操作符对原始Observable发射的没一项数据应用一个你选择的函数, 然后返回一个发射这些结果的Observable ...

  4. 绿盟python测试实习面试

    1.简历问题 低级错误:时间写错 最近好像越来越马大哈了,总是犯低级错误. 上次的开题报告首页,这次的时间,每次都有小问题,确是大毛病 到底哪里出错了 2 RHCE证书好像没有用 面试官根本就不懂这个 ...

  5. Windows usb设备正在使用中

    每次插上u盘之后,弹出的时候,总是提示正在使用中.后来我发现了技巧, 1.打开任务管理器 2.打开底部的 打开资源监视器 按钮 3.然后点击磁盘 4.再次弹出usb 就可以弹出了.

  6. 我今天的收获,必备stadio 插件

    1.ADBWIFI 必须的,说不定你就用到了. 2.ADB Idea 必须 3.JavaDoc 4.Translation 5.Gradle Killer

  7. laravel5.5探究容器的秘密

    目录 1. 定义一个契约(接口) 2. 一个实现这个接口的类 3. 创建服务提供者 4. 注册服务提供者 5. 创建facades 6. 再然后需要到配置文件config/app.php中注册门面类别 ...

  8. 《Cracking the Coding Interview》——第14章:Java——题目1

    2014-04-26 18:20 题目:从继承的角度,把构造函数设成private有什么意义? 解法:就不能继承了.单体模式里也这么干,目的是为了不让使用者自主生成对象,进行限制. 代码: // 14 ...

  9. 《Cracking the Coding Interview》——第13章:C和C++——题目8

    2014-04-25 20:27 题目:实现一个能够通过引用计数来实现自动回收数据的智能指针,用C++,不是java. 解法:这题真心牛,我的第一反应是发呆,因为对引用计数的了解仅限于这个名词,完全没 ...

  10. 牛客练习赛22-E.简单数据结构1(扩展欧拉定理降幂 +树状数组)

    链接:E.简单数据结构1 题意: 给一个长为n的序列,m次操作,每次操作: 1.区间加 2.对于区间,查询 ,一直到- 请注意每次的模数不同.   题解:扩展欧拉定理降幂 对一个数p取log(p)次的 ...