高德地图开发者平台Python应用实践:快速入门周边商业环境信息查询

高德地图开发平台提供了丰富的API接口,可以方便地进行地图数据的开发和分析。在商业分析数据采集中,使用高德地图开发平台的周边查询功能可以快速获取周边商圈、小区等信息,为商业决策提供数据支持。

针对您的需求,我建议采用以下方案:

  1. 注册高德开放平台账号并创建应用,获取Key。
  2. 使用高德地图开发平台的周边查询API,根据设定的关键词(如“商场”、“小区”)进行查询。
  3. 根据查询结果,筛选出符合要求的商圈、小区信息,并进行整理和统计。
  4. 将统计结果导出为Excel或CSV格式,方便后续分析和报告撰写。

具体操作步骤如下:

  1. 注册高德开放平台账号并创建应用,获取Key。
  • 访问高德开放平台官网(https://lbs.amap.com/),注册账号。
  • 在控制台中创建新应用,填写应用名称等信息,并获取Key。
  • 使用高德地图开发平台的周边查询API,根据设定的关键词进行查询。
  1. 使用Key调用周边查询API,传入关键词参数,如“商场”、“小区”。
  • 解析返回的JSON数据,提取出符合条件的地理位置信息。
  • 根据查询结果,筛选出符合要求的商圈、小区信息,并进行整理和统计。
  1. 根据地理位置信息,判断是否符合要求(如距离目标地点的距离等)。
  • 将符合要求的商圈、小区信息进行整理和统计,可以使用Excel或CSV格式进行存储。
  • 将统计结果导出为Excel或CSV格式,方便后续分析和报告撰写。

注:(上述内容由讯飞星火AI生成)

1. 注册高德开发平台

高德开放平台是高德地图推出的开放式服务平台,为开发者提供了多项能力,包括地图开发工具、位置云计算和位置大数据等。其中,地图开发工具包括API/SDK,快捷的位置云计算是云图,权威的位置大数据是高德位智。此外,高德开放平台还提供了Web服务API,向开发者提供HTTP接口,开发者可通过这些接口使用各类型的地理数据服务。

您可以在高德开放平台上注册成为开发者并创建应用,以获取Key来使用各项服务 。登录https://lbs.amap.com/,首先进行账号与Key的申请,注册成为高德开发者需要分三步:

第一步,注册高德开发者;

第二步,去控制台创建应用;

第三步,获取Key。

具体可参看下图,在开发者控制台上,可以设置、查看、监控各项服务。

在这里插入图片描述

2. 周边搜索开发实践

开发文档中定义的webAPI搜索服务API是一类简单的HTTP接口,提供多种查询POI信息的能力,其中包括关键字搜索、周边搜索、多边形搜索、ID查询四种筛选机制。

适用场景:

  • 关键字搜索:通过用POI的关键字进行条件搜索,例如:肯德基、朝阳公园等;同时支持设置POI类型搜索,例如:银行
  • 周边搜索:在用户传入经纬度坐标点附近,在设定的范围内,按照关键字或POI类型搜索;
  • 多边形搜索:在多边形区域内进行搜索
  • ID查询:通过POI ID,查询某个POI详情,建议可同输入提示API配合使用

2.1. 搜索POI API

URL:https://restapi.amap.com/v3/place/text?parameters

请求方式:GET

方参考:搜索API:https://lbs.amap.com/api/webservice/guide/api/search

2.2. webAPI添加地图的快速入门指南。

第 1 步:申请”Web服务API”密钥(key)

第 2 步:拼接HTTP请求URL
第一步申请的key需作为必填参数一同发送

第 3 步:接收HTTP请求返回的数据(JSON或XML格式),解析数据。

2.3. 搜索主要代码示例

2.3.1. 搜索返回结果解析

import requests
import math
import time

# 解析API返回结果
def getnote(ret_dat):
    neighborhoods_note = []
    for j in range(0, len(ret_dat['pois'])):
        neighborhoods = ret_dat['pois'][j]['name']    
        address = ret_dat['pois'][j]['address'] 
        location = ret_dat['pois'][j]['location']
        adname = ret_dat['pois'][j]['adname']
        cityname = ret_dat['pois'][j]['cityname']
        neighborhoodstype = ret_dat['pois'][j]['type']
        business_area = ret_dat['pois'][j]['business_area']
   
        tmp = [neighborhoods,neighborhoodstype, business_area,location,adname,cityname,address]                    
        neighborhoods_note.append(tmp)
        
    return neighborhoods_note

官方文档对返回值解释(截图部分内容)如下:
在这里插入图片描述

2.3.2. 搜索请求

# 输入数据文件名称,经度,纬度,半径
def surroundingFormats(filename, longitude, latitude, radius):
    # 周边搜索
    url = 'https://restapi.amap.com/v3/place/around?'
    url = url + 'key=' + key
    
    location = '&location=' + str(longitude) + ',' + str(latitude) 
    keywords = '&keywords=小区'
    radius = '&radius=' + str(radius)
    offset = '&offset=20'    # 默认20个,多了,可能返回出错
    page = '&page='
       
    url = url + location + keywords + radius + offset
    
    neighborhoods_note = []       
    try:
        query_url = url + page + str(1) + '&extensions=all'
        
        response = requests.get(url=query_url, timeout=30)
        ret_dat = response.json()
          
        count = int(ret_dat['count'])
        neighborhoods_note = neighborhoods_note + getnote(ret_dat)
        pages = math.ceil(count/20)
        # 给网络反馈时间,暂停3秒
        time.sleep(3)
         
        for i in range(2,pages+1):
            query_url = url + page + str(i) + '&extensions=all'        
            response = requests.get(url=query_url, timeout=30)
        
            ret_dat = response.json()
            # API返回的数量,与实际可查询到的数据,可能不一致,以实际返回的为准
            if len(ret_dat['pois'])==0:
                break
            
            neighborhoods_note = neighborhoods_note + getnote(ret_dat)
                        
            # 给网络反馈时间,暂停3秒
            time.sleep(3)  
            print('降低网络服务压力,暂停3秒')      
                
    except requests.exceptions.ConnectionError: 
        ret_msg = '网络接口连接超时'
    except:   
        print("高德地图周边查询异常错误", requests.exceptions)

    # 列表转换为字符串列表,用于保存为文件(csv格式)
    neighborhood_line = []
    for v in neighborhoods_note:
        ss = ''
        for s in v:
        	# 返回实际数据无,内容为[],判断是list,而转换为空字符串''
            if type(s)==list:
                s = ''
            if len(ss) ==0:
                ss = s
            else:
                ss = ss + ',' + s
        ss = ss + '\n'
        neighborhood_line.append(ss)
       
    with open(fileName,'a+',encoding='utf-8') as file:
        file.writelines(neighborhood_line)

查询出结果,截取部分如下所示:
在这里插入图片描述

3. 总结

使用Python实现周边商业环境信息查询可以采用高德地图开发平台的API接口,具体步骤如下:

  1. 注册高德开放平台账号并创建应用,获取Key。
  2. 使用高德地图开发平台的周边查询API,根据设定的关键词进行查询。
  3. 根据查询结果,筛选出符合要求的地理位置信息,并进行整理和统计。
  4. 将统计结果导出为Excel或CSV格式,方便后续分析和报告撰写。

优势特点:

  • 高效:利用高德地图开发平台的API接口,可以快速获取周边商业环境信息,提高数据采集效率。
  • 准确:通过设置关键词进行查询,可以精确获取目标数据,减少数据采集误差。
  • 灵活:可以根据需求调整查询条件和统计方式,满足不同场景下的商业分析需求。

问题:

  • 需要熟悉高德地图开发平台的API接口和使用方法,对于初学者来说可能需要一定的学习成本。
  • 由于周边商业环境信息较为复杂,可能会出现一些异常情况,需要进行数据清洗和处理。
  • 部分商家信息可能存在不完整或不准确的情况,需要进行数据验证和校验。

猜你喜欢

转载自blog.csdn.net/xiaoyw/article/details/132182253
今日推荐