MySQL空间函数ST_Distance_Sphere()的使用
参考:https://blog.csdn.net/qq_19674263/article/details/104405987#:~:text=MySQL空间函数ST_Distance_Sphere (g1%2C g2 , radius]) :返回球体上两个点和%2F或多点之间的最小球面距离(以米为单位) 官网(https%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Fspatial-convenience-functions.html)
MySQL空间函数ST_Distance_Sphere(g1, g2 [, radius]) :返回球体上两个点和/或多点之间的最小球面距离(以米为单位)
官网(https://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html)
测试
表结构如下:
`create table t_geo_test ( ID int auto_increment primary key, NAME varchar(64) not null, SHAPE geometry not null ) engine = InnoDB charset = utf8;` * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9
测试数据:(插入坐标时,以下两种写法都可以)
`INSERT INTO t_geo_test VALUES (1, '测试', POINT(121.590347, 31.388094)); INSERT INTO t_geo_test VALUES (2, 'somewhere', ST_GeomFromText('POINT(121.366961 31.190049)'));` * 1 * 2
计算距离:
`SELECT st_distance_sphere(POINT(121.590347, 31.388094),SHAPE) AS distant FROM t_geo_test;` * 1
查询到某点的距离小于一个值的所有数据:
`SELECT *, ST_Distance_Sphere(POINT(121.590347, 31.388094),SHAPE) AS distant FROM t_geo_test WHERE ST_Distance_Sphere(POINT(121.590347, 31.388094),SHAPE) < 1000 ORDER BY distant;` * 1
注意:
坐标不能随意写测试数据,注意官网中的说的条件:
几何参数应由指定(经度,纬度)坐标值的点组成:
经度和纬度分别是该点的第一和第二坐标。
两个坐标均以度为单位。
经度值必须在(-180,180]范围内。正值位于本初子午线以东。
纬度值必须在[-90,90]范围内。正值位于赤道以北。
否则则会报错:
`[HY000][1210] Incorrect arguments to st_distance_sphere` * 1
https://www.cnblogs.com/changge333/p/15378276.html 三、Geometry的常用函数 1.构造函数 构造函数会获取一种几何类型或几何的文本说明,然后创建一个几何 ST_Point:文本格式转Point格式(例如存表的时候) ST_PointFromText:Point格式转文本格式(例如查询的时候) ST_Polygon:文本格式转Polygon格式 ST_PolygonFromText:Polygon格式转文本格式 ST_PointFromWKB:以熟知二进制 (WKB) 表示和空间参考 ID 作为输入参数返回 ST_Point 类型的对象 2.存取器函数 函数都采用一个或多个几何作为输入,并返回关于几何的特定信息 获取线/面对象四至:st_xmin(geometry)、st_ymin(geometry)、st_xmax(geometry)、st_ymax(geometry) ST_AsText:获取一个几何类型,然后返回其可识别的文本表示 ST_AsGeoJSON:将Geometry格式转为JSON格式 ST_Centroid:以面或多面为参数输入,然后返回位于几何的包络矩形中心的点 ST_Length:用于返回线串或多线串的长度 ST_MaxX:以几何为参数,返回最大的 X 坐标 ST_SRID:以几何对象作为输入参数,并返回其空间参考 ID ST_X:返回点坐标的 X 坐标 ST_Y:返回点坐标的 Y 坐标
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2021-11-11 ssm整合