## 4 Cellular Network Reconstruction and Validation
### Automatic Generation of the Network Database  
Following the hierarchical granularity structure of cellular networks, from the smallest component, that is, the cell, to the biggest one, the PLMN, the network schema was automatically populated, inserting or updating data as necessary. For example, when a new valid observation (according to the criteria defined in Section 4.2) is inserted, the corresponding (serving) cell has to be considered. If the latter is not already present in the table cell, it has to be added, and such an operation is followed by the insertion, or the update, of the overlying network components, such as the corresponding registration area. To simulate the continual, crowdsourced arrival of cellular observations, we populated the database as follows. The instances inside both datasets are characterized by a value that denotes their time of capture (_measured_ in the OpenCellID dataset; _TTFF_ in the u-blox dataset). Thus, we first combined the two datasets, sorting the data by such temporal annotations. Then, we inserted the observations one by one in the database, applying the filters defined in Section 4.2 and setting the lower end of the transaction time interval value (i.e., _row_start_) of each instance equal to the time at which it was collected. This simulated \begin{table}
\begin{tabular}{l c c c} \hline \hline  & **GSM** & **UMTS** & **LTE** \\ \hline
**MCC** & & 0–999 (3 digits) & \\
**MNC** & & 0–999 (3 digits) & \\
**LAC/TAC** & & 0–65,535 & \\
**CI/eCI** & & 0–65,535 & 0–268,435,455 \\
**RNC** & - & 0–4095 & - \\
**(U/E)ARFCN** & 0–1023 & 0–16,383 & 0–65,535 \\
**BSIC/PSC/PCI** & 0–63 & 0–511 & 0–503 \\
**TA** & 0–219 & - & 0–1282 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Domain constraints on measurement’s parameters. Figure 10: Oversized cell caused by an inter-country faulty observation. and incremental population of the database is useful for evaluation purposes, as shown in Section 5. After the database population phase, it is worth assessing the result of the online filtering process that we employed. The conditions applied to the original datasets led to the results reported in Table 3. Starting from the original datasets, after the filtering phase, there were 52,050,495 measurements left (45,179,811 serving cells and 6,870,684 neighbors) to reconstruct the network. Only 93.88% of original observations were maintained: 99.80% from the OpenCellID dataset and 73.52% from the u-blox dataset. While for the OpenCellID dataset we do not know if some kind of filtering was already applied, the u-blox dataset was obtained directly from unfiltered raw measurements logs, and this explains its higher amount of discarded observations. Figure 9c depicts the spatial distribution of all the validated instances that have been inserted in the database. The composition of the overall reconstructed network arising from the merging of both datasets is summarized in Table 4. As shown, there are almost 1000 PLMN, organized in an average of 800 subPLMN for each technology, each one with approximately 45,000 registration areas for each technology; and a total of 5,794,700 distinct cells (1,553,523 for GSM, 2,001,145 for UMTS, and 2,240,032 for LTE). As for the geometries associated with the different elements and calculated using single observations, they should intuitively be characterized by a polygon. However, in several cases, they are points or lines, for instance, because a cell is recognized only by one or two observations. The numbers of constructed polygons are also reported within brackets in Table 4.  
The last thing to consider about the two datasets is their temporal extension. OpenCellID includes observations from 2014-01-01 (02:02:44) to 2017-03-17 (06:34:24), whereas the u-blox dataset includes observations from 2016-06-23 (23:21:20) to 2016-06-30 (23:00:57). Note that the latter is a much shorter period than the former, and there is a clear overlap.