[TOC]

程序简介

程序封装了两个函数 一、调用百度地图的API来获得地点的经纬度 二、调用python的geopy模块来计算两个经纬度的直线距离 输入:地点名称 输出:经纬度、直线距离

程序/数据集下载

点击进入下载地址

代码分析

导入模块、填写AK、SK码

# -*- coding: utf-8 -*-

from geopy.distance import geodesic

import urllib.parse

import hashlib

import requests

ak = "xxxxxxxxxxx"#百度地图ak码

sk = "xxxxxxxxxxx"#百度地图sk码

getCoordinate函数可以根据地名来获得对应经纬度,这里拿秦皇岛做测试

def getCoordinate(address):

'''

输入地址输出坐标(经度,维度)

address:城市名

'''

#产生sn码

queryStr = "/geocoder/v2/?address="+address+'&output=json&ak='+ak

encodedStr = urllib.parse.quote(queryStr, safe="/:=&?#+!$,;'@()*[]")

rawStr = encodedStr+sk

sn = (hashlib.md5(urllib.parse.quote_plus(rawStr).encode("utf8")).hexdigest())

#生成url

url = urllib.parse.quote("http://api.map.baidu.com"+queryStr+"&sn="+sn,safe="/:=&?#+!$,;'@()*[]")

result = requests.get(url).json()

coordinate = (result['result']['location']['lng'],result['result']['location']['lat'])

return coordinate

print('秦皇岛经纬度',getCoordinate('秦皇岛'))

秦皇岛经纬度 (119.60853063334328, 39.941748102377936)

calDistance函数可以根据两地名来获得对应其直线距离,其中需要调用到上面的getCoordinate函数来获取坐标,这里拿北京、秦皇岛做测试

def calDistance(place1,place2):

'''

输入两个地点名,输出直线距离(米)

place1:地点1

place2:地点2

'''

coor1 = getCoordinate(place1)#经纬度1

coor2 = getCoordinate(place2)#经纬度2

#这里输入纬度在前,经度在后,所以做一下反转

distance = geodesic(coor1[::-1],coor2[::-1]).m#距离(米)

return distance

distance = calDistance("北京市","秦皇岛市")

print("秦皇岛、北京距离约为%d米"%distance)

秦皇岛、北京距离约为273145米

python调用百度地图、通过经纬度定位_python调用百度地图API得到两地经纬度计算直线距离...相关推荐

  1. Gps如何根据两点(经纬度)计算直线距离

    这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作" ...

  2. python调用百度地图api定位_python 调用百度地图地点检索webAPI

    百度地图提供了开放的API,使用方法 右上角登陆账号 -> 点击"获取密钥" -> "创建应用" -> 填写应用名称&白名单IP -& ...

  3. python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码

    百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...

  4. python在地图上画路线_python在openstreetmap地图上绘制路线图的实现

    python在openstreetmap地图上绘制路线图的实现 发布时间:2020-08-28 23:14:52 来源:脚本之家 阅读:111 作者:AAAAAAAKing 利用python进行经纬度 ...

  5. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  6. python模拟百度搜索点击链接_python采集百度搜索结果带有特定URL的链接代码实例...

    这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 ...

  7. python调用微信发送消息过于频繁_python 调用微信 发消息

    本篇文章讲述的是调用 python 的 wxpy 包自动发送微信消息. 相当于 登录 微信网页版. 具体代码方便复制,提供一份文字版代码 #!/usr/bin/env python3 # coding ...

  8. python如何调用dll库中的函数_Python调用dll库接口-ctypes方法

    背景 最近需要用python写个脚本程序(win10 环境),需要调用现成的dll库完成这项任务,对于一直在Linux平台上开发程序的本人来说,从没有过使用dll的经历(不得不说还是so大法好),遇到 ...

  9. python百度贴吧发帖签到_python 爬虫 百度贴吧签到小工具

    import requests,re,time header ={ "Cookie":"登陆过账号后的cookie 必须填写", "User-Agen ...

  10. python钉钉机器人发送excel附件_python调用钉钉机器人发送消息

    #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: 刘小懒 # example:python dingding.py 参数1 参数2 参数3 ...

最新文章

  1. LeetCode Insertion Sort List(单链表插入排序)
  2. hibernate debug学习总结
  3. WebAPI(part3)--事件基础
  4. ABAP 并发执行的威力
  5. 安装oracle 11g 客户端,检查过程中报物理内存不足的解决
  6. 轉Excel的一種簡單方法
  7. DBShop电子商务系统
  8. IBM Rational总经理夏然谈程序员生涯
  9. 计算机网络学习笔记(5. 电路交换)
  10. 把Faster-RCNN的原理和实现阐述得非常清楚
  11. python使用redis做缓存_Python的Flask框架使用Redis做数据缓存的配置方法
  12. 互联网+大赛作品_“颂中国力量 绘美好梦想”全市中小学生互联网+书画大赛作品展示(二十二)...
  13. 文件夹的使用、常见术语缩写
  14. 用Acrobat无损去除PDF签名
  15. h5+MUI移动APP和普通H5之间的区别有哪些?
  16. 给程序员简历的一些建议
  17. 机动目标跟踪——匀加速运动CA模型(二维)
  18. 第023、024讲:这帮小兔崽子汉诺塔 | 学习记录(小甲鱼零基础入门学习Python)
  19. Latex中插图总结
  20. 天天生鲜项目从0开始

热门文章

  1. Python 开发环境Spyder介绍 【初学者友好】
  2. 更改计算机名后金蝶无法登录,《金蝶KIS专业版登录时出现问题,请重新输入终极解决全过程》.doc...
  3. echart改变折线图和折线点的颜色以及折线点的大小
  4. 36氪独家|「秦汉胡同」完成1亿元A轮融资,将发力线上内容产品和女性生活学习服务社群...
  5. 【2022】将3D目标检测看作序列预测-Point2Seq: Detecting 3D Objects as Sequences
  6. OMCS 语音视频框架
  7. RobotStudio码垛机器人创建过程
  8. FindBugs 汇总(持续修改)
  9. 写在前面 - 跟小智一起学网络(1)
  10. 4-3 Vue的`:style`用法