Расчет расстояния от Траверс-Сити, штат Мичиган, до Кеноши, штат Висконсин: методы и примеры кода

Чтобы рассчитать расстояние между Траверс-Сити, штат Мичиган, и Кеношей, штат Висконсин, мы можем использовать различные методы. Давайте рассмотрим несколько вариантов вместе с примерами кода. Обратите внимание, что предоставленные примеры кода написаны на Python.

  1. Формула гаверсина.
    Формула гаверсина обычно используется для расчета расстояния между двумя точками на сфере, например на Земле. Вот пример использования формулы Хаверсина для расчета расстояния между Траверс-Сити, штат Мичиган, и Кеношей, штат Висконсин:
import math
def haversine_distance(lat1, lon1, lat2, lon2):
    R = 6371  # Earth's radius in kilometers
    # Convert latitude and longitude to radians
    lat1_rad = math.radians(lat1)
    lon1_rad = math.radians(lon1)
    lat2_rad = math.radians(lat2)
    lon2_rad = math.radians(lon2)
    # Calculate the differences between the latitudes and longitudes
    d_lat = lat2_rad - lat1_rad
    d_lon = lon2_rad - lon1_rad
    # Apply the Haversine formula
    a = math.sin(d_lat/2)2 + math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(d_lon/2)2
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
    distance = R * c
    return distance
# Coordinates for Traverse City, Michigan
traverse_city_lat = 44.7631
traverse_city_lon = -85.6206
# Coordinates for Kenosha, Wisconsin
kenosha_lat = 42.5847
kenosha_lon = -87.8212
# Calculate the distance
distance = haversine_distance(traverse_city_lat, traverse_city_lon, kenosha_lat, kenosha_lon)
print("Distance between Traverse City, Michigan, and Kenosha, Wisconsin:", distance, "km")

Выходными данными будет расстояние в километрах между двумя местоположениями.

  1. API матрицы расстояний Карт Google.
    Другим популярным методом является использование API матрицы расстояний Карт Google. Этот API позволяет рассчитывать расстояния между двумя точками, используя различные виды транспорта. Чтобы использовать этот метод, вам необходимо зарегистрировать ключ API Google Maps. Вот пример использования API матрицы расстояний Google Maps с Python:
import requests
def calculate_distance(origin, destination, api_key):
    url = "https://maps.googleapis.com/maps/api/distancematrix/json"
    params = {
        "origins": origin,
        "destinations": destination,
        "key": api_key
    }
    response = requests.get(url, params=params)
    data = response.json()
    distance = data["rows"][0]["elements"][0]["distance"]["text"]
    return distance
# Replace "YOUR_API_KEY" with your actual Google Maps API key
api_key = "YOUR_API_KEY"
# Set the origin and destination
origin = "Traverse City, Michigan"
destination = "Kenosha, Wisconsin"
# Calculate the distance
distance = calculate_distance(origin, destination, api_key)
print("Distance between Traverse City, Michigan, and Kenosha, Wisconsin:", distance)

Этот метод использует API матрицы расстояний Карт Google для определения расстояния между двумя местоположениями. Результатом будет расстояние в удобочитаемом формате, например «123 км» ​​или «75 миль».

  1. Пакет Geopy:
    Geopy — это библиотека Python, предоставляющая различные функции геокодирования и расчета расстояний. Он поддерживает различные службы геокодирования и алгоритмы расстояния. Вот пример того, как использовать Geopy для расчета расстояния между Траверс-Сити, штат Мичиган, и Кеношей, штат Висконсин:
from geopy.distance import geodesic
# Coordinates for Traverse City, Michigan
traverse_city_coords = (44.7631, -85.6206)
# Coordinates for Kenosha, Wisconsin
kenosha_coords = (42.5847, -87.8212)
# Calculate the distance
distance = geodesic(traverse_city_coords, kenosha_coords).kilometers
print("Distance between Traverse City, Michigan, and Kenosha, Wisconsin:", distance, "km")

Библиотека Geopy предоставляет функцию geodesic, которая вычисляет геодезическое расстояние между двумя точками. В этом примере мы передаем координаты Траверс-Сити и Кеноши в функцию geodesicи получаем расстояние в километрах.