使用MySQL的geometry类型处理经纬度距离问题的方法
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,建表CREATE TABLE `map` ( `id` int(11) NOT NULL, `address` varchar(255) NOT NULL DEFAULT '', `location`
千家信息网最后更新 2025年11月09日使用MySQL的geometry类型处理经纬度距离问题的方法
建表
CREATE TABLE `map` ( `id` int(11) NOT NULL, `address` varchar(255) NOT NULL DEFAULT '', `location` geometry NOT NULL, PRIMARY KEY (`id`), SPATIAL KEY `idx_location` (`location`))
插入
INSERT INTO map (id, address, location) VALUES (1, 'somewhere', ST_GeomFromText('POINT(121.366961 31.190049)'));注意必须使用 ST_GeomFromText 函数,且 POINT() 里面是:经度+空格+纬度
查询
1. 查看经纬度
SELECT address, ST_AsText(location) AS location FROM map;
2. 计算两点之间的距离
SELECT ST_Distance_Sphere(POINT(121.590347, 31.388094),location) AS distant FROM map;
算出来的结果,单位是米
注意现在POINT()里面经纬度之间是逗号分隔的
3. 查询距离小于1000m的地点,并由远及近排序
复制代码 代码如下:SELECT id, address, ST_Distance_Sphere(POINT(121.590347, 31.388094),location) AS distant FROM map WHERE ST_Distance_Sphere(POINT(121.590347, 31.388094),location) < 1000 ORDER BY distant;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
经纬
经纬度
之间
代码
查询
内容
函数
单位
地点
就是
空格
纬度
经度
结果
逗号
学习
帮助
排序
支持
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库实用技术教程
数据库没有外键怎么查询
单包攻击属于网络安全威胁吗
河南乐赢网络技术有限公司
山西软件开发价格
施耐德系统数据库
数据库系统和数据库是一个东西吗
网络技术及其管理应用
柜宝互联软件开发
网络安全模型bp神经网络
诺顿网络安全是什么
广州健康通服务器
组态王数据库的变量个数
软件开发需要买什么电脑配置
软件开发团队奖励机制
公安网络安全评价
微信软件开发架构
动态切数据库源
跨专业 软件开发研究生
公司的pop服务器地址
ai与网络安全研究论文
集群数据库导入
国培计算机网络技术培训心得
助力网络安全宣传周期
软件开发培训宝
网络技术及其管理应用
网络安全相关意识
哪部电视剧首次将网络安全
服务器托管idc硬件安全吗
tumblr服务器