[general]
name=FlyPath
qgisMinimumVersion=3.16
qgisMaximumVersion=4.99
description=Generate DJI WPML KMZ mission files for 2D and corridor drone mapping directly from QGIS
version=2.0.0
changelog=2.0.0 - New Corridor Mapping mission type for linear features (roads, pipelines,
    rivers, power lines). Draw, select or edit a centre line, set a Buffer (the half-width covered
    each side), and FlyPath adds parallel passes automatically to cover it at the chosen altitude
    and side overlap, following the line's curves and corners. Waypoints come straight from the
    line for even coverage: one at every vertex in semi-automatic (the camera interval-captures
    between them) and one per photo in full-automatic. Split the corridor into flights by line:
    Min Flights divides it into contiguous stretches, and Set Mission Breaks lets you click
    centre-line vertices (with snap-to-vertex) to force exact mission boundaries, while the Max
    Waypoints cap still keeps every mission valid. Terrain follow works with corridors too. An
    illustrative buffered-corridor overlay shows the mapped area. Corridor mapping is nadir only,
    like 2D mapping. Everything behaves identically on QGIS 3 (Qt5) and QGIS 4 (Qt6).
    1.7.1 - Fixed a crash when the survey area came from a layer whose features are
    stored as MultiPolygon (the common case for Shapefiles and GeoPackages): FlyPath now reads
    Polygon and MultiPolygon geometries the same way, so grids generate correctly. Multi-part
    areas (several disjoint pieces in one feature) are now fully covered in a single mission, and
    polygons with holes have the holes skipped. The Feature selector no longer looks empty: it
    always lists the chosen layer's features, automatically selecting the only one when a layer
    has a single feature, and showing a clear "none" entry when a layer has no features. These
    fixes behave identically on QGIS 3 (Qt5) and QGIS 4 (Qt6).
    1.7.0 - New Terrain follow option (optional): the drone holds a constant height above
    the ground by varying each waypoint's height, using free global elevation data (AWS Terrarium
    DEM, no API key). Elevation tiles are fetched into memory only and never written to disk. In
    full-automatic mode every photo waypoint is sampled; in semi-automatic mode a Terrain Tolerance
    field adds waypoints along the flight lines wherever the ground rises or falls beyond the set
    threshold. It follows bare-earth terrain (not trees or buildings), so keep a safe margin, and it
    needs an internet connection while planning. Waypoint markers are now labelled with their number,
    and with terrain follow on each waypoint carries two attributes in its table: the ground
    elevation and the flight height above the launch point. Also fixed: removing a survey area while
    it was still in edit mode used to ask whether to save or discard the edits; it is now removed
    silently.
    1.6.2 - Added four more consumer drones: DJI Air 3, Air 3S, Mavic 3 Classic (the
    single-camera model of the Mavic 3 family) and Mavic 4 Pro. They use the shared DJI Fly waypoint
    enum verified on the Mini 4 Pro and Mini 5 Pro; please open an issue if a mission is rejected by
    DJI Fly on one of these models so a model-specific value can be set. The Air and Mavic 4 are
    multi-camera, so select the wide/main lens for mapping; the Mavic 3 Classic pairs with a DJI RC /
    RC-N1 / RC Pro rather than the RC2, so use Save to computer if the direct RC transfer does not
    detect it. The on-map Mission Stats card is larger, titled "Mission Stats", and now shows the
    total waypoint count alongside photos.
    1.6.0 - New Full-automatic 2D mapping mode: places a waypoint at every photo and the
    drone captures automatically (stop-and-shoot), so no manual interval capture is needed; the
    flight-time and battery estimates account for the per-photo stops. Mission Type is
    now 2D Mapping with a Semi / Full capture switch. Straighter flight lines: the drone flies
    straight legs and stops cleanly at each waypoint instead of bowing at the turnarounds (thanks to
    community contributor CallumGreenwald). Flight statistics moved to a compact card overlaid on the
    map, shown next to the flight lines. Panel cleanup: overlap read-outs grouped under Side Overlap
    in Flight Parameters, split and cross-hatch grouped under Adv. Mission Organizers, and the
    constant Camera Settings section was removed. The Max Waypoints per-mission cap now applies in
    both modes, and Split Missions is treated as a minimum the cap can raise.
    1.5.1 - Fixed flight lines crossing outside concave survey areas: a scan line through
    a concave shape used to fly straight across the excluded gap between its pieces. The planner
    now decomposes the area into contiguous strips and snakes each on its own, so passes stay
    inside the survey area. New optional Cross-hatch option flies the grid again perpendicular to
    the flight direction, for better 3D reconstruction and LiDAR point clouds. A new Mission Type
    selector in Mission Setup (currently Semi-automatic 2D mapping) sets the stage for more mission
    types. Internal: drone specifications moved to a single validated registry, and the mission
    writer is now a factory split by drone category (foundation for future drones).
    1.5.0 - Split a large survey into multiple missions, one per battery. A new Split
    Missions field defaults to the estimated number of batteries and can be set to any value; the
    map preview draws each mission in its own colour and Save to computer writes one KMZ per
    mission. Consecutive missions share a seam waypoint, so each one begins where the previous
    ended. Send to DJI RC gains a Mission part picker to choose which split mission fills the
    selected RC slot. Battery estimates now plan against a 30 percent reserve, so usable time per
    battery is 70 percent of the drone's rated endurance, leaving margin for wind, turnarounds and a
    safe return. The panel width is now fixed so it can no longer be dragged wider or narrower.
    Fixed the polygon draw tool leaving the crosshair cursor active after a polygon was finished or
    removed.
    1.4.2 - You can now edit a drawn survey polygon after drawing it. A new Edit button
    turns on vertex editing so you can drag, add or remove vertices, and the area and statistics
    update as you go. Click Finish Editing to commit the new shape.
    1.4.1 - New editable GSD (ground sample distance) field that stays in sync with flight
    altitude, so you can plan by target resolution. Auto flight direction now picks the orientation
    that minimises flight time for your survey shape. Statistics (distance, flight time, lines,
    photos) are measured from the real generated flight path, including the turnaround edges. The
    map preview now updates live as you change parameters, so the drawn route always matches the
    numbers. Hardened the internal PowerShell process and exception handling to pass the plugin
    repository security scan, and made all Qt and QGIS enum access fully scoped for Qt6
    compatibility, with no change to behaviour.
    1.3.0 - Live mission preview in the RC picker: each mission is drawn from its own
    waypoints and labelled with its waypoint count, with a zoomable viewer, so you can see which
    mission to replace before sending; the list and preview now refresh instantly after a replace.
    Redesigned panel layout for a cleaner, more efficient UI. Fixed the Draw Polygon button state.
    1.2.0 - Redesigned export panel: Destination selector (Save to computer / Send to DJI RC),
    RC mission picker that auto-detects the controller (with a manual folder fallback) and lists
    only the missions DJI Fly tracks, replace-only guidance, and a silent transfer (no console window).
author=Salar Ghaffarian
email=salar@dronnix.com

about=FlyPath is a QGIS plugin for planning autonomous drone mapping missions and exporting
    them as native DJI WPML KMZ files, loadable directly in the DJI Fly app.
    Supported drones: DJI Mini 3 Pro, Mini 4 Pro, Mini 5 Pro (community-verified),
    plus Air 3, Air 3S, Mavic 3 Classic and Mavic 4 Pro (field-test reports wanted).
    Plan a 2D grid over a survey polygon, or a corridor along a centre line for
    linear features such as roads, pipelines and rivers. Draw your survey area on
    the map, set flight altitude and overlap, preview the flight path, and export
    a ready-to-fly mission file. Choose semi-automatic capture (you set interval
    capture before takeoff) or full-automatic capture (a waypoint per photo with
    automatic shooting). An optional terrain follow mode holds a constant height
    above ground from free global elevation data. Flight lines fly straight and
    stay inside irregular (L, U, notched) areas, an optional cross-hatch adds a
    perpendicular pass for 3D and LiDAR, and large surveys can be split into
    several missions, one per battery.

tracker=https://github.com/dronnix-io/FlyPath/issues
repository=https://github.com/dronnix-io/FlyPath

tags=drone, UAV, mapping, orthomosaic, DJI, mission planning, WPML, KMZ

homepage=https://github.com/dronnix-io/FlyPath
category=Plugins
icon=icon.png
experimental=False
deprecated=False
supportsQt6=True
