DECLARE @geographyData geography;
//Convert wkt to geography
SET @geographyData = geography::Parse('LINESTRING(-132.360 50.657, -120.340 47.659)');
//Convert back to wkt from geography
(1) @geographyData.ToString();
(2) @geographyData.STAsText();
(1) и (2) дают тот же результат, что и LINESTRING (-132,36 50,657, -120,340 47,659). В чем разница между ToString () и STAsText ()?
Спасибо.
Согласно документации, ToString()
возвращает значение представление географического экземпляра, дополненное любыми значениями Z (высота) и M (мера), которые несет экземпляр.
Однако функция STAsTEXT()
текст не будет содержать никаких значений Z (высота) или M (мера), переносимых экземпляром.
Похоже, что в этих функциях SQL Geography есть некоторое совпадение.
STAsText (тип данных geography) это вернет текст, будет ли нет содержать любые значения Z (высота) или M (мера), переносимые экземпляром
но
ToString (тип данных geography) это вернет текст, который будет содержать любые значения Z (высота) или M (мера), переносимые экземпляром
Пример:
ЗАЯВИТЬ @g geometry;
SET @g = geometry :: STGeomFromText ('ТОЧКА (1 2 3 4)', 0);
ВЫБРАТЬ @ g.ToString (); - Результат ТОЧКА (1 2 3 4)
SELECT @ g.STAsText () - Результат ТОЧКА (1 2)