|
import numpy as np |
|
import pandas as pd |
|
|
|
|
|
def get_physical_db(): |
|
""" |
|
Reads the physical_database.csv file from the physical_db directory and |
|
returns a pandas DataFrame containing only the columns 'Code_Sector', |
|
'Azimut', 'Longitude', 'Latitude', and 'Hauteur'. |
|
|
|
Returns: |
|
pd.DataFrame: A DataFrame containing the filtered columns. |
|
""" |
|
physical = pd.read_csv(r"physical_db\physical_database.csv") |
|
physical = physical[["Code_Sector", "Azimut", "Longitude", "Latitude", "Hauteur"]] |
|
return physical |
|
|
|
|
|
class UtilsVars: |
|
sector_mapping = {4: 1, 5: 2, 6: 3, 11: 1, 12: 2, 13: 3} |
|
channeltype_mapping = {4: "BCCH", 3: "TCH"} |
|
final_lte_database = "" |
|
final_gsm_database = "" |
|
final_wcdma_database = "" |
|
physisal_db = get_physical_db() |
|
|
|
|
|
|
|
|
|
|
|
def get_band(text): |
|
""" |
|
Extract the band from the given string. |
|
|
|
Parameters |
|
---------- |
|
text : str |
|
The string to extract the band from. |
|
|
|
Returns |
|
------- |
|
str or np.nan |
|
The extracted band, or NaN if the text was not a string or did not contain |
|
any of the recognized bands (L1800, L2300, L800). |
|
""" |
|
if isinstance(text, str): |
|
if "L1800" in text: |
|
return "L1800" |
|
elif "L2300" in text: |
|
return "L2300" |
|
elif "L800" in text: |
|
return "L800" |
|
return np.nan |
|
|