使用python调用高德地图API获取经纬度地理信息

本文详细介绍了如何使用高德地图API进行地理编码和逆地理编码操作,包括获取地址的经纬度信息及批量处理Excel数据的方法。通过Python代码示例,读者可以了解如何利用高德地图API实现地址到经纬度的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高德地图API简介

1.进入“地理/逆地理编码API”界面

1)登录高德地图API网站-高德API,界面如图所示。

鼠标移至“开发支持-Web服务API”,点击进入

找到下图中的“地理/逆地理编码API”,点击,如下图所示。
在这里插入图片描述

  1. 查看API参数
  2. 在这里插入图片描述

python获取经纬度

"""0521 xu google地图获取经纬度"""
import requests

import json

# 输入API问号前固定不变的部分

url='https://restapi.amap.com/v3/geocode/geo'
#url = 'https://restapi.amap.com/v3/geocode/geo'

# 将两个参数放入字典

params = {'key': '你的高德密钥',

          'address': '张家港市锦丰镇三兴沿江公路',
          'city': '张家港市'}

res = requests.get(url, params)

# 输出结果为json,将其转为字典格式

jd = json.loads(res.text)

print(jd)

#经纬度
coords = jd['geocodes'][0]['location']

print(coords)

PS:高德密钥

创建个人账户,进入应用管理界面,创建新应用,选择“Web服务”服务平台,这样创建出来的密钥才能使用“地理/逆地理编码”模块。

批量处理并保存

import requests

import json

import pandas as pd

data = pd.read_excel(r'C:\Users\DELL\Desktop\fc.xlsx')
def coords(adr,region):
    # 输入API问号前固定不变的部分

    url = 'https://restapi.amap.com/v3/geocode/geo'

    # 将两个参数放入字典

    params = {'key': '高德密钥',

               'address': adr,
                'city': region}

    res = requests.get(url, params)

    jd = json.loads(res.text)

    return jd['geocodes'][0]['location']


text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表.

    file = open(filename,'a')   # 'w'写    ‘a’追加
    s=str(data)
    # for i in range(len(data)):
    #
    #     s = str(data[i]).replace('(','').replace(')','')#去除[],这两行按数据不同,可以选择
    # #
    # #     s = s.replace("'",'').replace(',','') +'\n'   #去除单引号,逗号,每行末尾追加换行符

    file.write(s)
    file.write('\n')

    file.close()


for row in range(0,data.shape[0]):
    adr = data['address'][row]
    region =data['province'][row]
    print(adr,region)
    try:
        out=coords(str(adr), str(region))
    except:
        out=000
    #out='lng'+' '+'lat'
    print(out)
    text_save('data0528-1',out)
### 调用高德地图API获取经纬度 为了通过Python调用高德地图API来转换详细地址到经纬度坐标,可以遵循如下方法: 对于每一个具体的地理位置描述(例如省、市、区/县、街道以及门牌号码),这些信息作为参数传递给高德地图的服务接口。由于原始的文本形式地址不适用于直接的地图数据分析或展示,因此需要借助于高德地图提供的地理编码服务将其转化为结构化的空间数据——即经度纬度值[^1]。 #### 获取API Key 在正式请求之前,开发者需先注册成为高德开放平台的一员并创建相应的应用程序以获得专属的应用程序密钥(API Key)[^4]。此密钥用于身份验证,在发起HTTP GET请求时附带于URL路径之中。 #### 构建请求链接 构建向高德地图发送GET请求所需的完整URL字符串,其中包括基础网址加上必要的查询参数。主要涉及两个重要组成部分:`key` `address` 参数。前者代表上述提到过的API Key;后者则是待解析的具体物理地址文字表述。 ```python import requests def get_location(address, api_key): url = "https://restapi.amap.com/v3/geocode/geo" params = { 'key': api_key, 'address': address } response = requests.get(url, params=params).json() if response['status'] == '1' and int(response['count']) > 0: location_data = response["geocodes"][0]["location"] lng, lat = location_data.split(',') return float(lng), float(lat) else: raise Exception('Failed to retrieve coordinates') ``` 这段代码定义了一个名为`get_location` 的函数,它接受一个具体的位置名称API密钥作为输入,并返回该地点对应的经度纬度数值。如果遇到错误情况,则抛出异常提示未能成功取得坐标信息。 #### 处理响应结果 当接收到服务器反馈的数据包后,通常会得到JSON格式的内容。从中提取出感兴趣的字段,比如地理位置对象中的`location`属性所携带的实际坐标的字符串表示法。最后一步就是将这个字符串分割成单独的经度纬度浮点数以便后续处理[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

闪闪发亮的小星星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值