Преобразовать широту и долготу поплавка в географию - PullRequest
8 голосов
/ 01 августа 2011

Как преобразовать значения широты и долготы с плавающей точкой в ​​значения типа географии?У меня есть @lat и @lon переменные.

Ответы [ 2 ]

18 голосов
/ 18 декабря 2012

с указанием регистра:

CASE
    WHEN ((@Latitude IS NOT NULL) AND (@Longitude IS NOT NULL))
    THEN geography::Point(@Latitude, @Longitude, 4326)
    ELSE NULL           
END

или вариант с if:

 DECLARE @Location geography = NULL
 IF (@Latitude IS NOT NULL AND @Longitude IS NOT NULL)
    SET @Location = geography::Point(@Latitude, @Longitude, 4326);
2 голосов
/ 01 августа 2011

Я сам нашел решение:

geography::STPointFromText(
    'POINT(' + CAST(@lon AS VARCHAR(20)) + ' ' + CAST(@lat AS VARCHAR(20)) + ')', 4326)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...