Python 根据地址获取经纬度及求距离
2024-08-27 03:06:16
方法一:
使用Geopy包 : https://github.com/geopy/geopy (仅能精确到城镇,具体街道无结果返回)
from geopy.geocoders import Nominatim #使用geopy查询
def geocodeN(address):
gps=Nominatim()
location=gps.geocode(address)
return location.longitude,location.latitude
方法二:
使用高德地图或百度地图API,key可去官网申请替换
import requests #使用高德API
def geocodeG(address):
par = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'}
base = 'http://restapi.amap.com/v3/geocode/geo'
response = requests.get(base, par)
answer = response.json()
GPS=answer['geocodes'][0]['location'].split(",")
return GPS[0],GPS[1] #使用百度API
def geocodeB(address):
base = url = "http://api.map.baidu.com/geocoder?address=" + address + "&output=json&key=f247cdb592eb43ebac6ccd27f796e2d2"
response = requests.get(base)
answer = response.json()
return answer['result']['location']['lng'],answer['result']['location']['lat']
计算两个经纬度间距离:
from math import radians, cos, sin, asin, sqrt #计算两点间距离-m
def geodistance(lng1,lat1,lng2,lat2):
lng1, lat1, lng2, lat2 = map(radians, [lng1, lat1, lng2, lat2])
dlon=lng2-lng1
dlat=lat2-lat1
a=sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
dis=2*asin(sqrt(a))*6371*1000
return dis
最新文章
- 【原创】开源Math.NET基础数学类库使用(01)综合介绍
- HTML 学习笔记 CSS(表格)
- Windows+Git+TortoiseGit+COPSSH 安装图文教程
- Java中的异或(转)
- 关于 Redis 访问安全性的问题
- win10 + gtx1060 + cuda8.0 + caffe + vs2013
- FOJ 2105 Digits Count
- [ActionScript 3.0] AS3 Socket安全沙箱策略文件
- POJ 3616 Milking Time 简单DP
- linux tpm 测试完整记录,亲测有效。
- 淘宝镜像 cnpm 不是内部命令
- pythonのdjango Form简单应用。
- HDU4292-Food-网络流
- C# 异步编程3 TPL Task 异步程序开发
- Django-Model操作数据库(增删改查、连表结构)
- vim 支持 nginx配置文件 语法高亮
- Spark2 Random Forests 随机森林
- python循环和布尔表达式总结
- Kubernetes1.6集群上(开启了TLS)安装Dashboard
- Win10正式版怎么关闭windows defender
热门文章
- BZOJ3574 HNOI2014抄卡组(哈希)
- QoS专题-第2期-QoS实现工具之MQC
- Docker学习笔记六:Docker搭建企业级私有仓库
- PHP关于VC9和VC6以及Thread Safe和Non Thread Safe版本选择的问题
- 电子商务(电销)平台中系统设置模块(SysSetting)数据库设计明细
- bzoj4144【AMPPZ2014】Petrol
- 形态学及其他集合运算(Morphological and Other Set Operations)
- C++编译报错:重复定义
- 前端PHP入门-032-异常处理-应用级别
- VS工程使用Git时的过滤文件