Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hitung jarak yang diberikan 2 titik, lintang dan bujur

Anda dapat menggunakan rumus yang menghitung jarak antara dua titik. Misalnya:

function get_distance($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') { 
    $theta = $longitude1 - $longitude2; 
    $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + 
                (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * 
                cos(deg2rad($theta))); 
    $distance = acos($distance); 
    $distance = rad2deg($distance); 
    $distance = $distance * 60 * 1.1515; 
    switch($unit) { 
        case 'Mi': 
            break; 
        case 'Km' : 
            $distance = $distance * 1.609344; 
    } 
    return (round($distance,2)); 
}

Anda juga dapat melakukan sesuatu seperti:

$query = "SELECT *,(((acos(sin((".$latitude."*pi()/180)) * 
            sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * 
            cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)* 
            pi()/180))))*180/pi())*60*1.1515
        ) as distance 
        FROM `MyTable` 
        HAVING distance >= ".$distance.";


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cegah pengiriman ulang formulir setelah mengklik tombol kembali

  2. Cara mengimpor file excel ke database MySQL

  3. MYSQL - Tidak mungkin membuat kunci eksternal

  4. cara mendapatkan id sisipan terakhir setelah memasukkan kueri dalam catatan aktif codeigniter

  5. Spring Boot:Jdbc javax.net.ssl.SSLException:menutup masuk sebelum menerima close_notify rekan