sql >> Database >  >> RDS >> Mysql

ST_Buffer-equivalent voor op Circle gebaseerde zoekopdrachten in MySQL?

Voor zover ik weet, zijn bufferfuncties nog niet geïmplementeerd in MySQL:

Als ik je vraag goed begrijp, heb je misschien niet eens een ruimtelijke functie nodig om deze query uit te voeren, je zou een "gewone" SQL-query kunnen gebruiken en de Euclidische afstand :

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

Ik hoop dat dit helpt.

Bewerken: Prestaties zouden zeker een probleem zijn met deze zoekopdracht.

Wat betreft de ruimtelijke functies in MySQL, het lijkt erop dat de nieuwste snapshots nieuwe functies bevatten zoals Buffer of Distance. Misschien wil je het eens proberen:



  1. Favoriete trucs voor het afstemmen van prestaties

  2. JAVA MySQL-verbindingsklasse niet gevonden uitzondering

  3. Ga aan de slag met Apache Spark – Part 1

  4. Hoe kan ik ervoor zorgen dat twee willekeurig geselecteerde rijen van elkaar verschillen?