Landing configurations
A visualisation attempt at showing which landing configurations are the most commonly used at Zurich airport. The analysis uses one of the datasets made available in the traffic library.
flight_id | stop | ILS_max | |
---|---|---|---|
1923 | SWR177_15809_0 | 2019-10-01 04:05:11+00:00 | 34 |
1635 | SWR139_15706_0 | 2019-10-01 04:07:24+00:00 | 34 |
2284 | SWR296_13638_0 | 2019-10-01 04:09:53+00:00 | 34 |
2518 | SWR55K_13535_0 | 2019-10-01 04:11:41+00:00 | 34 |
1763 | SWR155_13346_0 | 2019-10-01 04:13:31+00:00 | 34 |
... | ... | ... | ... |
3031 | TAP928_5353_0 | 2019-10-09 20:40:28+00:00 | 28 |
2319 | SWR339_14452_0 | 2019-10-09 20:43:40+00:00 | 28 |
501 | EDW201_8113_0 | 2019-10-09 20:47:33+00:00 | 28 |
2392 | SWR40C_17396_0 | 2019-10-09 20:56:33+00:00 | 28 |
578 | EDW399D_14044_0 | 2019-10-09 21:08:48+00:00 | 28 |
3196 rows × 3 columns
from traffic.data.datasets import landing_zurich_2019
import altair as alt
stats = (
landing_zurich_2019.before("2019-10-10 00:00Z")
.all("aligned_on_ils('LSZH')", flight_id="{self.flight_id}_{i}")
.eval()
.summary(["flight_id", "stop", "ILS_max"])
.eval()
.sort_values("stop")
)
chart = (
alt.Chart(stats)
.encode(
alt.X("utchours(stop)", title=""),
alt.Y("ILS_max", title=""),
alt.Row("utcmonthdate(stop)", title=""),
alt.Color("ILS_max", legend=None),
alt.Size("count()", scale=alt.Scale(type="symlog"), title="Number of landings"),
)
.mark_circle()
.properties(width=600, height=50)
.configure_legend(orient="bottom")
.configure_header(
labelOrient="top", labelAnchor="start", labelFontWeight="bold", labelFontSize=12
)
.resolve_scale(x="independent", y="independent")
)
display(chart)
display(stats)