我看到了这个相关问题: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;是否有效地理位置的度/分/秒,与几何相同? (会是同样的计算吗?)
答案 0 :(得分:1)
答案简短:是的。两者只是同一事物的不同表现形式。一个表示十进制的尾数,另一个表示六十进制。