数据集笔记:OpenCelliD(手机基站开放数据库)

这篇具有很好参考价值的文章主要介绍了数据集笔记:OpenCelliD(手机基站开放数据库)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载数据的方式可见:【数据获取】全球最大手机基站开源数据库

1 读取数据

文件在linux中可以用如下方式解压:gunzip 454.csv.gz

import pandas as pd

pd.read_csv('C:/Users/16000/Downloads/454.csv/454.csv',
            header=None,
            names=['radio','mcc','net','area','cell','unit',
                  'lon','lat','range','samples','changeable1',
                  'created1','updated','AveSignal'])
            #names=['Radio','MCC','MNC','LAC/TAC/NID','CID','Longitude','Latitude','Range','Samples','Changeable=1','Changeable=0','Created','Updated','AverageSignal'])

数据集笔记:OpenCelliD(手机基站开放数据库),数据集,笔记

2 每一列含义

Radio 宽带蜂窝网络技术(例如 LTE, GSM)
MCC 移动国家代码
MNC 移动网络代码
LAC/TAC/NID 位置区域代码
CID 用于识别每个基站收发信机或BTS的扇区
Longitude 经度
Latitude 纬度
Range 信号基站可能存在的大致区域(以米为单位)
Samples 处理以获得特定数据点的测量次数
Changeable=1 位置是通过处理样本来确定的
Changeable=0 位置是直接从电信公司获得的
Created 特定单元首次添加到数据库的时间(UNIX时间戳)
Updated 特定单元最后一次出现的时间(UNIX时间戳)
AverageSignal

平均信号强度

如果这个值是0,表示没有使用信号强度来确定基站位置

3 将created1和updated 时间戳由unix转化为秒

opencellid['created1']=pd.to_datetime(opencellid['created1'],unit='s')
opencellid['updated']=pd.to_datetime(opencellid['updated'],unit='s')
opencellid

数据集笔记:OpenCelliD(手机基站开放数据库),数据集,笔记

4 一些额外说明

4.1 是否有重复的计数?

Defining what constitutes a "cell" - General - The OpenCelliD Community

  • 不,每一行代表一个独立的cell。由于数据收集的方式,我们不知道一个特定的小区是否已经停止服务或已被其他小区替代。
  • 如果一个特定的位置有5个2G小区,后来全部转换为4G小区,那么OpenCelliD将显示该位置有10个小区被扫描到。

 4.1.1 点是否过多?

Position tower 4G - The OpenCelliD Community

我下载了数据库,并使用 Python 通过经度和纬度把 csv 文件的所有行绘制到了一张地图上。但是有很多信号塔,这对我来说似乎有点奇怪。 在 opencellid 网站上,它们要少得多(照片)。 这是为什么呢?

数据集笔记:OpenCelliD(手机基站开放数据库),数据集,笔记

数据库包含了小区(cell)大致位置的信息。每个物理蜂窝塔上可以有多个小区。如果你想要获得独立物理蜂窝塔的位置,你需要将彼此靠近的小区进行聚类

4.2 cell和信号塔的关系

Defining what constitutes a "cell" - General - The OpenCelliD Community

“单元(cell)”在技术上是否被归类为其他事物?例如,一个多频段天线会被计算为多个单元吗?

启用了MIMO(多输入多输出)的资产(例如,在4G中的2x2、4x4,或在5G中的64x64或128x128)开始被计算为多个单元吗?

数据集笔记:OpenCelliD(手机基站开放数据库),数据集,笔记

在从 OpenCelliD 下载的数据中,每一行代表一个位于物理信号塔上的单独cell。每个物理塔上可以有多个cell/基站。如果cell的标识符不同,则会在我们的数据库中显示为两个独立的小区。

4.3 信号基站的位置

  • OpenCellID提供的导出文件和API中的GPS小区位置可能是精确的或是计算得出的(平均值)
    • 如果changeable为0,表示精确值;否则为平均值

4.4 OpenCellID中小区塔实际位置与报告位置之间存在差异

主要原因有两个:

4.4.1 小区塔和小区是两件不同的事情

  • 在一个物理小区塔上安装只发射360度GSM信号的单个天线是非常罕见的。更常见的情况是,一个小区塔上安装了几个天线
  • 在这种情况下,每个天线服务于360度圆的一部分区域
    • 示例中的一个小区塔,每个天线发射120度的信号。
    • 这就是小区塔数量和小区ID数量之间存在很大差异的原因

数据集笔记:OpenCelliD(手机基站开放数据库),数据集,笔记文章来源地址https://www.toymoban.com/news/detail-725455.html

  • 例如,沃达丰在德国报告的小区塔("Basisstationen")不到40,000个,但截至2014年8月,OpenCellID报告的沃达丰在德国的小区ID超过290,000个
    • 这意味着平均每个小区塔携带超过七个天线(=小区)
  • 理解了小区塔和小区不是一回事之后,让我们看看这对计算每个小区ID的GPS位置意味着什么
    • 想象一下,已经收集了许多小区ID测量,均匀分布在饼图的一个扇区中
    • 在这种情况下,所有记录的GPS位置的平均值将如上图所示(例如“区域1的中心”)
    • 这将是OpenCellID报告的位置
    • 也就是说,和实际的小区塔是有一定的出入的

4.4.2 小区塔的测量并不总是均匀分布在小区塔周围

  • 想象一下,一个小区塔位于山上,只有一条路从一侧经过:
  • 在这种情况下,测量不会均匀分布在小区塔周围,这意味着大部分测量可能只来自小区塔的一侧。结果,对所有这些测量的GPS位置进行平均,很可能无法准确定位相应小区塔分段区域的中心。

到了这里,关于数据集笔记:OpenCelliD(手机基站开放数据库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [开发|数据库] java程序人大金仓数据库适配笔记

    需要去人大金仓https://www.kingbase.com.cn/qd/index.htm下载linux版iso文件和授权文件(license-企业版-90天)。 iso文件需要挂载在指定目录下。 参考:(https://www.cnblogs.com/bluestorm/p/16941812.html)。 人大金仓数据库安装过程中出现乱码/内容不显示是因为jdk版本不匹配,通过asdf更换java版本为

    2024年02月12日
    浏览(53)
  • 如何在安卓手机Termux上安装MariaDB(MySQL)并实现远程连接数据库

    Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身Linux。 MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在 GNU GPL 下开源。开发这个分支的原因之一是:甲骨文公司

    2024年02月04日
    浏览(52)
  • 数据库 笔记

    一.数据库基本概念 1.数据库DataBase 2.定义:保存一组数据的仓库就是数据库 #### 例 BirdBoot项目中,我们为了保存一组用户信息,创建了一个目录users。里面用若干个文件保存每一个用户信息 此时users目录就可以称为是一个数据库 只不过对于这些数据的维护操作,要么手动,要么

    2024年02月08日
    浏览(28)
  • 大数据课堂笔记——lianxi数据库

    创建数据库 create database 库名; create database lianxi; 打开 use 库名; use lianxi; use table 表名; 创建表(主键:primary key ) create table 表名 (列名1 数据类型1,……); create table course (couid char(4), couname char(10), teachername char(3) ); 删除表 drop database 数据表名; 显示命令运行结果 show table

    2024年04月25日
    浏览(39)
  • 时序数据库influxdb笔记

    官方资料 flux语言资料 https://docs.influxdata.com/flux/v0.x/ https://docs.influxdata.com/flux/v0.x/get-started/data-model/ flux语言官方已准备在3.0放弃请务必注意 influxdb资料 https://docs.influxdata.com/influxdb/v2.7/install/?t=Linux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1)下载 2)解压 3)添加账户(

    2024年02月12日
    浏览(41)
  • MYSQL数据库学习笔记

    以分号结尾加回车为一个命令 show databases;//展示所有数据库 create database xxx;//创建新的数据库 create database if not exists xxx;//检查是否创建XXX数据库,没有则创建,有则不创建 create database default charset (字节大小);//创建指定字节大小的数据库 drop database xxx;//删除数据库 use xxx;//使用

    2024年02月16日
    浏览(51)
  • MySQL数据库---笔记5

    概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性

    2024年02月12日
    浏览(35)
  • MySQL数据库---笔记4

    创建 查询 修改 删除 当使用WTHCHECK OPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了 两个选项:

    2024年02月07日
    浏览(44)
  • MySQL数据库---笔记3

    MySQL体系结构图 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 服务层 第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的

    2024年02月06日
    浏览(47)
  • 【数据库·关系数据库标准语言SQL·学习笔记】Microsoft SQL Server数据库的建立和删除

    开发环境:SQL Server Management Studio(SSMS) 利用数据库对象资源管理器创建数据库 (1)右击对象资源管理器中的数据库,选择新建数据库 (2)在新建数据库界面输入数据库名称 ,并选择确定 利用CREAT DATABASE命令在SSM工具的新建查询中创建数据库 1.语法格式 CREATE DATABASE dat

    2024年02月08日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包