相关疑难解决方法(0)

找到MYSQL中两点之间的距离.(使用Point数据类型)

假设我有一个像这样的2列表:

| user_id      | int(11) | NO   | UNI | NULL    |                |
| utm          | point   | NO   | MUL | NULL    |                |
Run Code Online (Sandbox Code Playgroud)

如您所见,它非常简单.utm是Point数据类型.我这样插入:

INSERT INTO mytable(user_id, utm) VALUES(1, PointFromWKB(point(50, 50)));
Run Code Online (Sandbox Code Playgroud)

然后,我创建一个Spatial索引.

ALTER TABLE mytable ...add spatial index on(utm) or something. (forgot)
Run Code Online (Sandbox Code Playgroud)

好吧,一切都很好.现在,我想选择*距离<99999. 但它不起作用!

//This is supposed to select all where the distance is less than 99999999.
set @mypoint = PointFromWKB(point(20,20))
select * from mytable where GLength(LineString(utm, @mypoint)) < 9999999;
Empty set (0.00 sec)
select …
Run Code Online (Sandbox Code Playgroud)

mysql database indexing point

7
推荐指数
1
解决办法
4202
查看次数

标签 统计

database ×1

indexing ×1

mysql ×1

point ×1