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

緯度経度に基づいてmysqlから結果を取得します

    距離は、余弦定理 を使用して計算できます。 :

    SELECT DEGREES(ACOS(SIN(RADIANS(clients.latitude)) * SIN(RADIANS(schools.latitude)) + 
                        COS(RADIANS(clients.latitude)) * COS(RADIANS(schools.latitude)) 
                                                       * COS(RADIANS(clients.longitude 
                                                                   – schools.longitude)))) 
           * 60 * 1.1515 * 1.609344 AS distance
    FROM clients, schools HAVING distance < $radius
    

    RADIANS(X) -ラジアン度
    ACOS(X ) -Xのアークコサイン、つまり、正弦がXである値
    DEGREES(X) -ラジアンから度まで

    1度で60分
    1.1515-海里 でマイル
    1.609344-1マイルでキロメートル




    1. テーブルまたは列の名前を数値で始めることはできませんか?

    2. Oracleテーブルに大きなサイズのデータ​​を挿入/更新するにはどうすればよいですか?

    3. 単一のDjangoモデル、複数のテーブル?

    4. Doctrine2-ワンショットで複数の挿入