如何将GPS数据转换为度分秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将GPS数据转换为度分秒相关的知识,希望对你有一定的参考价值。

我们是搞电力测量的,用GPS测量出的数据是北京54.中央子午线102.
测出的数据是101.2910894377
25.2224271
如何把这个数据转化为度分秒呀
求一公式套用!

1、启动Excel之后,在A、B列录入如下数据,C、D列作为转换后的输出结果。

2、主要利用Text函数,将特定内容,转换成需要的格式,在B3单元格输入经纬度测试数据:50.454564。在C列输入公式:=TEXT(B3/24,"[h]°m′sss.000″")即可完成数值与度分秒的转换。

3、Text该函数将数值转换为文本,并使您可以使用特殊格式字符串指定显示格式。

4、在输入经纬度中的秒数据,需要精确到分后面第四位秒。录入公式:=TEXT(INT(B3),"0")&"°"&TEXT(INT((B3-INT(B3))*60),"00")&"′"&TEXT(((B3-INT(B3))*60-INT((B3-INT(B3))*60))*60,"00.0000")&"″"即可。

5、用替换函数,分别获得度、分、秒的值后计算完成转换。在C列输入公式:=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,"°",":"),"′",":"),"″",)*24即可完成数值与度分秒的转换。

参考技术A 纬度原点是多少?北偏和东偏是多少?使用的哪种投影方式?这些能确定吗?如果能,可判断是标准椭球还是地方坐标,再通过已知点对反算一套参数即可。如果不清楚的话,要是能提供两对已知点也可以算出。 参考技术B 在GPS设备中对于坐标单位有不同的显示方法,有度分秒(DMS)和度(DDD)。

例如:南京玄武区板仓街世界之窗创业园的GPS坐标如下:
度分秒(DMS):东经E 118度48分54.152秒 北纬N 32度04分10.461秒
度(DDD):E 118.815033度 N 32.069723度

如何将度(DDD):: 118.815033度换算成度分秒(DMS)东经E 118度48分53.652秒?转换方法是将118.815033整数位不变取118(度),用0.815033*60=48.90198,取整数位48(分),0.90198*60=54.1188再取整数位54(秒),故转化为118度48分54秒。
同样将度分秒(DMS):东经E 118度48分54.152秒 换算成度(DDD)的方法如下:118度48分54.152秒=118+(48/60)+(54.152/3600)=118.81504度。

因为计算时小数位保留的原因,导致正反计算存在一定误差,但误差影响不是很大。1秒的误差就是几米的样子。各位GPS玩友可以用上述方法换算成自己需要的单位坐标。
参考技术C 小数点之后的数乘以60就是分,分小数点后的数乘以60就是秒

将地理/几何转换为度/分/秒 - 相同的计算?

【中文标题】将地理/几何转换为度/分/秒 - 相同的计算?【英文标题】:Convert Geography /Geometry to deg/min/sec - same calculation? 【发布时间】:2015-02-04 09:27:06 【问题描述】:

我看到了这个相关的问题:How to convert Geometry type column to degree Minutes Second in SQL Server 2008 R2

但我在追求别的东西:

如何将Geography类型的列转换为度分秒?

几何的建议解决方案是:

DECLARE @geom geometry;

SET @geom = geometry::STGeomFromText('POINT(-83.255 32.567477)', 4326);


SELECT CASE WHEN @geom.STX < 0 then '-' ELSE '' END +
    CAST(FLOOR(ABS(@geom.STX)) as varchar) + ' ' +
    CAST(CAST(FLOOR(ABS(@geom.STX) * 60) AS INT) % 60 as varchar) + ''' ' +
    CAST(CAST(FLOOR(ABS(@geom.STX) * 3600) AS INT) % 60 AS VARCHAR) + '"',
  CASE WHEN @geom.STY < 0 then '-' ELSE '' END +
    CAST(FLOOR(ABS(@geom.STY)) as varchar) + ' ' +
    CAST(CAST(FLOOR(ABS(@geom.STY) * 60) AS INT) % 60 as varchar) + ''' ' +
    CAST(CAST(FLOOR(ABS(@geom.STY) * 3600) AS INT) % 60 AS VARCHAR) + '"'

NB 我问它是因为我知道几何学更多 forgiving 比地理

问题

如何将 geography 转换为 deg/min/sec ? ,

与 Geometry 一样,将小数更改为 => deg/min/sec 是否有效? (会是一样的计算吗?)

【问题讨论】:

你有没有想过看看SqlGeometrySqlGeography 的属性。嗯,好吧,是的,正如错误所说,地理类型没有STX/STY。但它确实有LatLong... @Damien_The_Unbeliever 我已经知道了。将地理的度/分钟/秒更改为十进制是否与几何相同? (几何比地理更宽容......所以我害怕丢失数据) 如果你说“几何更宽容”,我不知道你的意思是什么意思 - 你有一些关于这个话题的文章/帖子吗? - 由于您的问题的主要焦点似乎是“地理缺少STX 属性,我该怎么办?”我想我会通过简单的搜索向您指明您应该能够找到有关该问题的文档。 @Damien_The_Unbeliever i.imgur.com/DMI2x5b.png ,来自 here... 所以我问 - 即使我将 STX 更改为 LAT/LON :“更改 deg/min/sec 是否有效地理的十进制与几何的方式相同“? 我一直在努力弄清楚如何应对。您似乎对基于其他人在另一个答案中的模糊断言的某些事情有一些强烈的看法,而这反过来又很少能证明一个应该被认为更“宽容”的实际原因。这两种类型有不同的用途应该不足为奇——如果它们的行为相同,我们就不会有两种类型。您是否真正了解问题中包含的代码,并理解为什么它实际上不太适合几何而不是地理? 【参考方案1】:

简短的回答:是的。两者只是同一事物的不同表示。一个以十进制表示尾数,另一个以六十进制表示。

【讨论】:

以上是关于如何将GPS数据转换为度分秒的主要内容,如果未能解决你的问题,请参考以下文章

度分秒转换为度

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版

测绘程序设计Excel度(°)转换度分秒(° ‘ “)模板附代码超实用版

测绘程序设计Excel度分秒(° ‘ “)转换度(°)模板附代码超实用版

测绘程序设计Excel度分秒(° ‘ “)转换度(°)模板附代码超实用版

测绘程序设计C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)