File size: 1,966 Bytes
e81ad8d e36a82b e81ad8d e36a82b | 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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | import pandas as pd
from utils.kml_creator import (
generate_kml_from_df,
generate_site_kml_from_df,
kml_color_to_rgba,
sector_polygon_coordinates,
)
def test_generate_kml_from_df_formats_integer_like_site_codes_without_decimal():
df = pd.DataFrame(
[
{
"code": 694.0,
"name": "694_TEST",
"Longitude": -7.1,
"Latitude": 12.3,
"Azimut": 30,
"Hauteur": 40,
"band": "G900",
"color": "7fff0000",
"size": 100,
}
]
)
kml_text = generate_kml_from_df(df).getvalue().decode("utf-8")
assert "<name>694</name>" in kml_text
assert "<name>694.0</name>" not in kml_text
def test_sector_polygon_coordinates_closes_polygon():
row = {
"Longitude": -7.1,
"Latitude": 12.3,
"Azimut": 90,
"size": 100,
}
coords = sector_polygon_coordinates(row)
assert len(coords) == 22
assert coords[0] == (-7.1, 12.3)
assert coords[-1] == coords[0]
def test_kml_color_to_rgba_converts_aabbggrr():
assert kml_color_to_rgba("7f0000ff") == [255, 0, 0, 127]
assert kml_color_to_rgba("bad") == [31, 119, 180, 127]
def test_generate_site_kml_from_df_exports_site_points_and_metadata():
df = pd.DataFrame(
[
{
"site": "S001",
"lat": 12.3,
"lon": -7.1,
"region": "North",
}
]
)
icon_href = "http://maps.google.com/mapfiles/kml/shapes/star.png"
kml_text = (
generate_site_kml_from_df(df, "site", "lat", "lon", icon_href=icon_href)
.getvalue()
.decode("utf-8")
)
assert "<name>S001</name>" in kml_text
assert f"<href>{icon_href}</href>" in kml_text
assert "<b>region:</b> North<br>" in kml_text
assert "-7.1,12.3,0.0" in kml_text
|