sql >> データベース >  >> RDS >> Mysql

ジオロケーションSQLクエリが正確な場所を見つけられない

    最初のクエリでは、減算の経度を逆にしたと思います。余弦定理の球形は次のとおりです。

    d = acos(sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2)*cos(long2−long1))*R
    

    lat1をtblcity.latitudeに置き換える場合は、long1をtblcity.longitudeに置き換える必要があります。クエリで誤ってlong2を置き換えたと思います。これはうまく機能しますか?

    SELECT tblcity.city, tblcity.latitude, tblcity.longitude, 
    truncate((degrees(acos( sin(radians(tblcity.latitude)) 
    * sin(radians(45.266708)) 
    + cos(radians(tblcity.latitude)) 
    * cos(radians(45.266708)) 
    * cos(radians(-73.616257 - tblcity.longitude) ) ) ) 
    * 69.09*1.6),1) as distance 
    FROM tblcity HAVING distance < 10 ORDER BY distance desc 
    

    2番目のクエリはまだ調べていませんが、お役に立てば幸いです。



    1. ProxySQL:すべてのSevereninesリソース

    2. SSMSのショートカットを作成し、デフォルトのSQL Serverに自動的に接続する方法-SQ:サーバー/TSQLチュートリアルパート4

    3. MySQL LOAD DATA LOCAL INFILE Python

    4. TO_CHAR()を導入するMariaDB