Maison >base de données >tutoriel mysql >Comment puis-je calculer la distance entre deux points de latitude/longitude dans SQL Server ?
Exploiter le type de données géographiques de SQL Server pour les calculs de distance
La détermination de la distance entre deux points spécifiés par la latitude et la longitude nécessite une approche spécialisée. SQL Server, à partir de la version 2008, propose le geography
type de données, un outil puissant pour gérer et analyser les informations géographiques.
La méthode geography::Point
construit un objet geography
pour chaque point, en utilisant le SRID 4326, qui correspond au WGS84 (World Geodetic System 1984). Une fois ces objets créés, la méthode STDistance
calcule efficacement la distance :
<code class="language-sql">DECLARE @orig geography = geography::Point(@orig_lat, @orig_lng, 4326); SELECT *, @orig.STDistance(geography::Point(dest.Latitude, dest.Longitude, 4326)) AS distance --INTO #includeDistances FROM #orig dest</code>
Cela donne une distance précise en mètres. Par exemple, étant donné des exemples de données :
<code>Latitude Longitude Distance 53.429108 -2.500953 85.2981833133896</code>
La distance calculée sera d'environ 85,3 mètres, fournissant un résultat considérablement plus précis que les méthodes plus simples. Le type de données geography
est ainsi une solution robuste et efficace pour les applications géospatiales dans SQL Server, simplifiant les calculs complexes tout en améliorant la précision.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!