国外地址如何地理编码?Python三行代码解决!

news2024/12/23 13:55:37

对于单个地址基于Python中的geocoder库获取经纬度非常方便,代码如下:

# coding=utf-8
import geocoder
# 输入地址
address = 'Akala Temple'
lonLat = geocoder.osm(address)
print(lonLat.latlng) 
# 输出结果  [27.8569644, 84.0893767]

若地址数量较多,可参考如下代码批量处理并写入表格:

# coding=utf-8
import geocoder
import pandas as pd
import csv
import re

y = []
times = 0
# 导入需要地理编码的.csv文件
with open('text.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        place = row[0]
        print('地址:'+place)
        ret = geocoder.osm(place, timeout=5.0)  #响应时间在5秒内
        resLatLon = str(ret.latlng)
        try:
            pat = "(.*?),"
            res = re.compile(pat).findall(resLatLon)[0]
            lon = res.strip('[')
            print("经度:" + lon)
            pat1 = ", (.*?)]"
            lat = re.compile(pat1).findall(resLatLon)[0]
            print("纬度:" + lat)
        except:
            print('地址'+row[0]+'转换失败')
            lon = 'none'
            lat = 'none'
        times += 1
        print('已转换'+str(times)+'条地址')
        print('-----------------------------------------------')
        y.append([row[0],lon,lat])
# 转换结果写入表格
result = pd.DataFrame(y)
result.columns = ['地址','纬度','经度']
result.to_csv('地理编码结果.csv',encoding='utf-8-sig', index=False)

运行日志
在这里插入图片描述
其中text.csv样例如下:
在这里插入图片描述
地理编码结果.csv如下(最重要的:需要科学上网!):
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/954761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gradio项目所学

从项目中学习Gradio:快速搭建AI算法可视化部署演示(侧重项目搭建与案例分享) 我们通常使用的两款AI可视化交互应用: Gradio 与 StreamList 本次我们通过项目案例对Gradio从简单使用到进阶进行讲解介绍 Gradio的优势 Gradio的优势在于其代码结构的简单性与…

Java“牵手”京东商品详情数据,京东API接口申请指南

京东平台商品详情接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取京东商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口,通过…

面试总结 - 计算机网络

计算机网络 1 OSI 七层模型 | TCP与UDP | 响应状态码 OSI 模型 应用层: 计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。 HTTP SMTP FTP DNS 表示层: 负责数据格式的转换&…

鸿蒙系列-如何更好地使用 ArkUI 的 Image 组件?

如何使用好 ArkUI 的 Image 组件? 开发者经常需要在应用中显示一些图片,例如:按钮中的logo、网络图片、本地图片等。在应用中显示图片需要使用 Image 组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg和gif&am…

实现公网远程访问:Windows本地快速搭建SFTP文件服务器并配置端口映射

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

镜头翻转大师:视频剪辑高手的魔法技巧

在数字媒体时代,视频制作已成为各种规模的组织和个人的必备技能。无论是小型家庭活动还是大型企业项目,都需要通过视频来展示成果、传播信息,或是仅仅为了分享生活的美好瞬间。然而,视频制作并非易事,其中最困难的步骤…

气传导蓝牙耳机排行榜,值得大家选择的气传导耳机推荐!

​随着科技的不断进步,气传导耳机已经成为了市场上备受瞩目的产品之一。相比传统耳机,气传导耳机的音质表现更加出色,同时还具有更好的佩戴感受。下面跟着我脚步来,推荐几款值得大家选择的气传导耳机,看看哪款更好&…

【错误记录】exe4j 打包程序无法设置 jar 包依赖的问题 ( 将源码 和 依赖库打包到同一个 jar 包中 )

文章目录 一、问题描述二、解决方案 一、问题描述 在 【错误记录】IntelliJ IDEA 导出可执行 jar 包执行报错 ( java.lang.ClassNotFoundException | 打包时没有选择依赖库 ) 博客中遇到 java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriverat j…

[LeetCode周赛复盘] 第 360 场周赛20230827

[LeetCode周赛复盘] 第 360 场周赛20230827 一、本周周赛总结2833. 距离原点最远的点1. 题目描述2. 思路分析3. 代码实现 2834. 找出美丽数组的最小和2. 思路分析3. 代码实现 2835. 使子序列的和等于目标的最少操作次数1. 题目描述2. 思路分析3. 代码实现 2836. 在传球游戏中最…

Leetcode328 奇偶链表

思路:分别处理奇偶,保存奇偶的第一个和最后一个节点,注意最后链接的时候需要把偶数的next去掉再拼接不然就成环了 class Solution:def oddEvenList(self, head: ListNode) -> ListNode:if not head or not head.next or not head.next.ne…

数据结构与算法-递归回溯分治

引入思考: 1.微信分销系统中有一个返利,大家应该都知道,比如B是A的下线,C是B的下线,那么在分钱返利的时候A可以分B,C的钱,这时候我们是不是就要分别找B,C的最后上级。这个问题我们一般怎么来解决…

数据通信——传输层TCP(可靠传输机制的滑动窗口)

引言 之前提到过拥塞问题,如果大量数据疯狂涌入,接收端无法及时处理就会导致数据丢包,从而使得通信受到干扰。之前的连续ARQ如果不加以节制,疯狂发送报文,接收端无法及时返回ACK就会导致网络瘫痪。 滑动窗口机制协议 这…

Linux服务器部署JavaWeb后端项目

适用于:MVVM前后台分离开发、部署、域名配置 前端:Vue 后端:Spring Boot 这篇文章只讲后端部署,前端部署戳这里 目录 Step1:服务器上搭建后端所需环境1、更新服务器软件包2、安装JDK83、安装MySQL4、登录MySQL5、修…

一百六十六、MySQL——systemctl stop mysqld无法停止MySQL8.0服务

一、目的 为了解决MySQL的中文乱码问题,需要对/etc/my.cnf文件进行参数配置。 而对/etc/my.cnf文件进行配置参数之前,需要先停止MySQL服务 二、错误命令语句示范 (一)错误的命令语句 # systemctl stop mysqld (…

SQL分组后取topN

准备数据 create table SC( SId varchar(10) comment "学生ID", CId varchar(10) comment "课程ID", score decimal(18,1) comment "课程成绩");insert into SC values(01 , 01 , 80); insert into SC values(01 , 02 , 90); insert into SC va…

用最少数量的箭引爆气球【贪心算法】

用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地…

Debian12 Gnome环境下的办公软件安装

一、禁用Wayland,启用xorg 当前Debian12 默认采用Wayland来支持gnome环境,但是许多软件无法在该系统下显示,例如:openoffice,yozo-office,weixin,fcitx。所以要在gdm3的配置文件中,…

港交所MMDH行情协议

目录 一、交易时间 二、MMDH与OMD的差异 三、MMDH消息类型 四、MMDH的市场快照数据 内地市场数据枢纽-证券市场(OMD-MMDH) 港交所OMD-C对接笔记 - skylerjiang - 博客园 (cnblogs.com) 一、交易时间 图 1 港交所交易时间段 图 2 消息序列 二、MMDH与OMD的差异 图 3 标准…

Leetcode213 打劫家舍2

思路&#xff1a;既然头尾不能同时取&#xff0c;那就分别算只取头或者只取尾&#xff0c;不考虑特殊情况的话是一个简单的动态规划 class Solution:def rob(self, nums: list[int]) -> int:if len(nums) < 3:return max(nums)max_sum [nums[0], max(nums[1], nums[0])…

IC芯片老化测试以及方案详解

芯片老化试验是一种对芯片进行长时间运行和负载测试的方法&#xff0c;以模拟芯片在实际使用中的老化情况。 1. 目的&#xff1a;芯片老化试验的目的是评估芯片在长时间使用和负载情况下的可靠性和性能稳定性&#xff0c;以确定其寿命和可靠性指标。 2. 测试方案设计&#xff1…