Heim > Datenbank > MySQL-Tutorial > ## Wie kann die Genauigkeit radiusbasierter Standortsuchen in MySQL verbessert werden?

## Wie kann die Genauigkeit radiusbasierter Standortsuchen in MySQL verbessert werden?

Barbara Streisand
Freigeben: 2024-10-28 04:58:01
Original
642 Leute haben es durchsucht

## How to Improve the Accuracy of Radius-Based Location Searches in MySQL?

Verbesserung der Genauigkeit in MySQL-Längen- und Breitengradabfragen für die radiusbasierte Suche

Bei der Durchführung radiusbasierter Standortsuchen in MySQL ein häufiges Problem Ergebnisse erhält, die erheblich vom angegebenen Radius abweichen. Diese Diskrepanz entsteht häufig durch Fehler in der Entfernungsberechnungsformel, die zu ungenauen Entfernungsmessungen führen.

Um dieses Problem zu beheben, ziehen Sie eine verfeinerte Abfrage in Betracht, die eine etwas andere Entfernungsberechnungsmethode verwendet:

SELECT
    `id`,
    (
        6371 *
        acos(
            cos( radians( :lat ) ) *
            cos( radians( `lat` ) ) *
            cos(
                radians( `long` ) - radians( :long )
            ) +
            sin(radians(:lat)) *
            sin(radians(`lat`))
        )
    ) `distance`
FROM
    `location`
HAVING
    `distance` < :distance
ORDER BY
    `distance`
LIMIT
    25
Nach dem Login kopieren

In dieser Abfrage:

  • :lat und :long stellen die benutzerdefinierten Koordinaten dar.
  • lat und long bezeichnen die in der Datenbank gespeicherten Koordinaten.
  • : Die Entfernung entspricht dem angegebenen Radius, gemessen in Meilen (oder Kilometern, wenn 3959 durch 6371 ersetzt wird).

Diese Formel berechnet die Entfernung basierend auf der Haversine-Formel, die genauere Ergebnisse liefert als die verwendete Formel in Ihrer ursprünglichen Anfrage. Durch die Einbeziehung dieser überarbeiteten Formel können Sie Ihre Radiussuchfunktion verfeinern und sicherstellen, dass die zurückgegebenen Ergebnisse dem angegebenen Radiusbereich entsprechen.

Das obige ist der detaillierte Inhalt von## Wie kann die Genauigkeit radiusbasierter Standortsuchen in MySQL verbessert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage