将地理/几何转换为deg / min / sec - 相同的计算?

时间:2015-02-04 09:27:06

标签: sql-server sql-server-2008-r2

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

但我正在追求别的东西:

如何将地理位置类型列转换为度数分钟秒?

Geometry 的建议解决方案是:

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? ,

将小数更改为=&gt;是否有效地理位置的度/分/秒,与几何相同? (会是同样的计算吗?)

1 个答案:

答案 0 :(得分:1)

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