GPS经纬度的表示方法及换算

时间:2022-07-19 12:06:24 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
想要认识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年国际经度会议规定,以通过英国伦敦格林威治天文台子午仪中心的经线为经线。经线往东叫东经,往西叫西经,东、西各分180°。习惯 上以西经20°和东经160°为分界把地球分为东西两个半球。假如从地轴的正中间将地球切成南北两半,上边的一半叫北半球,下边的一半叫南半球。被切的这 平面,叫赤道面。赤道面与地球表面相交的线叫赤道。纬线从赤道往两极越来越短,到了两极就缩小成一个点了。科学家们把赤道定为纬线,从赤道向两极各 分为90°,赤道以南叫南纬,赤道以北叫北纬。在计算机或GPS上经纬度经常用度、分、秒和度.度、分.分、秒.秒的混合方式进行表示,度、分、秒间的进 制是60进制,度.度、分.分、秒.秒的进制是100进制,换算时一定要注意。可以近似地认为每个纬度之间的距离是不变的111KM,每分间 1.85KM,每秒间31.8M。经度间的距离随纬度增高逐渐减小,可按一下公式计算:

经度长度=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=结果自己算!

如把经纬度 (longitudelatitude) (205.39558333333257.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


本文来源:https://www.wddqw.com/doc/96bef07d6bd97f192379e91b.html