基站数据库
客服
QQ: 315508161, 手机: 18664039633
价格
项目价格
基站数据库(截止9/15日460共约>2139万)
送半年更新
5000 / 份
更新数据费用1000 / 年
通过基站数据库及更新服务,自行搭建基站API平台,低成本运作。当每天的查询请求次数超过5000次时,自行搭建查询平台更能节省大笔费用。
其它
赠送多基站定位算法。另本站 基站 API 支持多基站定位。
赠送每天5万次新编号提交查询 API 接口。

概述

基于位置的服务,能有效提升应用或服务的体验。通过相关参数查询基站数据库返回基于基站的客户端位置。通常在不能接受到GPS信号的情况下,用于获得基于基站的粗略位置,精确度取决于客户端设备和基站之间的距离。

作为一种辅助定位方式,非常适合于物联网、车联网、物流行业、通信行业、金融行业、技术研发、跨区域定位检测等定位研究与开发测试。

相比于其它平台,GPSspg 基站数据库 的特色:

  • 四大坐标系架构,适应各大主流地图坐标(谷歌地球,谷歌地图,百度地图,高德地图/腾讯地图)。
  • ID主键单字段查询法,比传统LAC/CELL多字段查询性能更佳,SQL处理速度更快,CPU消耗最小。
  • 6位行政区编码,方便快速统计分析数据
  • 全球独有的方便的数据更新工具,一键更新到你的数据库 (同行最方便的下载更新工具,非特殊情况48小时左右发布更新)
  • 提供完善的方法为你快速导入数据

本内容就购买了本数据库的用户,介绍字段创建标准、数据导入、查询方法、更新说明。

使用限制

本平台的数据只供学习、研究、测试之用。其它用途请遵守当地法律。
任何数据库皆可能会有数据误差问题,所以无法保证100%正确性。

注意:不充许将此数据进行转售、转让、转赠、公开发表(包括但不限于上传到互联网供第三方下载或使用)。不充许利用此数据制作 API 接口供第三方使用。否则,将终止任何合作关系并列入黑名单(包括但不限于停止提供更新服务)。

字段结构

字段名描述示例说明
ID主键ID = 3位MCC + 3位MNC + 5位LAC/TAC + 9位CI,不足位数前补0。
46000004188000031522 = 460-000-04188-000031522,2G GSM / 3G UMTS。
46001145952188239667 = 460-011-45952-188239667,4G LTE
MCC移动设备国家代码ISO标准, 3位。如:中国 = 460
MNC移动设备网络代码ISO标准, 3位, 不足3位前补0。如:中国移动 = 00(000), 中国联通 = 01(001), 中国电信 = 11(011)。
ACLAC/TAC0~65535,2G/3G 取 LAC,4G LTE 取 TAC。
CICELL IdentityGSM 范围:1~65535,包含:EDGE / GPRS。
UMTS 范围:1~268435455, UMTS CI = RNCID * 65536 + Cell ID,CELL ID = CI mod 65536。
LTE 范围:1~268435455, LTE CI = eNodBeId * 256 + Cell ID,eNodBeId = CI / 256 取整。
UMTS 与 LTE 之 CELL Identity 并不等同于工参表中的 CELL ID。
Ver版本号20160516
Radius覆盖半径参考值如:1500 米。
Address靠近地址描述云南省西双版纳傣族自治州景洪市嘎洒镇西双版纳金星啤酒有限公司
LatWGS84纬度22.019030,谷歌地球、谷歌地图卫星图模式适用。
LngWGS84经度100.748125,谷歌地球、谷歌地图卫星图模式适用。
REF更新权重如果本地旧数据权重过低或相同,会被覆盖。
0=普通权限,渠道值100~9000, YYYYMMDD = 工参表日期,如果自己修改或添加的值不希望被更新覆盖掉,请设为 20990000 或 YYYY0000.
以下MCC=460版本独有
Roads靠近道路描述026乡道西约536米
Lata高德纬度22.016210,适用于高德,腾讯,谷歌中国地图。
Lnga高德经度100.749268,适用于高德,腾讯,谷歌中国地图。
Latb百度纬度22.021958,适用于百度地图。
Lngb百度经度100.755829,适用于百度地图。
Latg谷歌中国纬度22.016209,适用于谷歌地图
Lngg谷歌中国经度100.749273,适用于谷歌地图
RID6位行政区划代码532801,见国家统计局《县及县以上行政区划代码》。
RIDS12位区划代码532801502000,参考值,见国家统计局《统计用区划代码和城乡划分代码》。

提供给你的文件格式

可提供的数据文件格式如下:

  • *.DAT, 适用于 MSSQL 数据库,通过 BCP 方法快速导入 MSSQL 数据库中。
  • *.SQL, 适用于 MySQL 数据库,通过 MySQL Workbench 运行脚本直接导入。
  • *.TXT, 适用于 MySQL / Oracle 数据库,通过 LOAD DATA 方法快速导入。

导入数据到 MSSQL 中

你需要先在 MSSQL 数据库中创建空表,然后通过 BCP 方法将对应文件导入对应表中。在未导入前不要创建其它索引,以免影响导入速度。

在MSSQL中创建基站表 for 中国版

此示例中,通过下面的 SQL 语句在 SQL Server Management Studio 中创建了基站数据空表 bs_460bs_cdma_460

以下为适用于 MSSQL 的中国版 BS_460

CREATE TABLE [dbo].[bs_460](
[ID] [varchar](20) PRIMARY KEY,
[MCC] [int] NOT NULL DEFAULT(0),
[MNC] [int] NOT NULL DEFAULT(0),
[AC] [int] NOT NULL DEFAULT(0),
[CI] [bigint] NOT NULL DEFAULT(0),
[Ver] [int] NOT NULL DEFAULT(0),
[Radius] [int] NOT NULL DEFAULT(0),
[Address] [nvarchar](150) NOT NULL DEFAULT(0),
[Lat] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lng] [decimal](11, 8) NOT NULL DEFAULT(0),
[REF] [int] NOT NULL DEFAULT(0),
[Roads] [nvarchar](150) NOT NULL DEFAULT(0),
[Lata] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lnga] [decimal](11, 8) NOT NULL DEFAULT(0),
[Latb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Latg] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngg] [decimal](9, 6) NOT NULL DEFAULT(0),
[RID] [int] NOT NULL DEFAULT(0),
[RIDS] [bigint] NOT NULL DEFAULT(0)
)

以下为适用于 MSSQL 的中国版 CDMA_460

CREATE TABLE [dbo].[bs_cdma_460](
[ID] [varchar](18) PRIMARY KEY,
[MCC] [int] NOT NULL DEFAULT(0),
[SID] [int] NOT NULL DEFAULT(0),
[NID] [int] NOT NULL DEFAULT(0),
[BID] [int] NOT NULL DEFAULT(0),
[Ver] [int] NOT NULL DEFAULT(0),
[Radius] [int] NOT NULL DEFAULT(0),
[Address] [nvarchar](150) NOT NULL DEFAULT(0),
[Lat] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lng] [decimal](11, 8) NOT NULL DEFAULT(0),
[REF] [int] NOT NULL DEFAULT(0),
[Roads] [nvarchar](150) NOT NULL DEFAULT(0),
[Lata] [decimal](11, 8) NOT NULL DEFAULT(0),
[Lnga] [decimal](11, 8) NOT NULL DEFAULT(0),
[Latb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngb] [decimal](9, 6) NOT NULL DEFAULT(0),
[Latg] [decimal](9, 6) NOT NULL DEFAULT(0),
[Lngg] [decimal](9, 6) NOT NULL DEFAULT(0),
[RID] [int] NOT NULL DEFAULT(0),
[RIDS] [bigint] NOT NULL DEFAULT(0)
)

国际版减少一些字段:[Roads],[Lata],[Lnga],[Latb],[Latg],[Lngg],[RID],[RIDS]。

国际版需按 MCC 分表建表,bs_*, bs_cdma_*

通过 BCP 将 DAT 文件快速导入 MSSQL

微软 BCP 批量操作技术提供了大容量数据导入导出功能。由于网速可能导致快慢及异常问题,建议执行 BCP 脚本的机器和 SQL 数据库位于同一机器或同一数据中心。

在此示例中,为 BCP 脚本导入语法:

bcp 数据库目录名.dbo.表名 in E:\*.dat -n -U 数据库用户名 -S 192.168.1.* -P 数据库密码 -b 1000 -h "TABLOCK"
pause

在新建的记事本文件中,复制输入上面的代码,并且修正核对连接参数,然后另存为脚本文件 *.bat,然后右键“以管理员身份运行”此脚本开始导入。

导入数据到 MySQL 中

若提供的是 SQL 文件直接导入即可:
MySQL Workbench -->> File -->> Open SQL Script -->> 选择文件 -->> Run SQL Script -->> 选择 Schema Name, 选择 Character Set = utf8 -->> Run......等待完成 OK。

若提供的是 txt 文件,你需要先在 MySQL 数据库中创建空表,然后通过 LOAD DATA INFILE 方法将对应文件导入对应表中。在未导入前不要创建其它索引,以免影响导入速度。

在 MySQL 中创建基站表

此示例中,通过下面的 SQL 语句在 MySQL 中创建了基站数据空表 bs_460, bs_cdma_460

以下为适用于 MySQL 的中国版 BS_460

CREATE TABLE 目录名.bs_460(
ID varchar(20) PRIMARY KEY,
MCC int(3) NOT NULL DEFAULT 0,
MNC int(3) NOT NULL DEFAULT 0,
AC int(10) NOT NULL DEFAULT 0,
CI bigint(10) NOT NULL DEFAULT 0,
Ver int(8) NOT NULL DEFAULT 0,
Radius int(5) NOT NULL DEFAULT 0,
Address varchar(150) NOT NULL DEFAULT 0,
Lat decimal(11, 8) NOT NULL DEFAULT 0,
Lng decimal(11, 8) NOT NULL DEFAULT 0,
REF int(10) NOT NULL DEFAULT 0,
Roads varchar(150) NOT NULL DEFAULT 0,
Lata decimal(11, 8) NOT NULL DEFAULT 0,
Lnga decimal(11, 8) NOT NULL DEFAULT 0,
Latb decimal(9, 6) NOT NULL DEFAULT 0,
Lngb decimal(9, 6) NOT NULL DEFAULT 0,
Latg decimal(9, 6) NOT NULL DEFAULT 0,
Lngg decimal(9, 6) NOT NULL DEFAULT 0,
RID int(6) NOT NULL DEFAULT 0,
RIDS bigint(12) NOT NULL DEFAULT 0
) DEFAULT CHARSET=utf8;

以下为适用于 MySQL 的中国版 CDMA_460

CREATE TABLE 目录名.bs_cdma_460(
ID varchar(18) PRIMARY KEY,
MCC int(3) NOT NULL DEFAULT 0,
SID int(10) NOT NULL DEFAULT 0,
NID int(10) NOT NULL DEFAULT 0,
BID int(10) NOT NULL DEFAULT 0,
Ver int(8) NOT NULL DEFAULT 0,
Radius int(5) NOT NULL DEFAULT 0,
Address varchar(150) NOT NULL DEFAULT 0,
Lat decimal(11, 8) NOT NULL DEFAULT 0,
Lng decimal(11, 8) NOT NULL DEFAULT 0,
REF int(10) NOT NULL DEFAULT 0,
Roads varchar(150) NOT NULL DEFAULT 0,
Lata decimal(11, 8) NOT NULL DEFAULT 0,
Lnga decimal(11, 8) NOT NULL DEFAULT 0,
Latb decimal(9, 6) NOT NULL DEFAULT 0,
Lngb decimal(9, 6) NOT NULL DEFAULT 0,
Latg decimal(9, 6) NOT NULL DEFAULT 0,
Lngg decimal(9, 6) NOT NULL DEFAULT 0,
RID int(6) NOT NULL DEFAULT 0,
RIDS bigint(12) NOT NULL DEFAULT 0
) DEFAULT CHARSET=utf8;

通过 LOAD DATA INFILE 将 txt 文件快速导入 MySQL 中

你需要先将 MySQL 的 sql-model (一般在my.ini文件中) 去掉 STRICT_TRANS_TABLES,然后才能执行导入。如:STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 改为 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

在此示例中,为 LOAD DATA INFILE 语句导入语法:

LOAD DATA INFILE 'E:/*.txt'
INTO TABLE 目录名.表名 character set utf8
fields terminated by ','
optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n'
IGNORE 1 LINES;

可在 MySQL Workbench 6.2 CE(或其它 MySQL 管理器) 中新建 SQL 查询窗口,复制粘贴上面的代码,并且修正核对连接参数,确认无误后开始执行导入。

由于网速可能导致快慢及异常问题,建议执行脚本的机器和数据库位于同一机器或同一数据中心。

导入数据到 Oracle 中

你需要先在 Oracle 数据库中创建空表,然后通过 LOAD DATA 方法将对应文件导入对应表中。在未导入前不要创建其它索引,以免影响导入速度。

在 Oracle 中创建基站表

此示例中,通过下面的 SQL 语句在 Oracle 中创建了基站数据空表 bs_460, bs_cdma_460 :(建议在 PLSQL Developer 中执行)

以下为适用于 Oracle 的中国版 BS_460

CREATE TABLE bs_460(
ID varchar2(20) PRIMARY KEY,
MCC number(3) DEFAULT 0 NOT NULL,
MNC number(3) DEFAULT 0 NOT NULL,
AC number(10) DEFAULT 0 NOT NULL,
CI number(12) DEFAULT 0 NOT NULL,
Ver number(8) DEFAULT 0 NOT NULL,
Radius number(5) DEFAULT 0 NOT NULL,
Address varchar2(255) DEFAULT 0 NOT NULL,
Lat number(11, 8) DEFAULT 0 NOT NULL,
Lng number(11, 8) DEFAULT 0 NOT NULL,
REF number(10) DEFAULT 0 NOT NULL,
Roads varchar2(255) DEFAULT 0 NOT NULL,
Lata number(11, 8) DEFAULT 0 NOT NULL,
Lnga number(11, 8) DEFAULT 0 NOT NULL,
Latb number(9, 6) DEFAULT 0 NOT NULL,
Lngb number(9, 6) DEFAULT 0 NOT NULL,
Latg number(9, 6) DEFAULT 0 NOT NULL,
Lngg number(9, 6) DEFAULT 0 NOT NULL,
RID number(6) DEFAULT 0 NOT NULL,
RIDS number(12) DEFAULT 0 NOT NULL
);

以下为适用于 Oracle 的中国版 CDMA_460

CREATE TABLE bs_cdma_460(
ID varchar2(18) NOT NULL PRIMARY KEY,
MCC number(3) DEFAULT 0 NOT NULL,
SID number(10) DEFAULT 0 NOT NULL,
NID number(10) DEFAULT 0 NOT NULL,
BID number(10) DEFAULT 0 NOT NULL,
Ver number(8) DEFAULT 0 NOT NULL,
Radius number(5) DEFAULT 0 NOT NULL,
Address varchar2(255) DEFAULT 0 NOT NULL,
Lat number(11, 8) DEFAULT 0 NOT NULL,
Lng number(11, 8) DEFAULT 0 NOT NULL,
REF number(10) DEFAULT 0 NOT NULL,
Roads varchar2(255) DEFAULT 0 NOT NULL,
Lata number(11, 8) DEFAULT 0 NOT NULL,
Lnga number(11, 8) DEFAULT 0 NOT NULL,
Latb number(9, 6) DEFAULT 0 NOT NULL,
Lngb number(9, 6) DEFAULT 0 NOT NULL,
Latg number(9, 6) DEFAULT 0 NOT NULL,
Lngg number(9, 6) DEFAULT 0 NOT NULL,
RID number(6) DEFAULT 0 NOT NULL,
RIDS number(12) DEFAULT 0 NOT NULL
);

通过 LOAD DATA 方法将 txt 文件快速导入 Oracle 中

先用记事本编辑好 *.bat*.ctl 文件中的参数后保存,然后执行 bat 脚本文件导入。

*.bat 脚本文件

sqlldr userid='用户名/密码 as sysdba' control=D:\BS\control_bs_460.ctl skip=1 rows=1000 bindsize=20971520 log=D:\BS\log_bs_460.txt bad=D:\BS\bad_bs_460.txt

pause

*.ctl 控制文件

load data 
CHARACTERSET UTF8 
infile 'D:\BS\bs_460_20160831_0.txt' "str'\r\n'" 
append into table 用户名.BS_460 
fields terminated by ',' 
optionally enclosed by '"' 
(ID,MCC,MNC,AC,CI,Ver,Radius,Address,Lat,Lng,REF,Roads,Lata,Lnga,Latb,Lngb,Latg,Lngg,RID,RIDS)

CDMA 为:(ID,MCC,SID,NID,BID,Ver,Radius,Address,Lat,Lng,REF,Roads,Lata,Lnga,Latb,Lngb,Latg,Lngg,RID,RIDS)

SQL 查询基站

我们建议采用单个 ID 主键的查询方法获得极好的性能。

ID 主键查询法的 ID 前置处理

ID = 3位MCC + 3位MNC + 5位LAC/TAC + 9位CI,不足位数前补0。
46000004188000031522 = 460-000-04188-000031522,2G GSM / 3G UMTS。
46001145952188239667 = 460-011-45952-188239667,4G LTE。

CDMA ID = 3位MCC + 5位SID + 5位NID + 5位BID,不足位数前补0。

通过 ID 主键查询: 2G / 3G / 4G
 select 要返回的字段 from 表名 where ID = '46000004188000031522'   

如果没有结果,再查询不同扇区的结果:

 select 要返回的字段 from 表名 where ID Like '4600000418800003152%'     
通过 AC / CI 索引查询

首次创建索引:

CREATE INDEX IX_索引名 ON 目录名.表名(AC,CI)

SQL 查询语句:

 select 要返回的字段 from 表名 where AC = 34860 and CI = 62041

上报未知数据

当数据库中没有查询到数据时,你应该将相关数据提交至我们的API接口。API接口会记录这些未知编号参数,我们一般在48小时内更新发布数据。
凡此数据库用户将免费赠送API接口(绑定数据更新期限),用于提交查不到的未知编号及查询即时最新数据。

详见链接:基站 API

基站数据更新工具

为客户提供方便的更新工具,支持 MSSQL / MySQL 数据库。

详见链接:基站数据更新工具

感谢支持

谢谢。

相关链接
© 2016 GPSspg - 联系我们