使用point类型来存储经纬度
CREATE TABLE locations ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), coordinates POINT );插入经纬度数据:
INSERT INTO locations (name, coordinates) VALUES
('Location A', POINT(40.7128, -74.0060)),
('Location B', POINT(34.0522, -118.2437)),
('Location C', POINT(51.5074, -0.1278));创建索引CREATE SPATIAL INDEX sp_index ON locations(coordinates);查询一公里内的数据
-- 假设指定的经纬度是 (40.7128, -74.0060)(纽约市中心)
SET @center_lat = 40.7128;
SET @center_lng = -74.0060;
SET @radius_km = 1;
SELECT
    id,
    name,
    ST_X(coordinates) AS latitude,
    ST_Y(coordinates) AS longitude,
    ST_DISTANCE(coordinates, POINT(@center_lat, @center_lng)) AS distance
FROM
    locations
WHERE
    ST_DISTANCE(coordinates, POINT(@center_lat, @center_lng)) <= @radius_km * 1000;
					网友回复
- threejs如何做个三维搭积木的游戏?
- three如何实现标记多个起始路过地点位置后选择旅行工具(飞机汽车高铁等),最后三维模拟行驶动画导出mp4?
- ai实时驱动的3d数字人可视频聊天的开源技术有吗
- swoole+phpfpm如何实现不同域名指向不同目录的多租户模式?
- 如何用go替换nginx实现请求phpfpm解析运行php脚本?
- 有没有浏览器离线运行进行各种文档、图片、视频格式转换的开源工具?
- 如何使用go语言搭建一个web防火墙?
- linux如何检测特定网络协议比如http协议中报文是否包含特点关键词并阻止返回给客户?
- 如果在nginx外过滤包含某些关键词的网页并阻止打开?
- 程序员怎么做副业赚钱?



 
				 
			 
			 
				 
			