Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL wybierz współrzędne w zakresie

Możesz użyć tak zwanej formuły Haversine .

$sql = "SELECT *, ( 3959 * acos( cos( radians(" . $lat . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $lng . ") ) + sin( radians(" . $lat . ") ) * sin( radians( lat ) ) ) ) AS distance FROM your_table HAVING distance < 5";

Gdzie $lat i $lng to współrzędne punktu, a lat/lng to kolumny tabeli. Powyższe wyszczególni lokalizacje w zakresie 5 nm. Zastąp 3959 przez 6371 zmienić na kilometry.

Ten link może być przydatny:https://developers.google.com/maps/articles/phpsqlsearch_v3

Edycja:nie widziałem, że wspomniałeś o Javie. Ten przykład jest w PHP, ale zapytanie wciąż jest tym, czego potrzebujesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak tworzyć i wykonywać funkcje i procedury składowane MySQL

  2. Jak wyświetlić wiersze tabeli z bazy danych (php)

  3. Jak zainstalować sterownik pdo w obrazie dokera php?

  4. MySQL jak uzupełnić brakujące daty w zakresie?

  5. LAST_DAY() Przykłady – MySQL