ST_GeomFromText:将文本表示的几何对象转换为几何对象。
ST_AsText:将几何对象转换为文本表示。
ST_Contains:判断一个几何对象是否包含另一个几何对象。
ST_Distance:计算两个几何对象之间的距离。
ST_Intersection:计算两个几何对象的交集。
ST_Buffer:根据给定的半径创建一个缓冲区。
ST_DISTANCE_SPHERE: 计算给定的坐标点到目标的坐标点距离
ST_Within: 判断一个点是否在由坐标点组成的几何内
JAVA代码处理坐标点信息:
obj.setPosition("POINT(" + longitude + " " + latitude + ")");
mapper.xml 需要将坐标转换为point类型的文本
st_PointFromText(#{position})
同样修改的时候:
update table_name set position = st_PointFromText(#{position})
查询将point类型的数据转换为文本或获取经纬度
select AsText(position) position,
ST_X(position) longitude,
ST_Y(position) latitude
from table_name
根据距离排序查询:
select
ST_X(position) longitude,
ST_Y(position) latitude,
ST_DISTANCE_SPHERE(position,POINT(#{longitude} , #{latitude})) distance
from table_name
where #{maxRadius} >= ST_DISTANCE_SPHERE(position,POINT(#{longitude} , #{latitude}))
order by distance asc