将 Geography /Geometry 转换为 deg/min/sec - 相同的计算?

Convert Geography /Geometry to deg/min/sec - same calculation?

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

但我在追求别的东西:

如何将地理类型列转换为度分秒?

几何的建议解决方案是:

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

对于地理,将小数点更改为 => deg/min/sec 是否有效,就像对于几何一样? (会不会是一样的计算?)

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