Adding Distance to all neighbors
Browse files- queries/process_neighbors.py +42 -4
queries/process_neighbors.py
CHANGED
|
@@ -2,6 +2,7 @@ import pandas as pd
|
|
| 2 |
from geopy.distance import geodesic
|
| 3 |
|
| 4 |
from queries.process_gsm import process_gsm_data
|
|
|
|
| 5 |
from utils.convert_to_excel import convert_dfs, save_dataframe
|
| 6 |
from utils.utils_vars import UtilsVars
|
| 7 |
|
|
@@ -31,11 +32,15 @@ BTS_TARGET = [
|
|
| 31 |
WCEL_SOURCE = [
|
| 32 |
"ID_WCEL",
|
| 33 |
"name",
|
|
|
|
|
|
|
| 34 |
]
|
| 35 |
|
| 36 |
WCEL_TARGET = [
|
| 37 |
"lac_id",
|
| 38 |
"name",
|
|
|
|
|
|
|
| 39 |
]
|
| 40 |
|
| 41 |
|
|
@@ -132,7 +137,7 @@ def process_neighbors_data(file_path: str):
|
|
| 132 |
df_adce_final = check_symmetry(df_adce_final)
|
| 133 |
|
| 134 |
# create distance column
|
| 135 |
-
df_adce_final["
|
| 136 |
lambda row: geodesic(
|
| 137 |
(row["SOURCE_Latitude"], row["SOURCE_Longitude"]),
|
| 138 |
(row["TARGET_Latitude"], row["TARGET_Longitude"]),
|
|
@@ -153,13 +158,13 @@ def process_neighbors_data(file_path: str):
|
|
| 153 |
df_adjs = df_adjs[ADJS_INITIAL_COLUMNS]
|
| 154 |
|
| 155 |
# process WCEL DATA
|
| 156 |
-
df_wcel =
|
| 157 |
-
|
| 158 |
df_wcel["ID_WCEL"] = (
|
| 159 |
df_wcel[["RNC", "WBTS", "WCEL"]].astype(str).apply("_".join, axis=1)
|
| 160 |
)
|
| 161 |
df_wcel["lac_id"] = df_wcel[["LAC", "CId"]].astype(str).apply("_".join, axis=1)
|
| 162 |
-
df_wcel = df_wcel[["ID_WCEL", "lac_id", "name"]]
|
| 163 |
|
| 164 |
df_wcel_source = df_wcel[WCEL_SOURCE]
|
| 165 |
df_wcel_source.rename(columns={"name": "SOURCE_NAME"}, inplace=True)
|
|
@@ -176,6 +181,14 @@ def process_neighbors_data(file_path: str):
|
|
| 176 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 177 |
)
|
| 178 |
df_adjs_final = check_symmetry(df_adjs_final)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
# process ADJI DATA
|
| 181 |
df_adji = dfs["ADJI"]
|
|
@@ -197,6 +210,14 @@ def process_neighbors_data(file_path: str):
|
|
| 197 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 198 |
)
|
| 199 |
df_adji_final = check_symmetry(df_adji_final)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 200 |
|
| 201 |
# process ADJG DATA
|
| 202 |
df_adjg = dfs["ADJG"]
|
|
@@ -217,6 +238,14 @@ def process_neighbors_data(file_path: str):
|
|
| 217 |
df_adjg_final.rename(
|
| 218 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 219 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 220 |
|
| 221 |
# process ADJW DATA
|
| 222 |
df_adjw = dfs["ADJW"]
|
|
@@ -235,6 +264,15 @@ def process_neighbors_data(file_path: str):
|
|
| 235 |
df_adjw_final.rename(
|
| 236 |
columns={"ID_BTS": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 237 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 238 |
|
| 239 |
# save_dataframe(df_adjw_final, "ADJW")
|
| 240 |
|
|
|
|
| 2 |
from geopy.distance import geodesic
|
| 3 |
|
| 4 |
from queries.process_gsm import process_gsm_data
|
| 5 |
+
from queries.process_wcdma import process_wcdma_data
|
| 6 |
from utils.convert_to_excel import convert_dfs, save_dataframe
|
| 7 |
from utils.utils_vars import UtilsVars
|
| 8 |
|
|
|
|
| 32 |
WCEL_SOURCE = [
|
| 33 |
"ID_WCEL",
|
| 34 |
"name",
|
| 35 |
+
"Longitude",
|
| 36 |
+
"Latitude",
|
| 37 |
]
|
| 38 |
|
| 39 |
WCEL_TARGET = [
|
| 40 |
"lac_id",
|
| 41 |
"name",
|
| 42 |
+
"Longitude",
|
| 43 |
+
"Latitude",
|
| 44 |
]
|
| 45 |
|
| 46 |
|
|
|
|
| 137 |
df_adce_final = check_symmetry(df_adce_final)
|
| 138 |
|
| 139 |
# create distance column
|
| 140 |
+
df_adce_final["distance_km"] = df_adce_final.apply(
|
| 141 |
lambda row: geodesic(
|
| 142 |
(row["SOURCE_Latitude"], row["SOURCE_Longitude"]),
|
| 143 |
(row["TARGET_Latitude"], row["TARGET_Longitude"]),
|
|
|
|
| 158 |
df_adjs = df_adjs[ADJS_INITIAL_COLUMNS]
|
| 159 |
|
| 160 |
# process WCEL DATA
|
| 161 |
+
df_wcel = process_wcdma_data(file_path)
|
| 162 |
+
|
| 163 |
df_wcel["ID_WCEL"] = (
|
| 164 |
df_wcel[["RNC", "WBTS", "WCEL"]].astype(str).apply("_".join, axis=1)
|
| 165 |
)
|
| 166 |
df_wcel["lac_id"] = df_wcel[["LAC", "CId"]].astype(str).apply("_".join, axis=1)
|
| 167 |
+
df_wcel = df_wcel[["ID_WCEL", "lac_id", "name", "Longitude", "Latitude"]]
|
| 168 |
|
| 169 |
df_wcel_source = df_wcel[WCEL_SOURCE]
|
| 170 |
df_wcel_source.rename(columns={"name": "SOURCE_NAME"}, inplace=True)
|
|
|
|
| 181 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 182 |
)
|
| 183 |
df_adjs_final = check_symmetry(df_adjs_final)
|
| 184 |
+
# create distance column
|
| 185 |
+
df_adjs_final["distance_km"] = df_adjs_final.apply(
|
| 186 |
+
lambda row: geodesic(
|
| 187 |
+
(row["Latitude_x"], row["Longitude_x"]),
|
| 188 |
+
(row["Latitude_y"], row["Longitude_y"]),
|
| 189 |
+
).kilometers,
|
| 190 |
+
axis=1,
|
| 191 |
+
)
|
| 192 |
|
| 193 |
# process ADJI DATA
|
| 194 |
df_adji = dfs["ADJI"]
|
|
|
|
| 210 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 211 |
)
|
| 212 |
df_adji_final = check_symmetry(df_adji_final)
|
| 213 |
+
# create distance column
|
| 214 |
+
df_adji_final["distance_km"] = df_adji_final.apply(
|
| 215 |
+
lambda row: geodesic(
|
| 216 |
+
(row["Latitude_x"], row["Longitude_x"]),
|
| 217 |
+
(row["Latitude_y"], row["Longitude_y"]),
|
| 218 |
+
).kilometers,
|
| 219 |
+
axis=1,
|
| 220 |
+
)
|
| 221 |
|
| 222 |
# process ADJG DATA
|
| 223 |
df_adjg = dfs["ADJG"]
|
|
|
|
| 238 |
df_adjg_final.rename(
|
| 239 |
columns={"ID_WCEL": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 240 |
)
|
| 241 |
+
# create distance column
|
| 242 |
+
df_adjg_final["distance_km"] = df_adjg_final.apply(
|
| 243 |
+
lambda row: geodesic(
|
| 244 |
+
(row["Latitude_x"], row["Longitude_x"]),
|
| 245 |
+
(row["Latitude_y"], row["Longitude_y"]),
|
| 246 |
+
).kilometers,
|
| 247 |
+
axis=1,
|
| 248 |
+
)
|
| 249 |
|
| 250 |
# process ADJW DATA
|
| 251 |
df_adjw = dfs["ADJW"]
|
|
|
|
| 264 |
df_adjw_final.rename(
|
| 265 |
columns={"ID_BTS": "SOURCE_ID", "lac_id": "TARGET_LAC_ID"}, inplace=True
|
| 266 |
)
|
| 267 |
+
df_adjw_final = check_symmetry(df_adjw_final)
|
| 268 |
+
# create distance column
|
| 269 |
+
df_adjw_final["distance_km"] = df_adjw_final.apply(
|
| 270 |
+
lambda row: geodesic(
|
| 271 |
+
(row["Latitude_x"], row["Longitude_x"]),
|
| 272 |
+
(row["Latitude_y"], row["Longitude_y"]),
|
| 273 |
+
).kilometers,
|
| 274 |
+
axis=1,
|
| 275 |
+
)
|
| 276 |
|
| 277 |
# save_dataframe(df_adjw_final, "ADJW")
|
| 278 |
|