【全量POI】【多线程】高德POI数据爬取工具

5 篇文章 0 订阅

POIKit

POIKit 目的是提供一套简单易用且稳定的 POI 获取与处理工具套件,方便 GIS 相关从业者。目前软件处于初步构建状态,希望各位多多尝试,多多提问题(The More Questions,The Better)。

目录

Preview

preview.png

功能演示

POI 搜索功能

以行政区为例。POI 类型:餐饮服务;行政区:371723;初始网格数:4;阈值:850;线程数目:2;输出格式:csv,POI 搜索功能如下所示:

poi.png

功能配置参数如下表:

参数说明注意
高德 key软件支持多个 key,不同 key 之间需要用逗号分割注意,只能使用英文逗号,且不能包含换行符、空格等
开发者类型个人开发者或个人认证开发者或企业开发者用于设置 QPS 值,当用户设置线程数大于最大线程数,将强制设为最大线程,防止过高并发
POI 关键字搜索关键字,如KFC,不同关键字之间使用逗号分割只能使用英文逗号 分割
POI 类型搜索类型,可为分类代码或汉字,如 010000,不同类型之间使用逗号分割只能使用英文逗号分割,若使用汉字,必须严格按照高德 POI 分类编码中的汉字编写
行政区行政区六位代码-
矩形格式严格遵循左上角经纬度#右下角经纬度,如133,34#135,30经纬度坐标可以使用wgs84/gcj02/bd09 坐标,请使用下拉框选择合适的经纬度坐标
自定义支持用户上传 geojson 边界文件经纬度坐标可以使用wgs84/gcj02/bd09 坐标,类型可以为PolygonMultiPolygon
初始网格数初始网格剖分数目一般情况按默认值为 4 即可
阈值当该网格 POI 数量超出阈值,会对网格进一步四分一般情况下按 850 即可
线程数目线程数量一般不大于 QPS * keys_num,个人开发者最多设为 20,个人认证开发者最多设为 50,网速较快时也应降低QPS 可以在流量限制说明查看
输出格式目前支持 geojson、shp、csv、txt结果包含 gcj02 和 wgs84 两种坐标,若输出格式为 geojson 或 shp,使用 wgs84 坐标

注意:

  1. 若爬取过程中 key 池额度用尽,软件会停止爬取,但不会删除之前爬取得到的数据,仍会导出。

  2. 若爬取过程中,用户点击取消,软件会停止爬取,不会导出。

输出参数说明:

参数说明
name名称
type兴趣点类型
typecode兴趣点类型编码
address地址
pnamePOI 所在省份名称
cityname城市名
adname区域名称
gcj02_longcj02 经度
gcj02_latgcj02 纬度
wgs84_lonwgs84 经度
wgs84_latwgs84 纬度

地理编码功能

geocoding.png

功能配置参数如下表所示:

参数说明注意
高德 key软件支持多个 key,不同 key 之间需要用逗号分割注意,只能使用英文逗号,且不能包含换行符、空格等
开发者类型个人开发者或个人认证开发者或企业开发者用于设置 QPS 值,当用户设置线程数大于最大线程数,将强制设为最大线程,防止过高并发
线程数目线程数量一般不大于 QPS * keys_numQPS 可以在流量限制说明查看
输入文件支持 csv 或 txt 格式文件至少需要包含address字段
输出目录结果输出路径,目前地理编码结果包括 gcj02 和 wgs84 两种坐标-

注意:

  1. 若地理编码过程中 key 池额度用尽,软件会停止地理编码,但不会删除之前得到的数据,仍会导出。
  2. 若地理编码过程中,用户点击取消,软件会停止地理编码,不会导出。

输出参数说明:

参数说明
formatted_address结构化地址信息
country国家
province地址所在的省份名
city地址所在的省份名
citycode城市编码
district地址所在的区
adcode区域编码
street街道
number门牌
level匹配级别
gcj02_longcj02 经度
gcj02_latgcj02 纬度
wgs84_lonwgs84 经度
wgs84_latwgs84 纬度

格式转换

spatial_data_transform.png

功能配置参数如下表所示:

参数说明
输入文件支持 geojson 或 shp 格式文件
输出格式若选择 geojson,则可以输出 shp,若选择 shp,则可以输出 geojson 或 csv
输出目录结果输出路径

坐标转换

coordinate_transform.png

功能配置参数如下表所示:

参数说明
输入文件支持 geojson 或 shp 格式文件
输入坐标格式即输入文件的坐标格式,wgs84/gcj02/bd09
输出目录结果输出路径
输入坐标格式即输出文件的坐标格式,wgs84/gcj02/bd09

安装

  1. 软件基于 Java 环境运行,需要首先安装 jre/jdk(1.8 版本),安装步骤如下:
    • 下载JDK8,选择适合本系统的版本;
    • 配置环境变量JAVA_HOME为安装目录,然后在Path中添加%JAVA_HOME%\bin
    • 打开终端,输入java -version,若出现 Java 版本号,则配置成功。
  2. 下载最新发布的软件压缩包,以POIKit.zip为例,解压缩后,双击start.bat即可运行。

技术选型

目前软件采用 MVC 软件架构模式,技术选型如下:

维护人员

@Civitasv

@SkyTreeDelivery

支持该项目

若遇到任何问题,你可以通过以下方式联系我:

  1. 邮箱:sen.hu@whu.edu.cn,我会定时查看邮箱,但不保证实时性;
  2. 用户 QQ 群:1097532420
  3. issue:这是我推荐的方式,有问题时,也应该首先查看 issue 列表是否已有该问题的解答;

若帮助到了您,Github Star 是对我最大的肯定。

开发路线

  • v0.0.1 2021-04-20

    • 初步实现软件及安装文档;
  • v0.0.2 2021-04-22

    • 修复重复 bug;
  • v0.0.3 2021-04-23

    • 线程池运行优化;
    • 添加运行状态提示
  • v0.0.4-alpha 2021-04-23

    • 添加 POI 检索错误码输出;
    • 修改地理编码返回字段;
    • 添加开发者类型选择下拉框,防止过高并发;
    • 解决点击“执行按钮”卡顿 bug;
    • 【重要更新】POI 搜索添加导出 shp 功能
  • v0.0.4 2021-04-26

    • 添加选取坐标类型(gcj02/wgs84)功能
    • 初步完成 geojson 转 shp,shp 转 geojson,shp 转 csv
    • 添加 cpg 格式文件,防止乱码
    • 若干 bug 修复
  • v0.05 2021-04-27

    • 行政区、用户自定义文件爬取得到的 POI 不再是其外接矩形的 POI,即用户不需要再做裁切处理;
    • 完成坐标转换工具开发,进行 wgs84、gcj02 和 bd09 坐标之间的转换,文件格式支持 geojson/shp,其中 geojson 支持 Point、MultiPoint、LineString、MultiLineString、Polygon 和 MultiPolygon,不支持 GeometryCollection;
    • 使用不同的线程控制机制,能够增加线程数目,更加快速的获取 POI
    • UI bug 修复、cpg 文件生成修复等。

License

GPL 3.0 © Civitasv

  • 23
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值