Berechnung des Abstands zwischen Punkten anhand von Breiten- und Längengrad
In zahlreichen Szenarios ist es notwendig, den Abstand zwischen zwei Punkten anhand ihrer jeweiligen Lage zu bestimmen Breiten- und Längenkoordinaten. Ein typisches Beispiel ist die Lokalisierung von Punkten innerhalb eines bestimmten Radius von einem bestimmten Standort aus.
Um dies zu erreichen, können Sie mathematische Formeln nutzen, um Entfernungen zu berechnen. Betrachten Sie die folgende veranschaulichende Funktion:
<code class="php">function get_distance($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') { $theta = $longitude1 - $longitude2; $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $distance = acos($distance); $distance = rad2deg($distance); $distance = $distance * 60 * 1.1515; switch($unit) { case 'Mi': break; case 'Km': $distance = $distance * 1.609344; } return (round($distance, 2)); }</code>
Alternativ können Sie SQL-Abfragen verwenden, um Entfernungen innerhalb eines Radius mithilfe einer Formel wie der folgenden zu berechnen:
<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 Verwendung dieser Ansätze können Sie effektiv Suchen Sie nach Punkten innerhalb eines bestimmten Radius basierend auf ihren Breiten- und Längenkoordinaten.
Das obige ist der detaillierte Inhalt vonWie kann ich den Abstand zwischen zwei Punkten anhand des Breiten- und Längengrads berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!