Satellite Channel Modelling

This example uses the frequency domain lyceanem.models.frequency_domain.calculate_scattering() function to predict the scattering parameters for the frequency and environment included in the model. This allows the effects of antenna polarisation,

GeoJSON

The Folium plugin TimestampedGeoJson will be used to plot our tracks using timestamped GeoJSONs. As a result, we want to convert our data into GeoJSON format. Firstly, we create our feature collection which we will append our features to.

geo_features = list()
geo_json = {
    "type": "FeatureCollection",
    "features": geo_features,
}

Plotting Tracks of Satellites visible to Physics Observatory

Now we append our tracks to our feature collection list. We define colour_iter which will allow us to cycle through different colours when mapping our tracks.

from collections import defaultdict
from itertools import cycle

colour_iter = iter(
    cycle(
        [
            "red",
            "blue",
            "green",
            "purple",
            "orange",
            "darkred",
            "#0909FF",
            "#F70D1A",
            "#FF6700",
            "lightgreen",
            "#0AFFFF",
            "#12AD2B",
            "#E2F516",
            "#FFFF00",
            "#F52887",
        ]
    )
)
colour = defaultdict(lambda: next(colour_iter))

trail_Size = 7  # trail_Size is the number of timestamps we want track to trail for
from io import BytesIO
import base64

The Results

TimestampedGeoJson(
    data=geo_json,
    transition_time=200,
    auto_play=True,
    add_last_point=False,
    period="PT1S",
    duration="PT0S",
).add_to(m)
m.show_in_browser()

Total running time of the script: ( 0 minutes 0.000 seconds)

Gallery generated by Sphinx-Gallery