【Python&GIS】基于高德Api实现批量地址查询经纬度

这篇具有很好参考价值的文章主要介绍了【Python&GIS】基于高德Api实现批量地址查询经纬度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        之前因为同事需要几千个小区的经纬度信息,所以就帮同事写了一段Python代码,通过调取高德地图的api实现地址查询经纬度这个功能。对于如何使用经纬度查询地址的方法,我之前分享过博文:【Python入门教程】获取图片可视化精准定位(逆地理编码),如果大家感兴趣可以自己去看下。这次主要是分享如何通过地址查询经纬度。

        我这里就不演示如何注册高德Api了,之前那篇文章里有,自己去看!

一、导入需要的库

import requests
import xlrd
import xlwt

二、主函数

        我这里就不过多的介绍了,看看官方的api就都知道了。这里需要注意的就是输入的文件格式,我这里已经写死程序了。只能输入.xls表格文件,然后表格中只有1列数据(地址),数据从第1行开始。最后就是输出的文件路径也必须是.xls,这是xlwt和xlrd两个库的弊端。

        还有一件事,就是修改par = {'address': address, 'key': '*********'},改成自己高德的key,不懂的看之前那篇文章!!!

def CoordTransform(excel_path, out_path):
    """
    :param excel_path: 输入excel表格,里面只有1列全是地址
    :param out_path: 输出的表格名称
    :return: None
    """
    wb = xlrd.open_workbook(excel_path)
    # wb.n sheets  # sheets数量
    # wb.sheet_names()  # sheets名称
    ws = wb.sheet_by_index(0)  # 通过表单索引获取
    # ws = wb.sheet_by_name(' ')  # 通过表名获取
    wb_result = xlwt.Workbook(encoding='utf-8')
    ws_result = wb_result.add_sheet("经纬度")
    ws_result.write(0, 0, '编号')
    ws_result.write(0, 1, '地址')
    ws_result.write(0, 2, '经度')
    ws_result.write(0, 3, '纬度')
    for n in range(1, ws.nrows+1):
        try:
            address = ws.cell_value(n-1, 0)
            par = {'address': address, 'key': '*******************'}
            base = 'http://restapi.amap.com/v3/geocode/geo'
            response = requests.get(base, par)
            response.raise_for_status()
            answer = response.json()
            gps = answer['geocodes'][0]['location'].split(",")
            ws_result.write(n, 0, n)
            ws_result.write(n, 1, address)
            ws_result.write(n, 2, str(gps[0]))
            ws_result.write(n, 3, str(gps[1]))
        except requests.HTTPError or KeyError:
            continue
    wb_result.save(out_path)

三、总结

        本次分享的内容没什么难度,略懂爬虫知识会一点表格操作即可完成,所以不过多跟大家介绍了。有一点很遗憾,就是这个查询到的坐标系是高德坐标系,也就是火星坐标系(GCJ-02)。它和实际的WGS84会有一点偏移,但是问题不大。毕竟国家加密坐标系肯定有自己的考虑,有点点偏移对于我来说够用了。文章来源地址https://www.toymoban.com/news/detail-768492.html

到了这里,关于【Python&GIS】基于高德Api实现批量地址查询经纬度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java调用高德地图API根据详细地址获取经纬度

    访问高德开放平台https://lbs.amap.com/ 登录后,在控制台中创建一个应用,获取生成的应用key。这个key将用于访问高德地图API。   您可以使用Java中的 HttpURLConnection 或 HttpClient 等工具发送HTTP请求到高德地图API,并传递参数以获取经纬度信息。以下是一个使用 HttpURLConnection 的示例

    2024年02月05日
    浏览(55)
  • 电脑ip地址查询要怎么做?查询IP地址就看这3种方法

    电脑无法运转时,我们需要别人的帮忙的话,那就需要知道自己电脑的IP地址是什么。但是很多人不知道该从电脑哪里找到IP地址。 电脑ip地址查询就看下面2种方法,让你轻松就能Get到技巧! 操作环境: 演示机型:华为MateBook 系统版本:Windows 10 使用电脑这么久,你知道如何

    2024年02月03日
    浏览(47)
  • 高德地图系列(三):vue项目利用高德地图实现地址搜索功能

    目录 第一章 效果图 第二章 源代码 高德地图为我们提供了搜索联想,以及搜索结果标记,该案例已将基础功能打通,后续我们肯定还会对功能有所修改,想实现自己想要的效果,基本上看高德地图文档对着改就好了(跟我们用别的工具一样做即可)  代码描述如下:  注意事

    2024年02月03日
    浏览(51)
  • 本机DNS服务器地址查询

    一.方法一 1、点击电脑左下角的开始图标,然后点击“运行”,输入cmd命令,点击确定。 2、在打开的命令运行窗口中,在下面输入ipconfig /all ,之后按回车键。 3、显示出本机的DNS服务器地址 二.方法二 1.在右下角的无线网络图标上,点击右键,点击“网络和Internet设置”

    2024年02月13日
    浏览(58)
  • 电脑IP地址查询,3个实用方法!

    案例:电脑IP地址怎么查询 【请问有没有朋友知道电脑IP地址怎么查询呀?想看看我的IP地址却不知道该怎么查询,哪位友友可以帮帮我!】 在互联网世界中,IP地址是一种用于标识设备(如电脑、手机等)在网络中唯一位置的地址。了解电脑的IP地址对于 网络连接、网络安全

    2023年04月20日
    浏览(43)
  • 查询别人ip地址

    1. 怎么看别人电脑ip地址 在命令提示符下(开始-运行里输入cmd)利用ping这个命令,只要下达\\\"ping-a0.0.0.0\\\"(0.0.0.0)表示对方的IP地址,ping下达之后,就可以查出对方的计算机名称了,如果对方计算机位于互联网上,那么就会出现xxx.xxx.xxx的计算机名称了. 2. 怎么查看别人电脑ip地

    2024年02月02日
    浏览(47)
  • 网络运维系列:网络出口IP地址查询

    在日常研发的工作过程中很少会需要了解自己的网络出口的IP地址是多少,网络出口IP地址和机器IP地址不是同一个概念,那具体什么情况下会需要知道自己的网络出口IP地址呢? 一般在与外部机构进行安全访问的情况下,机构会将我们的IP地址或是IP段添加到防火墙的白名单中

    2024年02月17日
    浏览(41)
  • Mac查询本机ip地址

    Mac系统版本和网络配置不同,可能会有一些细微差别。         并回车,在输出的信息中,查找“inet”或“inet6”字样,后面跟着的数字就是你的IP地址,然后在输出中查找以 “inet “ 或 “inet6 “ 开头的行,这些行后面跟着的就是对应的IP地址。 (1)、查看特定网络接

    2024年01月23日
    浏览(47)
  • SQL SEVER连线查询数据源IP地址及开启SQL的IP地址连线方法

    一般来说本机可以直接 主机名 (例如自己命令LILEI)或者 Localhost, 以及数据库管理器可以只用 . 即可登入,或者 IP地址 。 未设定本机地址说明 已设定本机地址说明 故连接需要“ 服务端IP地址 ” 或 “ @@SERVERNAME ” 4.2 计算机管理-服务和应用程序-SQL配置管理器-SQL网络配置

    2024年02月09日
    浏览(45)
  • C++ Qt开发:QHostInfo主机地址查询组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用 QHostInfo 组件实现对主机地址查询功能。 在Qt网络编程中,QHostInfo是一

    2024年03月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包