Maison > base de données > tutoriel mysql > Comment puis-je calculer la distance entre deux points de latitude/longitude dans SQL Server ?

Comment puis-je calculer la distance entre deux points de latitude/longitude dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-12 13:02:43
original
508 Les gens l'ont consulté

How Can I Calculate the Distance Between Two Latitude/Longitude Points in 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 :

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
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal