经纬度批量转地址(保姆级教程)

利用百度地图API提供的全球逆地理编码服务可以实现经纬度批量转地址的功能。

这是API给出的GET请求:
https://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194

可以看到,加粗的部分为需要用户自己设置的参数。这里简单说明一下这几个参数的含义(懒得看的朋友可以直接跳过)直接copy代码跑就好~

  1. ak即百度地图API的密钥,需要自行申请,网上教程很多这里随便放一个https://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/getkey 注意一定要选择服务器端!
  2. wgs84是一种坐标系,这里根据数据的坐标系自行设置,因为在不同坐标系下同一坐标所对应的地方是不一样的。常见的坐标系有bd09ll(百度经纬度坐标);bd09mc(百度摩卡托坐标);gcj02(国测局加密坐标),wgs84(gps设备获取的坐标)……
  3. location即经纬度坐标啦。

所以整个过程的重点就是文件的读写和输出了,简单分析后就可以写代码啦~

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

import pandas	#读取excel表
import json	#数据格式转换
from urllib.request import urlopen	#获取网页


# 原数据文件格式: 纬度 + 经度
origin_path = r'路径'   # 原始坐标文件路径
result_path = r'保存路径'   # 爬取数据文件保存路径

"""# 百度地图提供的api服务网址
'https://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194' 
"""
AK = ['你申请的ak']

dfBase = pandas.read_excel(origin_path)
# dfBase.head()

dataList = []  # 储存获取的路线数据

for i in range(0,n):	#有多少数据n就写多少
    print( i )
    out_lat = dfBase.at[i, '纬度']
    out_lng = dfBase.at[i, '经度'] 
    url_Geocoder = r"https://api.map.baidu.com/reverse_geocoding/v3/?ak=AK&output=json&coordtype=bd09llll&location={0},{1}".format(out_lat, out_lng)
   
    result_Geocoder = json.loads(urlopen(url_Geocoder).read())  # json转dict
    status_Geocoder = result_Geocoder['status']
     
    if status_Geocoder == 0:  # 状态码为0:无异常
        loc = result_Geocoder['result']['formatted_address']
     
        dataList.append([loc])
        dfAll = pandas.DataFrame(dataList, columns=['loc'])

    dfAll.to_excel(result_path)
print('Done!')

欢迎评论区交流!

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: 经纬度批量转换为xy坐标是地理信息系统 (GIS) 中的常见需求之一。这个过程涉及将地球表面上的经纬度坐标转换为平面坐标系中的x、y坐标点。 在转换经纬度为xy坐标的过程中,需要使用特定的坐标系和数学算法。常见的坐标系包括UTM坐标系和墨卡托投影坐标系。UTM坐标系是一种常用的区域性坐标系,适合小范围的地理数据处理,而墨卡托投影坐标系则适合于大范围的地理数据处理。 转换经纬度为xy坐标需要以下步骤: 1. 选择适当的坐标系:根据需要选择合适的坐标系,如UTM或墨卡托投影坐标系。 2. 确定中央经线和假东原点:根据所选的坐标系,确定中央经线和假东原点的位置。 3. 进行投影转换:使用指定的数学算法,将经纬度坐标投影到平面坐标系中的x、y坐标点。 4. 批量处理:对一批经纬度坐标进行相同的转换操作,以获取它们的xy坐标。 在实际操作中,可以使用GIS软件、编程语言或在线地图服务来进行经纬度批量转换为xy坐标。这些工具通常提供现成的坐标转换函数或API,使得转换过程更加方便和高效。 总之,经纬度批量转换为xy坐标是地理信息系统中常见的操作之一。这个过程需要选择适当的坐标系,使用特定的算法进行投影转换,并通过GIS软件、编程语言或在线地图服务来实现。 ### 回答2: 经纬度是一种用来表示地球表面任意位置的坐标系统,由纬度和经度两个角度值组成。而xy坐标则是平面直角坐标系统,通常用来表示二维平面上的位置。要将经纬度批量转换为xy坐标,需要考虑地球表面的曲率和投影方式。 首先,需要选择适当的地理坐标系统和地图投影方式。世界上常用的地理坐标系统包括WGS 84和GCJ 02等。这些系统使用不同的椭球体和坐标转换算法,对应不同的地图投影方式。根据具体需求和使用场景,选择合适的地理坐标系统和地图投影方式。 其次,需要借助相应的地理信息系统(GIS)软件或API来进行批量转换。常见的GIS软件或API能够提供经纬度到xy坐标的转换功能,并支持批量处理。在转换过程中,需要提供经纬度数据集,并选择合适的坐标系统和投影方式。 最后,进行经纬度到xy坐标的批量转换。根据提供的经纬度数据集,逐个将经度和纬度值输入到地理信息系统中,进行坐标转换转换后的xy坐标可以保存为文件或导出到其他应用程序中进行进一步分析和处理。 总之,经纬度批量转换为xy坐标需要选择合适的地理坐标系统和地图投影方式,利用GIS软件或API进行批量转换操作。这样可以将地球表面的经纬度位置转换为平面上的xy坐标,方便进行地理空间数据的分析和可视化。 ### 回答3: 经纬度批量转换为xy坐标是一个常见的需求,可以通过使用地理信息系统(GIS)软件或在线服务来实现。以下是一种可能的方法: 首先,收集经纬度数据并保存在一个文件或数据库中。这些经纬度可以是一系列地点的坐标,如城市、景点或地址等。 然后,使用一个合适的GIS软件或在线服务来进行批量转换。这些工具通常提供了转换经纬度为xy坐标的功能。 在GIS软件中,你可以导入你之前收集的经纬度数据,并选择合适的投影系统来进行转换。不同的投影系统适用于不同的地理区域,选择正确的投影系统是确保准确转换的关键。 一旦导入了经纬度数据并选择了合适的投影系统,你可以执行批量转换操作。这将通过计算地球曲面上每个点的xy坐标来完成。 如果你选择使用在线服务,你可以找到一些提供地理编码和坐标转换功能的网站。你需要上传你的经纬度数据文件,并按照网站的指示进行转换转换通常是自动完成的,并且可以下载转换后的xy坐标数据。 无论你选择使用GIS软件还是在线服务,转换后的xy坐标可以用于进一步的地理分析、可视化或其他应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个热爱篮球的GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值