File size: 1,439 Bytes
939b332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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()


# print(UtilsVars.physisal_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):  # Check if text is a string
        if "L1800" in text:
            return "L1800"
        elif "L2300" in text:
            return "L2300"
        elif "L800" in text:
            return "L800"
    return np.nan  # or return None