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

news2024/11/18 13:33:37

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

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

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

相关文章

stream.map return

出现以下告警信息 Statement lambda can be replaced with expression lambda less... (CtrlF1) This inspection reports lambda expressions with code block bodies when expression-style bodies can be used 将 List<StudentDetailDto> studentDetailDtoList link…

防丢器Airtag国产版

Airtag是什么&#xff1f; AirTag是苹果公司设计的一款定位神奇&#xff0c;它通过一款纽扣电池进行供电&#xff0c;即可实现长达1-2年的关键物品的定位、查找的功能。 按照苹果公司自己的话说—— 您“丢三落四这门绝技&#xff0c;要‍失‍传‍了”。 AirTag 可帮你轻松追…

Objectarx 2021使用vs2019生成报错 /RTCc rejects conformant code

error C2338: /RTCc rejects conformant code错误解决 使用VS2019/VS2022生成项目报错 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C1189 #error: /RTCc rejects conformant code, so it is not supported by the C Standard Library. Either remove this compiler opti…

网络安全---webshell实践

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释&#xff0c;我们只用两个节点&#xff0c;启动之后&#xff0c;大家可以看到有 3 个容器&#xff08;可想像成有 3 台服务器就成&#xff09;。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…

vue2.6升级vue2.7(panjiachen升级指南)vue-cli5多页面应用升级的坑

vue2.7升级指南 vue2.7升级指南 之前的架子使用的是 panjiachen&#xff0c;使用的是 vue2.6.14&#xff0c;现在升级为 vue2.7.x 升级vue/cli vue upgrade 这里推荐使用 vue upgrade 命令自动升级 # 确保安装全局 vue/cli $ npm install -g vue/cli $ vue upgradeWARN Th…

Vue 2 自定义指令

Vue 2自定义指令 Vue自定义指令允许我们在DOM元素上添加自己想要的行为来扩展Vue的功能。 一个自定义指令需要一个名称和一个定义对象。在定义对象中&#xff0c;你可以使用一些钩子函数来控制指令的行为&#xff1a; bind&#xff1a;在指令被绑定到元素上时使用&#xff0…

基于IMX6ULLmini的linux裸机开发系列七:中断处理流程

中断上下文 cpu通过内核寄存器来运行指令并进行数据的读写处理的&#xff0c;它在进入中断前一个时刻的具体值&#xff0c;称为中断上下文 中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时&#xff0c;它会保存当前正在执行的指令的状…

广州华锐互动:3D数字孪生开发编辑器助力企业高效开发数字孪生应用

3D数字孪生开发编辑器是一种新兴的技术&#xff0c;它可以帮助企业更好地管理和维护其物联网设备。这些工具可以帮助企业实现对设备的实时监控、故障排除和优化&#xff0c;从而提高生产效率和降低成本。 数字孪生系统是一种将物理世界与数字世界相结合的技术&#xff0c;它可以…

Python web实战之细说 Django 的单元测试

关键词&#xff1a; Python Web 开发、Django、单元测试、测试驱动开发、TDD、测试框架、持续集成、自动化测试 大家好&#xff0c;今天&#xff0c;我将带领大家进入 Python Web 开发的新世界&#xff0c;深入探讨 Django 的单元测试。通过本文的实战案例和详细讲解&#xff…

【C#学习笔记】C#特性的继承,封装,多态

文章目录 封装访问修饰符静态类和静态方法静态构造函数 继承继承原则sealed修饰符里氏替换原则继承中的构造函数 多态接口接口的实例化 抽象类和抽象方法抽象类和接口的异同 虚方法同名方法new覆盖的父类方法继承的同名方法 运行时的多态性编译时的多态性 照理继承封装多态应该…

Chapter 14: Using Web Services | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介Python and Web ServicesUsing Web ServiceseXtensible Markup Language - XMLParsing XMLJavaScript Object Notation - JSONParsing JSONApplication Programming InterfacesSecurity and API usageGlossary Python for Everybody Expl…

all in one之安装docker、青龙和青龙卸载更新(第三章)

安装docker和青龙 ubuntu安装docker 参考教程0 参考教程1 参考教程2 apt-get install docker-ce docker-ce-cli containerd.io更改docker国内源 一、国内加速地址 Docker中国区官方镜像 https://registry.docker-cn.com网易 http://hub-mirror.c.163.comustc https://d…

Monitor.Analog采集软件详细设计说明

Monitor.Analog模拟量采集软件概要设计&#xff1a; 1. 引言&#xff1a; 模拟量采集软件的目标是实现对模拟量信号的采集、处理和展示。该软件旨在提供一个用户友好的界面&#xff0c;允许用户配置采集参数、实时监测模拟量信号&#xff0c;并提供数据分析和导出功能。 2. 功能…

多功能数据采集主机——数据集中采集

无论是机房监控系统还是仓库监控系统&#xff0c;又或者是其他大型场所的监控系统都会用的一个设备——多功能数据采集主机。 在环境监控系统中会用到温湿度、水浸、烟感等多种传感器&#xff0c;时时监测周围环境&#xff0c;这些传感器都可以通过多功能数据采集主机&#xff…

学习笔记230816---vue项目中使用第三方组件{el-dropdown}如何设置禁止事件功能

问题描述 使用第三方组件elementui&#xff0c;在导航菜单el-menu的el-menu-item中嵌入一个下拉菜框el-dropdown。点击...icon弹出下拉菜单el-dropdown-menu&#xff0c;那么这时会触发事件冒泡&#xff0c;el-menu-item菜单项的点击事件也会触发。 解决方法 阻止事件冒泡&am…

学习笔记230804---逻辑跳转this.$router.push在写法上的优化

今天和资深前端代码写重&#xff0c;同时写页面带参跳转&#xff0c;组长觉得他写的方式比我高端一点&#xff0c;我觉得确实是&#xff0c;像资深大佬学习。 我的写法&#xff1a; this.$router.push(/bdesign?applicationId${this.data.id}&appName${this.data.name})…

【单片机毕业设计4-基于stm32c8t6的红外测温系统】

【单片机毕业设计4-基于stm32c8t6的红外测温系统】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 &#x1f525;这里是小殷学长&#xff0c;单片机毕业设计篇4基于stm32的红外测温系统 &#x1f9ff;创作不易&#xff0c;拒绝白嫖可私 一、功能介绍 -------------------…

mysql主从复制最简单环境搭建(一主一从)

提示&#xff1a;前面有相应的文章利用不同方式进行的主从配置 文章目录 前言一、概述二、主从复制的优点三、原理四、搭建五、主库配置六、从库配置七、测试 前言 一、概述 主从复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中&#xff0c;然后在从库上…

Mac 使用 rar 命令行工具解压和压缩文件

在 Mac 中常遇到的压缩文件有 zip 和 rar 格式的&#xff0c;如果是 zip 格式的 Mac 系统默认双击一下文件就能直接解压了&#xff0c;但 rar 文件就不行。 需要额外下载 rar 工具了实现。 第一步&#xff1a;下载 rar 工具 工具网址&#xff1a;https://www.rarlab.com/dow…

【C++】stack/queue/优先级队列的模拟实现

目录 1. stack/queue1.1 模拟实现 2. 优先级队列2.1 模拟实现2.2 仿函数 1. stack/queue stack文档说明 queue文档说明 stack和queue被称为容器适配器。 容器适配器是什么&#xff1f; 它是一种特殊的容器类型&#xff0c;通过封装已有的容器类型来提供特定功能的接口函数&a…