Souvent, les coordonnées géographiques sont exprimées en degrés, minutes, secondes.
Mais nos systèmes sont bien plus à l’aise avec des nombres décimaux, et il est donc nécessaire de convertir des coordonnées sexagésimales en degrés ou bien en radians.
Voici une petite fonction pour le faire …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ------------------------------- -- Nicolas SOUQUET - 28/10/2009 ------------------------------- ALTER FUNCTION Fn_CoordonneesSexagesimalesToDegresRadians ( @degresLat TINYINT, @minutesLat TINYINT, @secondesLat TINYINT, -------------------- @degresLong TINYINT, @minutesLong TINYINT, @secondesLong TINYINT ) RETURNS TABLE AS RETURN ( SELECT latitudeDeg, longitudeDeg, RADIANS(latitudeDeg) AS latitudeRad, RADIANS(longitudeDeg) AS longitudeRad FROM ( SELECT @degresLat + @minutesLat / 60.0 + @secondesLat / 3600.0 AS latitudeDeg, @degresLong + @minutesLong / 60.0 + @secondesLong / 3600.0 AS longitudeDeg ) AS TMP ) |
ElSuket