-- 创建一个包含空间数据的表
CREATE TABLE geom_table (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(30),
location POINT
);
-- 插入一些带有空间数据的记录
INSERT INTO geom_table (id, name, location)
VALUES
(1, 'Point A', ST_PointFromText('POINT(1 1)')),
(2, 'Point B', ST_PointFromText('POINT(2 2)')),
(3, 'Point C', ST_PointFromText('POINT(3 3)'));
-- 查询距离某个点最近的记录
SELECT name, ST_Distance_Sphere(location, ST_PointFromText('POINT(1.5 1.5)')) AS distance
FROM geom_table
ORDER BY distance
LIMIT 1;
-- 查询在某个范围内的所有记录
SELECT name
FROM geom_table
WHERE ST_Contains(ST_Buffer(ST_PointFromText('POINT(1.5 1.5)'), 1), location);
geom_table 的表,其中包含一个 POINT 类型的空间列 location。ST_Distance_Sphere 函数计算每个点与给定点之间的球面距离,并返回距离最近的记录。ST_Contains 和 ST_Buffer 函数来查找在指定缓冲区范围内的所有点。上一篇:mysqldump 导出表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站