1 Star 0 Fork 0

Hsensor/learn_py

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
lat_lng_circle.py 1.29 KB
一键复制 编辑 原始数据 按行查看 历史
Hsensor 提交于 2024-11-12 15:37 . fix: 经纬度查询门店
from geopy.distance import geodesic
def get_bounding_box(lat, lon, radius_km):
"""
获取给定经纬度点周围指定半径的矩形区域的四个角点
:param lat: 经度
:param lon: 纬度
:param radius_km: 半径(公里)
:return: (min_lat, min_lon, max_lat, max_lon)
"""
origin = (lat, lon)
# 向北移动 radius_km 公里
north = geodesic(kilometers=radius_km).destination(origin, 0)
# 向南移动 radius_km 公里
south = geodesic(kilometers=radius_km).destination(origin, 180)
# 向东移动 radius_km 公里
east = geodesic(kilometers=radius_km).destination(origin, 90)
# 向西移动 radius_km 公里
west = geodesic(kilometers=radius_km).destination(origin, 270)
min_lat = min(north.latitude, south.latitude)
max_lat = max(north.latitude, south.latitude)
min_lon = min(east.longitude, west.longitude)
max_lon = max(east.longitude, west.longitude)
return (min_lat, min_lon, max_lat, max_lon)
# 示例使用
lat = 39.9042 # 北京的纬度
lon = 116.4074 # 北京的经度
radius_km = 3 # 3公里
(min_lat, min_lon, max_lat, max_lon) = get_bounding_box(lat, lon, radius_km)
print(f"西南角: ({min_lat}, {min_lon})")
print(f"东北角: ({max_lat}, {max_lon})")
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Hsensor/learn_py.git
[email protected]:Hsensor/learn_py.git
Hsensor
learn_py
learn_py
master

搜索帮助