recherche
Maisonbase de donnéestutoriel mysqlComment trouver la latitude et la longitude les plus proches sur une distance donnée à l'aide de SQL ?

How to Find the Nearest Latitude and Longitude within a Given Distance Using SQL?

Requête pour trouver la latitude et la longitude les plus proches à l'aide de SQL

Cet article explique comment utiliser SQL pour récupérer la longitude et la latitude les plus proches dans une certaine plage d'une coordonnée de référence donnée à partir de la base de données.

Description du problème :

Vous connaissez la valeur de latitude et de longitude et souhaitez extraire l'enregistrement dans la base de données qui correspond le mieux à la latitude et à la longitude. Mais il existe un seuil de distance : si la distance calculée dépasse ce seuil, aucune donnée ne doit être récupérée.

Structure du tableau :

列名 数据类型
id 整数
纬度 十进制
经度 十进制
地名 字符串
城市 字符串
国家 字符串
字符串
邮编 整数
海拔 整数

Instruction de requête :

Pour accomplir cette tâche, nous utilisons la requête SQL suivante :

SELECT 纬度, 经度, SQRT(
    POW(69.1 * (纬度 - [startlat]), 2) +
    POW(69.1 * ([startlng] - 经度) * COS(纬度 / 57.3), 2)) AS distance
FROM 表名称 HAVING distance < 25
ORDER BY distance ASC;
  • [startlat] : Latitude de départ pour la mesure de distance.
  • [startlng] : La longitude de départ pour la mesure de la distance.
  • 25 : Seuil de distance maximale autorisée en kilomètres.

Instructions :

Cette requête utilise la formule de distance orthodromique pour calculer la distance entre les coordonnées de référence ([startlat], [startlng]) et chaque enregistrement de la table. Si la distance calculée est inférieure au seuil spécifié (25 kilomètres dans cet exemple), l'enregistrement sera inclus dans les résultats. La requête trie également les résultats par ordre croissant en fonction de la distance, garantissant que les enregistrements les plus proches sont renvoyés en premier.

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
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
MySQL: Quels jeux de caractères sont disponibles pour les types de données de chaîne?MySQL: Quels jeux de caractères sont disponibles pour les types de données de chaîne?May 10, 2025 am 12:07 AM

MySqloffersVariousCharactersetsStringDatatypes: 1) Latin1Forwesterner européen, 2) utf8formullingalSupport, 3) utf8Mb4f OREXTENDENDUNICODEINCOLDINGEMOJIS, 4) UCS2FORFIXED-WIDTHENCODING, AND5) ASCIiforBasiclatin.ChoosingTheReightSetSenSur

MySQL: Le streaming de blobs vaut mieux que de les stocker?MySQL: Le streaming de blobs vaut mieux que de les stocker?May 10, 2025 am 12:06 AM

Le streaming blobs est en effet meilleur que le stockage direct car il réduit l'utilisation de la mémoire et améliore les performances. 1) En lisant progressivement et en traitement des fichiers, le ballonnement de la base de données et la dégradation des performances sont évités. 2) Le streaming nécessite une logique de code plus complexe et peut augmenter le nombre d'opérations d'E / S.

Types de chaînes MySQL: stockage, performances et meilleures pratiquesTypes de chaînes MySQL: stockage, performances et meilleures pratiquesMay 10, 2025 am 12:02 AM

MysqlStringTypeSimpactStorageAndPerformanceSfollows: 1) Charisfixed-Length, AlwaysusingTheSameStoragespace, qui, de manière morépace-efficace sans espace.

Comprendre les types de chaînes MySQL: varchar, texte, char, et plus encoreComprendre les types de chaînes MySQL: varchar, texte, char, et plus encoreMay 10, 2025 am 12:02 AM

MysqlstringTypeSincludevarchar, text, char, énum, ​​andset.1) varcharinsversatileforvariable-LengthstringSuptoSpecifiedImmit.2)

Quels sont les types de données de chaîne dans MySQL?Quels sont les types de données de chaîne dans MySQL?May 10, 2025 am 12:01 AM

MysqloffersvariousStringDatatypes: 1) Charforfixed-LengthStrings, 2) varcharforvariable-LengthText, 3) binaryandvarbinaryforbinarydata, 4) blobandtextforlatedata, and5) enumandsetfor.

Comment accorder des autorisations aux nouveaux utilisateurs de MySQLComment accorder des autorisations aux nouveaux utilisateurs de MySQLMay 09, 2025 am 12:16 AM

TOGRANTERMISSIMESTESTERSWMYSQLUSERS, SuivreTheSesteps: 1) AccessMysqlasauserwithSufficientPrivileges, 2) CreateEnewUserwithThereAserercommand, 3) UsethegrantCommandTospecifyPerMissionsLikEselect, insert, mise à jour, OrallegandSonSpecificaCificdataStAtAnSorables, et4), 4).

Comment ajouter des utilisateurs dans MySQL: un guide étape par étapeComment ajouter des utilisateurs dans MySQL: un guide étape par étapeMay 09, 2025 am 12:14 AM

ToaddUsersInmysqleffecativement et en résultant, suivez-vous: 1) UsethCreateAsTatement à AddanEwUser, spécifiant le dossier d'astron.

MySQL: ajout d'un nouvel utilisateur avec des autorisations complexesMySQL: ajout d'un nouvel utilisateur avec des autorisations complexesMay 09, 2025 am 12:09 AM

ToaddanewUserwithComplexPermisessionsInmysql, suivi destiné: 1) Création sword ';. 2) GRANTREADACCESSTOALLTABLESSIn'MYDATABASE'WithGrantsElectonMyDatabase.To'newuser' @ 'LocalHost';. 3) GRANTWRITEACESSTO '

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP