<p>Unmanned Aircraft System (UAS)</p>

<h3>Contents</h3>
<ul>
<li><a href="#map">Map</a>
<ul>
<li><a href="#map_geojson">GeoJSON</a></li>
</ul>
</li>
<li><a href="#dji_fpv">DJI FPV</a>
<ul>
<li><a href="#dji_fpv_srt">SRT files</a></li>
</ul>
</li>
<li><a href="#tello">Tello</a>
<ul>
<li><a href="#tello_sdk">SDK</a></li>
</ul>
</li>
<li><a href="#links">External Links</a></li>
</ul>

<h3 id="map">Map</h3>
<p>
Here is a map to find safe flight locations for drones, model airplanes<br />
and other unmanned aerial vehicles (UAVs) in Austria:
</p>
<p>
<a href="./model_flying_fields_austria.html" target="_blank">
Model Flying Fields in Austria</a>
</p>

<h4 id="map_geojson">GeoJSON</h4>
<p>
This map loads the data from the following GeoJSON files:
</p>
<dl>

<dt><a href="./OeAeC_MOD_001-i16a_modellflugplaetze.geojson" target="_blank">
OeAeC_MOD_001-i16a_modellflugplaetze.geojson</a></dt>
<dd>Data source: <a href="https://www.austrocontrol.at/jart/prj3/ac/data/uploads/OeAeC_MOD_001-i16a_modellflugplaetze.pdf" target="_blank">
OeAeC_MOD_001-i16a_modellflugplaetze.pdf</a></dd>

<dt><a href="./austrocontrol_zones.geojson" target="_blank">
austrocontrol_zones.geojson</a></dt>
<dd>Data source: <a href="https://utm.dronespace.at/avm/" target="_blank">
https://utm.dronespace.at/avm/</a></dd>

<dt><a href="./dji_geozones_at.geojson" target="_blank">
dji_geozones_at.geojson</a></dt>
<dd>Data source: <a href="https://fly-safe.dji.com/nfz/nfz-query" target="_blank">
https://fly-safe.dji.com/nfz/nfz-query</a></dd>

</dl>


<h3 id="dji_fpv">DJI FPV</h3>

<h4 id="dji_fpv_srt">SRT files</h4>

<p>The DJI FPV drone records SRT files to track GPS coordinates and other<br />
information during a flight.</p>

<p><a href="./dji_fpv_srt_telemetry.py" target="_blank">
dji_fpv_srt_telemetry.py</a></p>
<p>This Python script reads the recorded SRT file and calculates height,<br />
vertical speed, horizontal speed and direction. The output is written as<br />
a subtitle file (WebVTT, SRT) that can be used as an overlay for videos:</p>
<figure>
<img src="./dji_fpv_srt_telemetry.jpg" alt="DJI FPV SRT Telemetry"
  width="480" height="135" />
</figure>

<p><a href="./dji_fpv_srt_geojson.py" target="_blank">
dji_fpv_srt_geojson.py</a></p>
<p>This Python script reads the SRT file and writes the recorded flight track<br />
as GeoJSON LineString that can be used as an overlay for maps:</p>
<figure>
<img src="./dji_fpv_srt_geojson.jpg" alt="DJI FPV SRT GeoJSON"
  width="480" height="270" />
</figure>


<h3 id="tello">Tello</h3>

<h4 id="tello_sdk">SDK</h4>

<p>The Tello drone provides an API to control the drone, to receive the stream<br />
from the camera, and to receive status information.</p>

<p><a href="./tello_rc.py" target="_blank">
tello_rc.py</a></p>
<p>This Python script shows the video stream of the drone's camera on screen<br />
and allows you to control the drone via keyboard and/or gamepad:</p>
<figure>
<img src="./tello_rc.jpg" alt="Tello RC"
  width="640" height="480" />
</figure>


<h3 id="links">External Links</h3>
<ul>
<li><a href="https://leafletjs.com/" target="_blank">
https://leafletjs.com/</a></li>
<li><a href="https://geojson.org/" target="_blank">
https://geojson.org/</a></li>
<li><a href="https://www.dji.com/dji-fpv" target="_blank">
https://www.dji.com/dji-fpv</a></li>
<li><a href="https://www.ryzerobotics.com/tello" target="_blank">
https://www.ryzerobotics.com/tello</a></li>
</ul>