栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

查找最接近的纬度和经度

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

查找最接近的纬度和经度

为了正确计算地球上各点之间的距离,您需要使用Haversine公式。使用此答案中提供的Python实现,您可以像这样进行编码:

from math import cos, asin, sqrtdef distance(lat1, lon1, lat2, lon2):    p = 0.017453292519943295    a = 0.5 - cos((lat2-lat1)*p)/2 + cos(lat1*p)*cos(lat2*p) * (1-cos((lon2-lon1)*p)) / 2    return 12742 * asin(sqrt(a))def closest(data, v):    return min(data, key=lambda p: distance(v['lat'],v['lon'],p['lat'],p['lon']))tempDataList = [{'lat': 39.7612992, 'lon': -86.1519681},      {'lat': 39.762241,  'lon': -86.158436 },      {'lat': 39.7622292, 'lon': -86.1578917}]v = {'lat': 39.7622290, 'lon': -86.1519750}print(closest(tempDataList, v))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号