To check if latitude and longitude values fall within a certain area defined by a central latitude
and longitude and a given diameter (e.g., 5 km), you can use the Haversine formula.
The Haversine formula calculates the distance between two points on the Earth's surface
(given their latitude and longitude) as if they were on a spherical Earth.
You can use it to calculate distances and check if points fall within a specified radius. Here's a Python function that you can use to check if latitude and longitude values fall
within a specified area: ```python import math def haversine(lat1, lon1, lat2, lon2): # Radius of the Earth in km R = 6371.0 # Convert latitude and longitude from degrees to radians lat1 = math.radians(lat1) lon1 = math.radians(lon1) lat2 = math.radians(lat2) lon2 = math.radians(lon2) # Haversine formula dlon = lon2 - lon1 dlat = lat2 - lat1 a = math.sin(dlat / 2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2)**2 c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a)) distance = R * c return distance def is_within_radius(lat, lon, center_lat, center_lon, radius_km): distance = haversine(lat, lon, center_lat, center_lon) return distance <= radius_km # Example usage center_lat = 40.7128 # Example central latitude center_lon = -74.0060 # Example central longitude radius_km = 5.0 # Example radius in kilometers # Check if a point (lat, lon) is within the specified radius lat = 40.730610 # Example latitude lon = -73.935242 # Example longitude within_radius = is_within_radius(lat, lon, center_lat, center_lon, radius_km) if within_radius: print("Point is within the specified radius.") else: print("Point is outside the specified radius.") ``` You can call the `is_within_radius` function for each latitude and longitude pair in your DataFrame to check if they fall within the specified area.
Photo by fauxels
No comments:
Post a Comment