Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengira Jarak dan Galas Antara Dua Titik GPS Menggunakan Formula Haversine Python?

Bagaimana untuk Mengira Jarak dan Galas Antara Dua Titik GPS Menggunakan Formula Haversine Python?

DDD
Lepaskan: 2024-11-30 09:59:10
asal
602 orang telah melayarinya

How to Calculate the Distance and Bearing Between Two GPS Points Using Python's Haversine Formula?

Cara Mengira Galas dan Jarak Antara Dua Titik GPS Menggunakan Formula Haversine dalam Python

Formula Haversine ialah persamaan matematik yang digunakan untuk mengira jarak bulatan besar antara dua titik pada sfera. Dalam konteks GPS, formula ini boleh digunakan untuk menentukan kedua-dua jarak dan bearing antara dua koordinat GPS.

Langkah 1: Menentukan Fungsi

from math import radians, cos, sin, asin, sqrt

def haversine(lon1, lat1, lon2, lat2):
    """
    Calculate the great circle distance in kilometers between two points 
    on the earth (specified in decimal degrees)
    """
    # convert decimal degrees to radians 
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])

    # haversine formula 
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    r = 6371 # Radius of earth in kilometers. Use 3956 for miles. Determines return value units.
    return c * r
Salin selepas log masuk

Langkah 2: Pengiraan

start_lon, start_lat = -1.7297222222222221, 53.32055555555556
bearing, distance = 96.02166666666666, 2
end_lon, end_lat = -1.6997222222222223, 53.31861111111111

distance_calculated = haversine(start_lon, start_lat, end_lon, end_lat)

print("Distance:", distance_calculated)
Salin selepas log masuk

Output:

Distance: 2.0000054199729084
Salin selepas log masuk

Dalam contoh ini, jarak yang dikira sepadan dengan nilai jangkaan 2 kilometer.

Nota:

  • Formula Haversine menganggap bahawa Bumi adalah sfera yang sempurna, yang tidak sepenuhnya benar. Walau bagaimanapun, ia memberikan anggaran yang agak tepat untuk kebanyakan tujuan praktikal.
  • Untuk pengiraan yang lebih maju, model Earth yang lebih tepat, seperti ellipsoid WGS84, boleh digunakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jarak dan Galas Antara Dua Titik GPS Menggunakan Formula Haversine Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan