使用MySQL的geometry类型处理经纬度距离问题的方法
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,建表CREATE TABLE `map` ( `id` int(11) NOT NULL, `address` varchar(255) NOT NULL DEFAULT '', `location`
千家信息网最后更新 2025年01月21日使用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安全错误
数据库的锁怎样保障安全
华为服务器带外管理日志采集
smg服务器指的是
远程办公网络安全意识培训
生物信息网络服务器
榆树品质网络技术服务口碑推荐
达梦数据库语句
网络安全阅读活动主题
sql 数据库文件地址
游戏需要用什么软件开发
网络安全问题的主要表现
天旦网络技术科技有限公司
数据库网络安全防护
浙江网络技术开发报价
数据库mdf和ldf恢复
数据库主从分离
前海合众互联网科技
电脑的服务器是主机吗
东明软件开发培训在线学习
曙光服务器默认管理
网络安全中的威胁包括哪些
安卓软件开发的书
看服务器
有效数据库的开发
铜川软件开发排名
火狐如何导入ie数据库
11代n5090服务器
数据库约束技术有哪些
ccrc数据库
成都ipv6服务器位置
上海中通吉网络技术有限公司图片