如何在SQL中将十进制转换为GIS坐标?



我在我们的一个系统中将 GIS 坐标作为小数存储在我们的一个系统中。但是,我想将它们显示为度:分钟:秒。我尝试了谷歌搜索,但找不到任何SQL内容。有人可以帮我吗?

CREATE TABLE gis 
( 
latitude DECIMAL(13, 10) 
); 
INSERT INTO gis 
SELECT -95.8833333000 
UNION ALL 
SELECT 32.5530555550 
UNION ALL 
SELECT -163.3000000000

谢谢!

我能够根据这个博客做到这一点。希望这对将来的某人有所帮助。

SELECT [Latitude] AS [Latitude], 
CAST([Latitude] AS INT) AS [Degrees], 
REPLACE(CAST(([Latitude] - CAST([Latitude] AS INT)) * 60 AS INT), '-', '') AS [Minutes], 
REPLACE(CAST((3600 * ([Latitude] - CAST([Latitude] AS INT))) - (CAST(([Latitude] - CAST([Latitude] AS INT)) * 60 AS INT) * 60) AS INT), '-', '') AS [Seconds]
FROM gis

最新更新