Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Créer une polyligne géographique à partir de points dans T-SQL

essayez ceci :(remarque :l'ordre des points est important pour que la ligne soit correctement générée.)

DECLARE @BuildString NVARCHAR(MAX)
SELECT @BuildString = COALESCE(@BuildString + ',', '') + CAST([Longitude] AS NVARCHAR(50)) + ' ' + CAST([Latitude] AS NVARCHAR(50))
FROM dbo.LongAndLats
ORDER BY SortOrder             

SET @BuildString = 'LINESTRING(' + @BuildString + ')';   
DECLARE @LineFromPoints geography = geography::STLineFromText(@BuildString, 4326);
SELECT @LineFromPoints