Heim >Datenbank >MySQL-Tutorial >Wie berechnet man den Abstand zwischen zwei Postleitzahlen in PHP?

Wie berechnet man den Abstand zwischen zwei Postleitzahlen in PHP?

DDD
DDDOriginal
2024-11-02 11:44:30438Durchsuche

How to Calculate the Distance Between Two Zip Codes in PHP?

Berechnung der Entfernung zwischen Postleitzahlen in PHP

Die Berechnung der Entfernung zwischen zwei Postleitzahlen erfordert den Zugriff auf eine Datenbank mit Breiten- und Längengradinformationen für jede Postleitzahl Code. In dieser Frage wird untersucht, wie dieser Abstand mithilfe von Daten aus einer MySQL-Tabelle berechnet wird.

LÖSUNG

Die vorgeschlagene Lösung nutzt eine PHP-Funktion, um den Abstand zwischen zwei gegebenen Punkten zu berechnen Breiten- und Längengrade. Hier ist der Code:

<code class="php">function calc_distance($point1, $point2)
{
    // Constants
    $radius       = 3958;      // Earth's radius (miles)
    $deg_per_rad  = 57.29578;  // Number of degrees/radian (for conversion)

    $distance = ($radius * pi() * sqrt(
        ($point1['lat'] - $point2['lat'])
        * ($point1['lat'] - $point2['lat'])
        + cos($point1['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * cos($point2['lat'] / $deg_per_rad)  // Convert to radians for cos()
        * ($point1['long'] - $point2['long'])
        * ($point1['long'] - $point2['long'])
    ) / 180);

    return $distance;  // Returned using the units used for $radius.
}</code>

VERWENDUNG

Diese Funktion erfordert zwei Datenpunkte ($point1 und $point2) als Parameter, die jeweils den Breiten- und Längengrad von a enthalten PLZ. Die zurückgegebene Entfernung hat die gleichen Einheiten wie die angegebene Radiuskonstante (in diesem Fall Meilen).

Das obige ist der detaillierte Inhalt vonWie berechnet man den Abstand zwischen zwei Postleitzahlen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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