Add 3G Adjl checking
Browse files- queries/process_adjl.py +49 -6
queries/process_adjl.py
CHANGED
|
@@ -15,7 +15,9 @@ ADJL_GSM_COLUMNS = ["BSC", "BCF", "BTS", "ADJL", "earfcn", "lteAdjCellTac"]
|
|
| 15 |
|
| 16 |
ADJL_WCDMA_COLUMNS = ["RNC", "WBTS", "WCEL", "ADJL", "AdjLEARFCN"]
|
| 17 |
|
| 18 |
-
BTS_COLUMNS = ["ID_BTS", "name", "
|
|
|
|
|
|
|
| 19 |
|
| 20 |
LTE_COLUMNS_CONFIG = ["Code_Sector", "site_config_band"]
|
| 21 |
|
|
@@ -87,10 +89,10 @@ def process_adjl_data(file_path: str) -> list[pd.DataFrame]:
|
|
| 87 |
df_bts = process_gsm_data(file_path)[BTS_COLUMNS]
|
| 88 |
|
| 89 |
# ------------------- WCEL -------------------
|
| 90 |
-
df_wcel = process_wcdma_data(file_path)
|
| 91 |
-
df_wcel["ID_WCEL"] = (
|
| 92 |
-
|
| 93 |
-
)
|
| 94 |
|
| 95 |
# ------------------- LTE -------------------
|
| 96 |
lte_fdd_df, lte_tdd_df = process_lte_data(file_path)
|
|
@@ -164,7 +166,48 @@ def process_adjl_data(file_path: str) -> list[pd.DataFrame]:
|
|
| 164 |
)
|
| 165 |
|
| 166 |
# Mark existing BTS
|
| 167 |
-
df_bts["
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
|
| 169 |
return [gsm_adjl_df, wcdma_adjl_df, df_bts, df_wcel, lte_df]
|
| 170 |
|
|
|
|
| 15 |
|
| 16 |
ADJL_WCDMA_COLUMNS = ["RNC", "WBTS", "WCEL", "ADJL", "AdjLEARFCN"]
|
| 17 |
|
| 18 |
+
BTS_COLUMNS = ["ID_BTS", "name", "Code_Sector"]
|
| 19 |
+
|
| 20 |
+
WCEL_COLUMNS = ["ID_WCEL", "name", "Code_Sector"]
|
| 21 |
|
| 22 |
LTE_COLUMNS_CONFIG = ["Code_Sector", "site_config_band"]
|
| 23 |
|
|
|
|
| 89 |
df_bts = process_gsm_data(file_path)[BTS_COLUMNS]
|
| 90 |
|
| 91 |
# ------------------- WCEL -------------------
|
| 92 |
+
df_wcel = process_wcdma_data(file_path)[WCEL_COLUMNS]
|
| 93 |
+
# df_wcel["ID_WCEL"] = (
|
| 94 |
+
# df_wcel[["RNC", "WBTS", "WCEL"]].astype(str).agg("_".join, axis=1)
|
| 95 |
+
# )
|
| 96 |
|
| 97 |
# ------------------- LTE -------------------
|
| 98 |
lte_fdd_df, lte_tdd_df = process_lte_data(file_path)
|
|
|
|
| 166 |
)
|
| 167 |
|
| 168 |
# Mark existing BTS
|
| 169 |
+
df_bts["adjl_exists"] = df_bts["ID_BTS"].isin(gsm_adjl_df["ID_BTS"])
|
| 170 |
+
|
| 171 |
+
# --- WCDMA ADJL ---
|
| 172 |
+
# Filter invalid rows
|
| 173 |
+
wcdma_adjl_df = wcdma_adjl_df[
|
| 174 |
+
wcdma_adjl_df["RNC"].notna()
|
| 175 |
+
& wcdma_adjl_df["WBTS"].notna()
|
| 176 |
+
& wcdma_adjl_df["WCEL"].notna()
|
| 177 |
+
].reset_index(drop=True)
|
| 178 |
+
|
| 179 |
+
# Build IDs and bands
|
| 180 |
+
wcdma_adjl_df["ID_WCEL"] = (
|
| 181 |
+
wcdma_adjl_df[["RNC", "WBTS", "WCEL"]].astype(str).agg("_".join, axis=1)
|
| 182 |
+
)
|
| 183 |
+
wcdma_adjl_df["ID_WCEL"] = wcdma_adjl_df["ID_WCEL"].str.replace(
|
| 184 |
+
".0", "", regex=False
|
| 185 |
+
)
|
| 186 |
+
wcdma_adjl_df["adjl_band"] = wcdma_adjl_df["AdjLEARFCN"].map(UtilsVars.lte_band)
|
| 187 |
+
|
| 188 |
+
# Merge WCEL info
|
| 189 |
+
wcdma_adjl_df = pd.merge(wcdma_adjl_df, df_wcel, on="ID_WCEL", how="left")
|
| 190 |
+
|
| 191 |
+
# Aggregate ADJL band info
|
| 192 |
+
wcdma_adjl_df_band = adjl_band(wcdma_adjl_df, "ID_WCEL", "adjl_band")
|
| 193 |
+
wcdma_adjl_df = pd.merge(
|
| 194 |
+
wcdma_adjl_df, wcdma_adjl_df_band, on="ID_WCEL", how="left"
|
| 195 |
+
)
|
| 196 |
+
|
| 197 |
+
# Build Code_Sector_band
|
| 198 |
+
wcdma_adjl_df["Code_Sector_band"] = (
|
| 199 |
+
wcdma_adjl_df[["Code_Sector", "adjl_band"]].astype(str).agg("_".join, axis=1)
|
| 200 |
+
)
|
| 201 |
+
|
| 202 |
+
# Merge LTE references
|
| 203 |
+
wcdma_adjl_df = wcdma_adjl_df.merge(lte_df_config, on="Code_Sector", how="left")
|
| 204 |
+
|
| 205 |
+
# Validations
|
| 206 |
+
wcdma_adjl_df["check_bands"] = wcdma_adjl_df.apply(check_bands, axis=1)
|
| 207 |
+
wcdma_adjl_df["missing_bands"] = wcdma_adjl_df.apply(missing_bands, axis=1)
|
| 208 |
+
|
| 209 |
+
# Mark existing WCEL
|
| 210 |
+
df_wcel["adjl_exists"] = df_wcel["ID_WCEL"].isin(wcdma_adjl_df["ID_WCEL"])
|
| 211 |
|
| 212 |
return [gsm_adjl_df, wcdma_adjl_df, df_bts, df_wcel, lte_df]
|
| 213 |
|