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 |
|