/ / nächste PHP-basierte Suche mit Breiten- und Längengrad aus einem großen Datensatz [duplizieren] - PHP, MySQL, Algorithmus

nächste php-basierte Suche mit Längen- und Breitengrad aus einem großen Datensatz [duplizieren] - PHP, MySQL, Algorithmus

Wir haben eine große Datenbank für die Suche mitBreitengrad, Längengrad und Radius. Das Durchsuchen der gesamten Datenbank dauert lange. Wir wollen nicht die gesamte Datenbank durchsuchen, sondern nur einen bestimmten Bereich durchsuchen. Wir möchten den Bereich in die Tabelle einfügen, indem wir den Breiten- und Längengrad verwenden. pls schlagen jede mögliche Idee für schnelle nächste Suchtechnik vor.

Wie finde ich den gemeinsamen Bereich anhand von Breitengrad, Längengrad und Radius?

Wir müssen den gemeinsamen Bereich anhand von Breitengrad, Längengrad und Radius finden, um nur diesen Bereich und nicht die gesamte Datenbanksuche zu durchsuchen.

Antworten:

0 für die Antwort № 1

Ich kenne mich mit Trigonometrie und MySQL ein wenig aus und empfehle Ihnen, diese Lösung auszuprobieren

SELECT * FROM Places WHERE acos(sin([givenlatitude]) * sin(Lat) + cos([givenlatitude]) * cos(Lat) * cos(Lon - ([givenlongitude]))) * 6371 <= [givenDistance];

Wobei 6371 der Erdradius ist.