1. 简介

LBS离线数据仓库 是一套包含 WIFI 位置信息、基站位置信息的离线查询 SDK。 提供命令行工具、HTTP服务、C/C++ 函数库多种接入方式。

支持 Linux 和 Windows 7 及以上版本。Linux 支持 CPU 架构:x86-64、ARM64;Windows 支持 x86-64。
推荐配置:内存 8~16G,磁盘 20G 以上。

2. 文件结构

bin/  可执行程序
  ├── bin/lbsserver  HTTP查询服务
  └── bin/single_query  命令行查询工具
share/  数据文件
  ├── share/cellinfo.bin  基站数据
  └── share/wifiinfo.bin  WIFI数据
include/  C/C++ API头文件
  ├── include/lbscommon.h  公共API定义
  ├── include/lbscell.h  基站查询API定义
  └── include/lbswifi.h  WIFI查询API定义
lib/  C/C++ API动态库
  ├── lib/liblbscommon.so  公共API库
  ├── lib/liblbscell.so  基站查询库
  └── lib/liblbswifi.so  WIFI查询库

3. HTTP接口服务

3.1 启动HTTP服务

在Linux环境下,执行 bin/lbsserver 启动HTTP服务:

$ bin/lbsserver

可选参数:

参数说明默认值
-p portHTTP监听端口80

3.2 测试

服务启动后,在浏览器中访问以下页面进行在线测试:

http://127.0.0.1/cell.html
http://127.0.0.1/wifi.html

127.0.0.1 请替换为服务器实际IP地址或域名。

3.3 接口说明

3.3.1 基站查询

接口地址http://127.0.0.1/cell
请求方式GET
返回格式CSV / JSON / XML

请求参数

参数类型必选说明
mccint必选移动国家码,中国为 460
mncint必选移动网络码(CDMA填SID)
lacint必选LAC(LTE填TAC,CDMA填NID)
ciint必选Cell Identifier(CDMA填BID)
coordstring可选坐标系:wgs84 / gcj02 / bd09,默认 wgs84
outputstring可选返回格式:csv / json / xml,默认 csv

返回格式(CSV)

errcode,纬度,经度,误差范围,地址
errcode 说明:
0成功
10000无结果
10001参数错误

请求示例

http://127.0.0.1/cell?mcc=460&mnc=1&lac=4301&ci=20986&output=xml

3.3.2 WIFI查询

接口地址http://127.0.0.1/wifi
请求方式GET
返回格式CSV / JSON / XML

请求参数

参数类型必选说明
macstring必选WIFI路由器MAC地址(BSSID)
coordstring可选坐标系:wgs84 / gcj02 / bd09,默认 wgs84
outputstring可选返回格式:csv / json / xml,默认 csv

返回格式(CSV)

errcode,纬度,经度,误差范围,地址

请求示例

http://127.0.0.1/wifi?mac=00:87:36:05:5d:ea&output=xml

3.3.3 混合定位

接口地址http://127.0.0.1/loc
请求方式GET
说明同时传入基站和WIFI信息,综合定位

请求参数

参数类型必选说明
clstring可选基站信息,格式:MCC,MNC,LAC,CI,信号强度(dBm);多条用分号分隔
wlstring可选WIFI信息,格式:MAC,信号强度;多条用分号分隔
coordstring可选坐标系:wgs84 / gcj02 / bd09,默认 wgs84
outputstring可选返回格式:csv / json / xml,默认 csv

请求示例

http://127.0.0.1/loc?cl=460,0,4173,33452,-15;460,0,4173,63939,-22&wl=00:87:36:05:5d:eb,-23;00:19:e0:e7:5e:b4,-13&output=xml

3.3.4 逆地理编码

接口地址http://127.0.0.1/regeo
请求方式GET
说明经纬度坐标转地址

请求参数

参数类型必选说明
latfloat必选纬度
lonfloat必选经度
coordstring可选坐标系:wgs84 / gcj02 / bd09,默认 wgs84
outputstring可选返回格式:csv / json / xml,默认 csv

请求示例

http://127.0.0.1/regeo?lat=39.987432&lon=116.395123

4. 命令行查询工具

bin/single_query 提供基站/WIFI的命令行查询,结果以 TAB 分隔各字段输出。

4.1 查询基站

$ bin/single_query mcc mnc lac ci

输出字段

字段类型取值范围说明
mcc整数0–999Mobile Country Code
mnc整数0–20000Mobile Network Code(CDMA填SID)
lac整数0–65535LAC(LTE填TAC,CDMA填NID)
ci整数0–268435455Cell Identifier(CDMA填BID)
lat浮点数-90.0 ~ 90.0纬度(WGS84)
lon浮点数-180.0 ~ 180.0经度(WGS84)
acc整数0–10000误差范围(米)
date整数数据日期
validity浮点数0.0–1.0可信度
addr字符串地址描述
province字符串省/自治区/直辖市
city字符串城市/地区/盟/州
district字符串区/县/旗/自治县/乡
township字符串乡/镇/街道

示例

$ bin/single_query 460 1 4301 20986
460  1  4301  20986  40.008899  116.483642  903  20191201  0.62  北京市朝阳区...  北京市  北京市  朝阳区  ...

4.2 查询WIFI

$ bin/single_query aa:bb:cc:dd:ee:ff

输出字段

字段类型示例值说明
mac字符串aa:bb:cc:dd:ee:ffWIFI路由器BSSID
lat浮点数-90.0 ~ 90.0纬度(WGS84)
lon浮点数-180.0 ~ 180.0经度(WGS84)
acc整数0–10000误差范围(米)
date整数数据日期
addr字符串地址描述
province / city / district / township字符串行政区划

示例

$ bin/single_query 00:01:7a:f6:da:c0
00:01:7a:f6:da:c0  39.961166  116.313202  214  20190501  北京市海淀区...  北京市  北京市  海淀区  ...

5. C/C++ API

基站查询

函数签名(定义在 include/lbscell.h):

extern int cell_query(int mcc, int mnc, int lac, int ci,
                      double *lat, double *lon, int *radius,
                      int *date, double *validity);
参数方向说明
mcc, mnc, lac, ci输入基站标识
lat, lon输出纬度、经度
radius输出误差范围(米)
date输出数据日期
validity输出可信度(0.0–1.0)

返回值:0 表示成功,1 表示无结果。参数说明同 4.1节

WIFI查询

函数签名(定义在 include/lbswifi.h):

extern int wifi_query(unsigned long long bssid,
                      double *lat, double *lon, int *radius, int *date);
参数方向说明
bssid输入WIFI路由器BSSID(64位整数)
lat, lon输出纬度、经度
radius输出误差范围(米)
date输出数据日期

返回值:0 表示成功,1 表示无结果。参数说明同 4.2节

京ICP备2021019555号-1  ·  Copyright © 北京竞心科技有限公司
滚动至顶部