下载数据的方式可见:【数据获取】全球最大手机基站开源数据库
文件在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'])

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

Defining what constitutes a "cell" - General - The OpenCelliD Community
- 不,每一行代表一个独立的cell。由于数据收集的方式,我们不知道一个特定的小区是否已经停止服务或已被其他小区替代。
- 如果一个特定的位置有5个2G小区,后来全部转换为4G小区,那么OpenCelliD将显示该位置有10个小区被扫描到。
Position tower 4G - The OpenCelliD Community
我下载了数据库,并使用 Python 通过经度和纬度把 csv 文件的所有行绘制到了一张地图上。但是有很多信号塔,这对我来说似乎有点奇怪。 在 opencellid 网站上,它们要少得多(照片)。 这是为什么呢?

数据库包含了小区(cell)大致位置的信息。每个物理蜂窝塔上可以有多个小区。如果你想要获得独立物理蜂窝塔的位置,你需要将彼此靠近的小区进行聚类。
Defining what constitutes a "cell" - General - The OpenCelliD Community
“单元(cell)”在技术上是否被归类为其他事物?例如,一个多频段天线会被计算为多个单元吗?
启用了MIMO(多输入多输出)的资产(例如,在4G中的2x2、4x4,或在5G中的64x64或128x128)开始被计算为多个单元吗?

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