gpt4 book ai didi

mysql - ST_Buffer 相当于 MySQL 中基于 Circle 的搜索?

转载 作者:可可西里 更新时间:2023-11-01 07:33:53 26 4
gpt4 key购买 nike

我需要使用 MySQL GIS 搜索指定圆内的点所在的行。伪代码示例查询是:

select * from gistable g where isInCircle(g.point, circleCenterPT, radius)

看来 PostGIS 可以通过 ST_Buffer 做到这一点功能。 MySQL GIS 是否提供类似的功能?

最佳答案

据我所知,缓冲函数是not yet implemented在 MySQL 中:

These functions are not implemented in MySQL. They may appear in future releases.

* Buffer(g,d)

Returns a geometry that represents all points whose distance from the geometry value g is less than or equal to a distance of d.

如果我对你的问题理解正确,你可能甚至不需要空间函数来执行这个查询,你可以使用“常规”SQL 查询和 Euclidean distance :

select * 
from gistable g
where SQRT(POW(circleCenterPT.x - point.x,2) + POW(circleCenterPT.y - point.y,2)) < radius

希望这对您有所帮助。


编辑:性能肯定是这个查询的一个问题。

至于MySQL中的空间函数,最新的快照似乎包括Buffer或Distance等新函数。您可能想尝试一下:

关于mysql - ST_Buffer 相当于 MySQL 中基于 Circle 的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1971516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com