Maison  >  Article  >  base de données  >  Comment MySQL calcule-t-il la distance entre deux coordonnées et les trie ?

Comment MySQL calcule-t-il la distance entre deux coordonnées et les trie ?

藏色散人
藏色散人avant
2020-05-31 13:47:262498parcourir

Comment MySQL calcule-t-il la distance entre deux coordonnées et les trie ?

Environnement

MySQL5.6

https://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-object-shapes.html#function_st-distance

Structure et données des tables

DROP TABLE IF EXISTS `locationpoint`;
CREATE TABLE `locationpoint`
(
    `id`        int(11)       NOT NULL AUTO_INCREMENT,
    `province`  varchar(20)   NOT NULL,
    `city`      varchar(20)   NOT NULL,
    `longitude` double(10, 3) NOT NULL,
    `latitude`  double(10, 3) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1156
  DEFAULT CHARSET = utf8;
rrree

Méthode de requête

(avec Hohhot City, région autonome de Mongolie intérieure comme centre de calcul)

INSERT INTO `locationpoint`
VALUES (1, '山东', '济南', 116.938477, 36.597889),
       (2, '河北', '石家庄', 114.477539, 38.030786),
       (3, '浙江', '杭州', 120.058594, 30.334954),
       (4, '河南', '郑州', 113.629, 34.744),
       (5, '安徽省', '合肥', 117.170, 31.520);

Résultats de la requête

Comment MySQL calcule-t-il la distance entre deux coordonnées et les trie ?

Recommandé : "Tutoriel MySQL"

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer