Как преобразовать десятичные числа в ГИС координаты в SQL? - PullRequest
0 голосов
/ 07 января 2020

У меня есть ГИС координаты, хранящиеся в одной из наших систем как десятичные числа. Тем не менее, я хотел бы отобразить их как градусы: минуты: секунды. Я попробовал поискать в Google, но ничего не нашел за SQL. Может ли кто-нибудь помочь мне?

    CREATE TABLE gis 
  ( 
     latitude DECIMAL(13, 10) 
  ); 

INSERT INTO gis 
SELECT -95.8833333000 
UNION ALL 
SELECT 32.5530555550 
UNION ALL 
SELECT -163.3000000000

Спасибо!

1 Ответ

0 голосов
/ 07 января 2020

Я смог сделать это на основе этого блога . Надеюсь, это поможет кому-то в будущем.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...