build Maintenance version

POIKit 用于提供一套简单易用稳定的 POI 获取与处理工具套件,方便相关从业者。

功能:

目前软件处于2.0 版本,在 1.0 版本的基础上,增加了断点续爬功能,大幅优化了 POI 数据的获取速度。

希望各位多多尝试,多多提问题(The More Questions,The Better)。

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

2.0 版本:支持 POI 断点续爬

相较于 1.0 版本,2.0 版本支持继续完成未执行完的任务,防止因为 key 的配额耗尽导致程序中断。

  1. 支持切换 key,继续上一未完成任务
  2. 若无 key 可切换,支持第二天 key 重置后,继续上一未完成任务
  3. 切分阶段支持多线程 :smile:

目录

Preview

preview

快速开始

1. 配置环境

软件基于 Java 环境运行,需要首先安装 jre/jdk(1.8 版本),安装步骤如下:

软件启动不了,99%是 Java 版本错误(必须使用 java1.8)或环境变量未正确设置的问题。

安装教程:【晓时代】windows 安装 Java8 及环境变量配置

常见错误:

java 版本错误:高版本不会自带 javafx 库,版本必须是 java1.8

First Example

2. 启动 POIKit

下载最新发布的软件压缩包,以POIKit.zip为例,解压缩后,双击start.bat即可运行。linux 和 mac 用户可以使用 start.sh 启动。

3. 申请 Key

目前只支持高德 key,请前往高德控制台获申请Web 服务类型的 key。

4. POI 搜索功能

以行政区为例,POI 搜索功能如下所示:

4.1. 小批量数据

类型:050000;行政区:371723;阈值:850;线程数目:20;输出格式:geojson。

First Example

4.2. 大批量数据

类型:010000;行政区:110000;阈值:850;线程数目:20;输出格式:csv。

Second Example

4.3. 断点续爬

类型:010000;行政区:110000;阈值:850;线程数目:20;输出格式:csv。

Third Example

软件重启之后,会弹出弹窗提示是否继续执行上次任务。

继续爬取之前,用户可以更改高德 key,用户类型以及线程数目

retry

5. 地理编码

允许 CSV 或 TXT 格式文件,必须至少指定 address 值。

geocoding

6. 格式转换

transform_1

7. 坐标转换

transform_2

8. 版本更新

当无版本更新时:

update

当有版本更新时:

update2

详细说明

POI 搜索

功能配置参数如下表:

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

输出参数说明:

参数 说明
name 名称
type 兴趣点类型
typecode 兴趣点类型编码
address 地址
pname POI 所在省份名称
cityname 城市名
adname 区域名称
gcj02_lon gcj02 经度
gcj02_lat gcj02 纬度
wgs84_lon wgs84 经度
wgs84_lat wgs84 纬度

地理编码

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

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

注意:

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

输出参数说明:

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

格式转换

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

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

坐标转换

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

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

技术选型

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

维护人员

@Civitasv

@SkyTreeDelivery

支持该项目

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

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

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

开发路线

License

GPL-3.0 License © Civitasv