


Wie berechnet man den Abstand zwischen zwei Punkten anhand von Breiten- und Längengrad?
Oct 29, 2024 am 01:56 AMBerechnung der Entfernung anhand zweier Punkte: Breiten- und Längengrad
Die Bestimmung der Entfernung zwischen Punkten anhand ihrer Breiten- und Längengrade ist eine häufige GIS-Aufgabe. Um Punkte innerhalb eines bestimmten Radius zu finden, können wir mathematische Formeln und SQL-Abfragen nutzen.
Formel zur Entfernungsberechnung
Ein Ansatz besteht darin, die Haversine-Formel zu verwenden, die berechnet der Abstand zwischen zwei Punkten auf einer Kugel:
<code class="python">def get_distance(lat1, lon1, lat2, lon2, unit='Mi'): theta = lon1 - lon2 distance = (math.sin(math.radians(lat1)) * math.sin(math.radians(lat2))) + \ (math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * \ math.cos(math.radians(theta))) distance = math.acos(distance) distance = math.degrees(distance) distance = distance * 60 * 1.1515 if unit == 'Km': distance = distance * 1.609344 return round(distance, 2)</code>
SQL-Abfrage für Radiussuche
Eine andere Möglichkeit besteht darin, eine MySQL-Abfrage mit der Abstandsformel zu verwenden:
<code class="sql">SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)* pi()/180))))*180/pi())*60*1.1515) as distance FROM `MyTable` HAVING distance >= ".$distance.";</code>
Durch die Anwendung dieser Methoden können Sie den Abstand zwischen Punkten effizient berechnen und diese innerhalb eines gewünschten Radius von einem bestimmten Standort aus finden.
Das obige ist der detaillierte Inhalt vonWie berechnet man den Abstand zwischen zwei Punkten anhand von Breiten- und Längengrad?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)?

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen?
