Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Equivalente ST_Buffer para pesquisas baseadas em círculo no MySQL?


Até onde eu sei, as funções de buffer são ainda não implementado no MySQL:

Se entendi bem sua pergunta, talvez você nem precise de uma função espacial para realizar essa consulta, você pode usar uma consulta SQL "regular" e o Distância euclidiana :
select * 
from gistable g 
where SQRT(POW(circleCenterPT.x - point.x,2) + POW(circleCenterPT.y - point.y,2)) < radius

Espero que isto ajude.

Editar: O desempenho certamente seria um problema com essa consulta.

Quanto às funções espaciais no MySQL, parece que os últimos snapshots incluem novas funções como Buffer ou Distance. Você pode tentar: