Format python
This commit is contained in:
parent
85f5770e09
commit
4c258018c3
17 changed files with 348 additions and 248 deletions
|
|
@ -6,7 +6,9 @@ import polars as pl
|
|||
_EARTH_RADIUS_KM = 6371.0
|
||||
|
||||
|
||||
def haversine_km(lat1: np.ndarray, lon1: np.ndarray, lat2: float, lon2: float) -> np.ndarray:
|
||||
def haversine_km(
|
||||
lat1: np.ndarray, lon1: np.ndarray, lat2: float, lon2: float
|
||||
) -> np.ndarray:
|
||||
"""Compute haversine distance in km between arrays (lat1, lon1) and a single point (lat2, lon2)."""
|
||||
lat1_rad = np.radians(lat1)
|
||||
lon1_rad = np.radians(lon1)
|
||||
|
|
@ -14,7 +16,10 @@ def haversine_km(lat1: np.ndarray, lon1: np.ndarray, lat2: float, lon2: float) -
|
|||
lon2_rad = np.radians(lon2)
|
||||
dlat = lat2_rad - lat1_rad
|
||||
dlon = lon2_rad - lon1_rad
|
||||
a = np.sin(dlat / 2) ** 2 + np.cos(lat1_rad) * np.cos(lat2_rad) * np.sin(dlon / 2) ** 2
|
||||
a = (
|
||||
np.sin(dlat / 2) ** 2
|
||||
+ np.cos(lat1_rad) * np.cos(lat2_rad) * np.sin(dlon / 2) ** 2
|
||||
)
|
||||
c = 2 * np.arcsin(np.sqrt(a))
|
||||
return _EARTH_RADIUS_KM * c
|
||||
|
||||
|
|
@ -32,5 +37,7 @@ def haversine_km_expr(
|
|||
dlat = pl.lit(dest_lat_rad) - lat_rad
|
||||
dlon = pl.lit(dest_lon_rad) - lon_rad
|
||||
|
||||
a = (dlat / 2).sin() ** 2 + pl.lit(dest_lat_rad).cos() * lat_rad.cos() * (dlon / 2).sin() ** 2
|
||||
a = (dlat / 2).sin() ** 2 + pl.lit(dest_lat_rad).cos() * lat_rad.cos() * (
|
||||
dlon / 2
|
||||
).sin() ** 2
|
||||
return 2 * _EARTH_RADIUS_KM * a.sqrt().arcsin()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue