Heim > Datenbank > MySQL-Tutorial > Wie finde ich Gebäude in einem Umkreis von 5 Meilen mithilfe von Koordinaten?

Wie finde ich Gebäude in einem Umkreis von 5 Meilen mithilfe von Koordinaten?

DDD
Freigeben: 2025-01-09 11:37:43
Original
780 Leute haben es durchsucht

How to Find Buildings Within a 5-Mile Radius Using Coordinates?

Ortung von Gebäuden in einem Umkreis von 5 Meilen über Koordinaten

Diese Anleitung beschreibt, wie Sie alle Gebäude in einem Umkreis von 5 Meilen um bestimmte Koordinaten effizient abrufen können.

Schritt 1: Datenspeicher optimieren

Speichern Sie Gebäudestandortdaten mithilfe eines Geometrie- oder Geografiedatentyps. Dies verbessert die Leistung räumlicher Abfragen erheblich und verhindert Probleme bei der Datentypkonvertierung.

Schritt 2: Setzen Sie ST_DWithin oder ST_Distance ein

Zwei Funktionen erleichtern die Entfernungsberechnung:

  1. ST_DWithin: Diese Funktion bestimmt effizient, ob Geometrien innerhalb eines angegebenen Abstands liegen. So finden Sie Gebäude im Umkreis von 5 Meilen um (-4,6314, 54,0887):

    <code class="language-sql">SELECT name, longitude, latitude
    FROM building
    WHERE ST_DWithin('POINT(-4.6314 54.0887)'::geography, ST_MakePoint(longitude, latitude), 8046.72);
    -- 8046.72 meters = 5 miles</code>
    Nach dem Login kopieren
  2. ST_Distance: Diese Funktion berechnet die Entfernung in Metern. Konvertieren Sie Meter in Meilen mit: distance * 0.000621371. Für Gebäude im Umkreis von 5 Meilen um (-4,6314, 54,0887):

    <code class="language-sql">SELECT name, longitude, latitude,
    ST_Distance('POINT(-4.6314 54.0887)'::geography, ST_MakePoint(longitude, latitude)) * 0.000621371 AS distance_miles
    FROM building
    WHERE distance_miles <= 5;</code>
    Nach dem Login kopieren

Schritt 3: Wichtige Überlegungen

  • Behalten Sie die richtige Reihenfolge in ST_MakePoint bei: Längengrad, Breitengrad.
  • ST_Distance-Berechnungen umgehen räumliche Indizes. Verwenden Sie es in der SELECT-Klausel, um Leistungsengpässe zu vermeiden.
  • Amazon Athena verwendet Grad für Entfernungsberechnungen in ST_Distance.

Das obige ist der detaillierte Inhalt vonWie finde ich Gebäude in einem Umkreis von 5 Meilen mithilfe von Koordinaten?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage