FlyPath: Open-source QGIS-plugin voor het plannen van drone-mappingmissies

Met FlyPath kunt u uw surveygebied direct op de kaart definiëren, vluchtparameters configureren, het pad voorvertonen en een missiebestand exporteren dat klaar is voor gebruik in de DJI Fly-app. De plugin is ontwikkeld en wordt onderhouden door Dronnix, een bedrijf gespecialiseerd in drone-mapping en geospatiale AI.

Belangrijkste kenmerken

  • Definiëren van surveygebieden: Teken het surveygebied direct op het QGIS-kaartcanvas met een native polygoontekeningstool of importeer een gebied vanuit een bestaande polygoonlaag of actieve QGIS-selectie.
  • Configureerbare vluchtparameters: Stel de vlieghoogte, snelheid, gimbalhoek, foto-interval, zijdelingse overlap (side overlap) en vliegrichting in.
  • Planning van overlap:
  • Het parameter Photo Interval dient als referentie voor het plannen van de overlap in de vliegrichting (along-track overlap), zodat u de auto-interval capture-modus van de drone handmatig kunt instellen voor de vlucht.
  • De berekende frontale overlap wordt weergegeven, inclusief waarschuwingen bij een te lage overlap.
  • Optimalisatie: Automatisch geoptimaliseerde vliegrichting om de vliegtijd voor de specifieke vorm van het surveygebied te minimaliseren.
  • Concaaf-bewuste vlieglijnen: Vlieglijnen blijven binnen onregelmatige (L-, U- of inkepingen) surveygebieden in plaats van door uitgesloten gaten te kruisen.
  • Optionele cross-hatch: Mogelijkheid om het raster loodrecht op de vliegrichting opnieuw te vliegen voor een betere 3D-reconstructie en stabiliteit van LiDAR-puntenwolken.
  • GSD-integratie: Bewerkbare GSD (Ground Sampling Distance) die tweezijdig gekoppeld is aan de hoogte, zodat u kunt plannen op basis van de gewenste resolutie. De effectieve foto-afstand wordt gesynchroniseerd met het drone-model, de snelheid en het interval.
  • Live kaartvoorbeeld: Het vliegpad wordt direct opnieuw getekend bij het wijzigen van parameters.
  • Vluchtstatistieken: Metingen op basis van het daadwerkelijk gegenereerde pad (inclusief bochten), waaronder: oppervlakte, padafstand, aantal waypoints, aantal foto's, geschatte batterijen en vliegtijd. Batterijschattingen gaan uit van een reserve van 30% (bruikbare tijd is 70% van de nominale duur).
  • Splitsen van missies over meerdere batterijen: Grote surveys kunnen worden verdeeld in meerdere missies (één per batterij). Elke missie krijgt een eigen kleur op de kaart en wordt als een apart KMZ-bestand opgeslagen. Opeenvolgende missies delen een naad-waypoint, zodat elke missie precies begint waar de vorige eindigde.
  • Veiligheidsacties: Configureerbare acties voor het beëindigen van de vlucht (Finish action) en bij verlies van verbinding met de RC (RC lost action).
  • Exportmogelijkheden:
  • Exporteert native DJI WPML KMZ, compatibel met DJI Fly op de DJI RC2.
  • Directe RC-export: Automatische detectie van de aangesloten DJI RC (via USB of als verwijderbare schijf). De plugin vervangt een bestaande missie direct over USB zonder pop-upvensters.
  • Voorvertoning in de RC-picker: Elke missie op de RC wordt weergegeven als een live thumbnail van het vliegpad met het aantal waypoints, zodat u precies ziet welke missie u vervangt.
  • Lokale export: Opslaan van gedateerde .kmz-bestanden in een gekozen map op de computer.
  • Interface: Contextuele informatiebalk (hover over parameters voor uitleg) en een donker thema dock-paneel dat aansluit bij de QGIS-interface.

Systeemvereisten

VereisteDetails
BesturingssysteemWindows 10 / 11
QGISVersie 3.16 of later (4.x ondersteund)
Python3.9+ (geleverd bij QGIS)
DroneDJI Mini 3 Pro, Mini 4 Pro, of Mini 5 Pro
ControllerDJI RC2 (voor directe USB-export)

Opmerking: Ondersteuning voor Linux en macOS is gepland voor een toekomstige release.

Installatie

Optie A - QGIS Plugin Manager (aanbevolen)

  1. Ga in QGIS naar Plugins > Manage and Install Plugins.
  2. Zoek naar FlyPath en klik op Install Plugin.

Optie B - Installeren via ZIP

  1. Download de nieuwste FlyPath.zip van de Releases-pagina.
  2. Ga in QGIS naar Plugins > Manage and Install Plugins > Install from ZIP.
  3. Selecteer het gedownloade ZIP-bestand en klik op Install Plugin.

Optie C - Bouwen vanuit broncode

  1. Voer uit: git clone https://github.com/dronnix-io/FlyPath.git
  2. Kopieer de FlyPath-map naar uw QGIS-plugins directory:
  • Windows: C:\Users\<gebruiker>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\
  1. Activeer de plugin in QGIS via Plugins > Manage and Install Plugins > Installed > FlyPath.

De plugin starten: Open FlyPath via Plugins > FlyPath > FlyPath of klik op het FlyPath-icoon in de QGIS-toolbar. De plugin opent als een dock-paneel aan de rechterkant.

Werkwijze

Stap 1 - Het surveygebied definiëren

Er zijn drie manieren om uw surveypolygoon te definiëren:

  1. Draw on Map: Activeer de tekentool, klik links voor hoekpunten en rechts om te voltooien. (Backspace verwijdert het laatste punt, Escape annuleert).
  2. Layer / Feature: Selecteer een polygoonlaag of feature die al in QGIS is geladen.
  3. Use QGIS Selection: Selecteer een polygoon op het canvas met de native selectietools van QGIS en klik op Use QGIS Selection.

Stap 2 - Vluchtparameters configureren

Vluchtparameters

ParameterBeschrijving
Drone ModelBepaalt cameragegevens voor GSD- en afstandsberekeningen
AltitudeVlieghoogte boven het grondniveau (AGL) in meters
GSDDoelresolutie in cm/px; bewerkbaar en gekoppeld aan hoogte
Side OverlapOverlap tussen vlieglijnen (bepaalt de afstand tussen lijnen)
SpeedVliegsnelheid per waypoint in m/s (max. varieert per model)
DirectionHoek van de vlieglijnen, of gebruik Auto om vliegtijd te minimaliseren
MarginBuffer in meters rondom de rand van het surveypolygoon
Split MissionsAantal missies waaraan de survey wordt verdeeld (één per batterij)
Cross-hatchOptioneel; vliegt het raster dubbel (loodrecht op de hoofdrichting)

Camerainstellingen

ParameterBeschrijving
Gimbal AngleCamerikanteling: -90 graden is recht naar beneden (nadir) voor 2D-mapping
Photo IntervalTijd tussen foto's in seconden (minimaal 2 s bij 12 MP JPEG)
Shot SpacingBerekend: snelheid x interval in meters
Front OverlapBerekend: effectieve frontale overlap in percentage (wordt rood als deze te laag is)

Belangrijk - Fototrigging op DJI Mini 3 Pro, Mini 4 Pro en Mini 5 Pro: Consumentendrones van DJI ondersteunen geen WPML-gebaseerde automatische camera-triggering. Schakel vóór de vlucht handmatig de auto interval capture modus in op de drone en stel deze in op de waarde die bij Photo Interval in FlyPath staat.

Veiligheidsacties

ParameterBeschrijving
Finish ActionActie na het laatste waypoint (Return to Home / Hover / Land)
RC Lost ActionActie bij verlies van RC-signaal (Return to Home / Hover / Land / Continue)

Stap 3 - Voorvertoning op de kaart

Klik op Preview on Map om het vliegrasmiet te genereren:

  • Donkerroze polygoon: Grens van het surveygebied.
  • Felgele lijnen: Vliegpad dat alle waypoints verbindt.
  • Felgele cirkels: Tussen-waypoints.
  • Rode gevulde cirkel: Start-waypoint.
  • Blauwe gevulde cirkel: Eind-waypoint.

Bij meerdere missies (Split Missions > 1) krijgt elke missie een eigen kleur en eigen start/eindmarkeringen. Statistieken worden live bijgewerkt op basis van het getekende pad.

Stap 4 - KMZ exporteren

Kies in de actiebalk de bestemming: Save to computer of Send to DJI RC.

Opslaan op computer

  1. Zet bestemming op Save to computer.
  2. Kies een map via Browse....
  3. Klik op Export KMZ. Bij meerdere missies worden bestanden genummerd als <naam>1of_N.kmz, etc.

Verzenden naar DJI RC

Vervangt een bestaande missie direct op de DJI RC via USB. Let op: FlyPath kan alleen een bestaande missie vervangen; het kan geen nieuwe "slots" aanmaken in de DJI Fly-app.

Voorwaarden:

  • Maak minimaal één waypointmissie aan in de DJI Fly-app op de RC (als placeholder).
  • Verbind de RC via USB met de PC en schakel bestandsoverdracht in.

Stappen:

  1. Zet bestemming op Send to DJI RC.
  2. Klik op Auto Detect RC. De plugin zoekt naar de controller via MTP of als verwijderbare schijf. Indien niet gevonden, gebruik dan Locate folder manually.
  3. Selecteer de missie die u wilt vervangen. Gebruik de visuele voorvertoning en het aantal waypoints om de juiste missie te identificeren.
  4. Bij meerdere missies verschijnt een Mission part picker; stuur elke sectie naar een apart RC-slot.
  5. Klik op Replace "..." on RC.
  6. Koppel de RC los, start DJI Fly opnieuw op om de update te zien.

Ondersteunde drones

DroneWaypoint SupportdroneEnumValueVerificatie
DJI Mini 3 ProJa97Community-geverifieerd
DJI Mini 4 ProJa68Geverifieerd via native RC2 mission dump
DJI Mini 5 ProJa68Community-geverifieerd

Opmerking: De standaard DJI Mini 3 ondersteunt geen waypointmissies en wordt daarom niet ondersteund door FlyPath.

Projectstructuur

FlyPath/
├── flypath.py            # Entry point van de QGIS plugin
├── flypath_dialog.py     # Hoofd-UI paneel en exportlogica
├── map_tools.py          # Interactieve tool voor polygoontekenen
├── grid_planner.py       # Generatie van vliegrasmiet en waypoints
├── wpml_writer.py        # DJI WPML KMZ bestandsschrijver
├── metadata.txt          # Metadata van de QGIS plugin
├── icon.png              # Plugin-icoon
├── icon.svg              # Bronbestand icoon
└── docs/
    └── images/           # Screenshots voor README

Bekende beperkingen

  • Getest en geverifieerd uitsluitend op Windows 10 / 11; Linux en macOS volgen in een toekomstige release.
  • Directe RC-export vereist een DJI RC2 via USB met minstens één bestaande missie.
  • De droneEnumValue (97) voor de DJI Mini 3 Pro is community-geverifieerd, niet bevestigd via een native missiebestand.
  • Alleen ondersteuning voor 2D-gridmissies; geen terrain following, 3D-facades of orbitmissies.
  • Missie-splitting verdeelt surveys in hele vlieglijngroepen; zorg dat er voldoende slots aanwezig zijn op de RC.

Bijdragen en Licentie

Bijdragen zijn welkom via forks en pull requests op GitHub. Bugrapporten en feature-verzoeken kunnen worden ingediend via de issue tracker.

Dit project is gelicentieerd onder de GNU General Public License v3.0.

Over Dronnix

Dronnix is een drone-mapping en geospatiale AI-onderneming gespecialiseerd in dataverzameling en analyse voor inspecties van zonnepanelen, landbouw, monitoring van stedelijke groei, voortgangsbewaking van bouwprojecten en grootschalige mappingmissies. FlyPath maakt deel uit van de open tooling layer van Dronnix om de drone-mapping community te ondersteunen.

Contact: salar@dronnix.com