How Omniris turns a drawn area into a flight your drone can fly, checks the plan against camera physics, terrain, no-fly zones, FAA airspace and the weather, and keeps a record of every check the pilot made before take-off.
A good survey starts before the drone leaves the ground. The pilot has to choose a height that gives the detail the client needs, space the photos so they overlap enough to be stitched, keep the aircraft out of places it must not go, and confirm that the airspace and the weather allow the flight at all. Omniris brings all of that into one place, next to the job the flight is for.
Omniris plans the flight; it does not fly the drone. The planner produces a mission file that the pilot imports into the aircraft's own app (DJI Pilot 2, DJI Fly, Litchi, QGroundControl and others) and flies from there. In the app's own words: "Omniris generates the mission; you fly it in your own app. Check the flight path on a map before you launch."
Pick the area on the job map, the aircraft and the camera. The flight lines, photo count, flight time and battery count appear at once and update as you change anything.
Overlap, ground detail, speed and motion blur are worked out from the real camera. The planner slows the drone when the camera cannot keep up and warns above 400 ft.
On hilly sites the planner can hold a steady height above the ground, using a worldwide terrain model or your own earlier survey.
Areas drawn on a job as no-fly are enforced. The route goes around them with a safety margin, and a mission planned before a zone was added cannot be exported until it is re-planned.
The whole route is checked against FAA airspace, including the floors of Class B, C, D and E. If authorization is needed, Omniris works out what to file and records what was granted.
Flyability scores every hour for up to 16 days against your aircraft's limits and finds the best window long enough for the job.
A Part 107 pre-flight checklist that cannot skip the regulatory items, saved with the job and frozen once complete. The mission file itself can be filed in the vault with custody.
flowchart LR A[Area on the
job or site map] --> B[Aircraft, camera,
pattern, height] B --> C[Live preview:
lines, photos,
time, warnings] C --> D[Save the mission] D --> E[Airspace check
and LAANC] D --> F[Export to the
aircraft app] E --> G[Pre-flight
checklist] F --> G G --> H[Fly, then log
the flight]
Every job has a Flight Missions card. The pilot assigned to the job opens the planner from it with Plan Mission. The job's client sees the same card read-only: they can open the plan that will be flown over their site and download a copy, but not change it. Missions can also be planned against a site in Site Manager, and while a job is still being created, before it is saved.
The planner opens on the areas already drawn on the job or site. Pick one from the list, or choose Draw / edit the area to draw a new shape or adjust an existing one on the map. The area can be any shape with three or more corners, including awkward, concave ones. A no-fly zone is never offered as an area to fly; it is shown in red and avoided instead.
The aircraft list comes from the pilot's own equipment, so a mission is planned against hardware the pilot actually has. When an aircraft has a built-in camera, that camera is chosen automatically. The camera's lens and sensor size come from the Omniris equipment catalogue, which includes common DJI, Autel, Skydio and MicaSense cameras, including multispectral ones. If a camera's details are not in the catalogue, the planner still works but says the ground detail is approximate. If no aircraft is chosen, the planner says the mission cannot be exported as a flight file until one is.
Every change re-plans the mission and redraws it on the map within a moment: the flight lines, the take-off point, the photo coverage and, for small missions, each photo's footprint on the ground. The numbers and warnings under the map change with it. What you see is computed by the same code that writes the exported file, so the preview and the file cannot disagree.
Save the mission when it looks right. Saved missions are listed on the card with their pattern, photo count, ground detail and flight time, and a warning sign if the plan carries warnings.
Most mapping problems are decided before take-off: photos too far apart to stitch, a height that gives too little detail, or a speed that blurs every frame. The planner works these out from the real camera and tells you when something will not work.
Ground sample distance (GSD) is how much ground one pixel of a photo covers: the smaller the number, the finer the detail. It depends on the camera and on how high the drone flies. Enter either the GSD you need or the height you want to fly; the other is worked out for you and the two stay in step. The planner's height and speed boxes are in metres; the results show the height in both feet and metres.
Front overlap is how much each photo shares with the next one along a flight line; side overlap is how much neighbouring lines share. Stitching software needs both. From them and the camera's footprint on the ground, the planner sets the distance between flight lines and the distance between photos. The camera fires by distance flown, so photos are evenly spaced along each line, and the turns between lines are not photographed.
If the camera is mounted on its side, as on some fixed-wing and custom aircraft, choose Portrait for the sensor orientation. Getting this wrong halves the overlap in one direction, so the planner asks.
The gimbal angle is set for the pattern you choose: straight down for maps, tilted for 3D. You can change it. If you ask for an angle the aircraft's gimbal cannot reach, the planner sets the nearest one it can and says so.
The default speed is 18 mph (8 m/s). Two limits can lower it, and the planner tells you each time:
Motion blur is the smear in a photo caused by the drone moving while the shutter is open. The planner estimates it for a 1/1000 s shutter. Above one pixel of smear it warns you to slow down or use a faster shutter, because blur spoils stitching long before it is obvious to the eye.
If the planned height is above 400 ft (121.9 m), the planner warns that this is above the Part 107 ceiling (14 CFR §107.51(b)) and needs a waiver, or the exception for flying within 400 ft of a structure. It is a warning, not a block: the rule has exceptions, and Omniris is also used outside the United States. The airspace check repeats the warning if any point of the flight, as actually flown, ends up more than 400 ft above the ground.
| The planner… | When |
|---|---|
| Warns | Height above 400 ft; motion blur above one pixel; speed lowered for the camera or the aircraft; gimbal angle changed to what the aircraft can do; GSD approximate because the camera is not fully in the catalogue; no aircraft chosen |
| Refuses, with the reason and what to change | More than 400 flight lines or 6,000 waypoints in one mission (raise the height, reduce the overlap or split the area); overlap of 100%; an area with fewer than three corners |
Five flight patterns cover the common jobs. Each comes with sensible starting values for overlap and camera angle, and every value can be changed.
| Pattern | How it flies | Use it for | Starting values |
|---|---|---|---|
| Grid (orthomosaic) | One set of parallel lines, back and forth, camera straight down | Maps, orthomosaics, surface models | 75% front · 70% side · −90° |
| Crosshatch (3D) | Two grids at right angles, camera tilted. About twice the flight time of a grid | 3D models of sites and buildings | 80% front · 70% side · −45° |
| Corridor (linear feature) | Parallel lines along a road, pipeline, river or line route; at least two lines, so there is something to triangulate against | Long, thin sites | 85% front · 70% side · −90° |
| Perimeter (facade / edge) | One to ten rings inset from the boundary, camera facing inward | Facades, stockpiles, structures | 80% front · 70% side · −20° |
| Orbit (single structure) | A circle around a point, camera facing the centre; 12 waypoints by default (3 to 200) | Towers, single buildings, one object | 80% front · 70% side · −20° |
Grid and crosshatch lines can run in any compass direction. Each flight line is extended 49 ft (15 m) past the edge of the area by default, so the drone is straight, level and at speed before the first useful photo. A corridor runs along the long axis of the area you drew; give it a width and the planner adds as many lines as that width needs. An orbit's radius defaults to a circle that keeps the whole area in view, and the first ring of a perimeter starts 66 ft (20 m) inside the boundary unless you change it. On a crosshatch the two passes are drawn in different colours on the map, so they read as two flights rather than one tangle.
A drone told to fly at 330 ft (100 m) flies at 330 ft above the point it took off from, not above the ground under it. On a hillside that means the ground detail changes across the map, and over a ridge the drone gets closer to the ground than planned. Terrain follow fixes this by giving every waypoint its own height, so the drone holds a steady height above the ground.
As soon as an area is chosen, the planner samples the ground across it and says how much the height varies and what that does to the ground detail at your planned height. When the ground varies by 49 ft (15 m) or more, it recommends turning terrain follow on.
After planning, the summary gives the relief of the ground, the clearance actually flown (lowest to highest above the ground) and how many waypoints were added. If the ground model has gaps, they are filled from neighbouring samples and the planner says so; if the path between waypoints still comes too close to the clearance limit, it says that too.
Under the map, the planner shows what the mission will take, recalculated with every change:
| Figure | How it is worked out |
|---|---|
| Photos | Counted along each photo run separately, from the photo spacing. Turns between lines are not photographed |
| Area | In acres and hectares |
| Altitude and GSD | Height in feet and metres; ground detail in centimetres per pixel |
| Flight lines, waypoints, line and photo spacing, speed | As planned, after any speed reductions |
| Distance | The whole route, including the turns and the legs to and from the take-off point |
| Duration | Distance at the planned speed, plus 6 seconds for each turn, plus the climb to height and the descent at 10 ft/s (3 m/s) |
| Batteries | The duration divided by 70% of the aircraft's rated flight time, rounded up. The 30% held back covers wind, the transit out and back and a landing reserve. Shown only when the aircraft's flight time is in the catalogue |
| No-fly figures | When the job has zones: how many, the area they remove from the survey, and the extra distance flown going around them |
Duration and battery count are estimates and are labelled as such. They assume the planned speed throughout and calm conditions.
A saved mission can be exported from the planner's Export Mission menu, or from the Export button on the mission card. Omniris never connects to the aircraft: it writes a file, and the pilot imports it into the app they already fly with.
| Export | For | What you get |
|---|---|---|
| DJI Pilot 2 (.kmz, in a .zip) | DJI enterprise aircraft (Matrice 300 / 350, Matrice 30 series, Mavic 3 Enterprise) | A DJI wayline file (KMZ / WPML) with every waypoint, height, gimbal angle and photo trigger, plus a parameter sheet |
| DJI Fly + swap guide (.zip) | DJI consumer aircraft | The same wayline file, a step-by-step guide to loading it (DJI Fly has no import screen) and a one-page parameter sheet |
| Litchi Mission Hub (.csv, in a .zip) | Older consumer aircraft (Mini 2, Air 2S, Mavic 2, Phantom 4 era) | A Litchi waypoint file with photo spacing built in, plus a parameter sheet |
| QGroundControl / Auterion (.plan, in a .zip) | Freefly Astro, PX4 and ArduPilot aircraft | A mission with speed, gimbal angle and camera triggering as mission items, no-fly zones as exclusion fences, and a parameter sheet |
| Boundary KML + parameter sheet (.zip) | Wingtra and Autel, whose apps plan their own lines | The area as KML, no-fly zones as red reference shapes, and a parameter sheet of the values to enter in the app |
Every export is a .zip: unzip it and import the mission file into your flight app as usual. The parameter sheet beside it is a plain one-page summary of everything the file cannot carry: the take-off point ("launch here, or the heights will be wrong"), height, overlap, speed, camera details, mission size, terrain follow, no-fly zones, any warnings, and the settings to make in the app itself, such as return-to-home behaviour.
Litchi and QGroundControl only understand heights above the take-off point. A mission planned with absolute heights is converted for them automatically, and the parameter sheet says it was converted.
DJI publishes the code its wayline files use to identify an aircraft for only part of its range. For any other DJI aircraft, Teach Omniris this aircraft takes one mission file exported from the pilot's own controller, reads the aircraft's code from it, and stores it against that aircraft in the pilot's equipment. Every later DJI export for that aircraft uses it.
Save to vault files the exported mission in the job's delivery folder with its own chain-of-custody record. Which mission file was handed to the pilot becomes a recorded fact rather than something reconstructed from memory later. Custody records are described in Evidence you can prove.
Omniris reads the FAA's published airspace data in three places: as layers you can switch on over the map, as an Airspace card on every job, and as a check of the whole route on every saved mission. It covers the United States and its territories (Puerto Rico, Guam, the U.S. Virgin Islands, American Samoa and the Northern Mariana Islands), the area the FAA data covers.
The main map's layer list has two airspace groups. Airspace Basic is a quick fly / no-fly picture: flight restrictions, prohibited areas and the UAS Facility Map. Airspace Advanced adds the detail:
| Layer | What it shows |
|---|---|
| Class Airspace (B/C/D/E) | Controlled airspace around airports, each class in its own colour |
| UAS Facility Map (LAANC) | The FAA's grid of the highest altitude LAANC can approve in each cell near an airport, coloured from 0 ft to 400 ft |
| Flight Restrictions | Special-use airspace: restricted, warning, alert and military operations areas |
| Prohibited Areas | Airspace where flight is prohibited |
| DoD National Defense | National defense airspace |
| Airports | Airport locations |
| FAA Obstacles | Towers, antennas and other obstacles from the FAA's obstacle file, 200 ft tall or more, shown when zoomed in |
| US Parks | Parks and protected areas |
The job map offers Class Airspace and the UAS Facility Map as well. Weather, smoke and wildfire layers sit in their own group alongside.
Every job with a location shows an Airspace Restrictions card. It answers one question for the job's location: could a normal Part 107 flight here, up to 400 ft above the ground, be in controlled or special-use airspace? It is the quick read before anyone plans a route.
A saved mission gets a stronger check. Instead of one point, the planner checks the whole flight: from the take-off point, along every flight line, and back. It walks the route in steps of about 50 ft (15 m) at the height the drone will actually be at each point, including terrain follow, and checks the drawn area as well, so airspace that clips a corner is still found.
Controlled airspace is a set of layers, and many of them do not start at the ground. A floor is the height at which a piece of airspace begins. A Class B "shelf" might start at 3,000 ft above sea level; a drone flying at 200 ft beneath it is not in Class B at all. Omniris compares every floor with the flight:
Airspace that exists above the route but starts higher than the flight goes is listed separately as overhead, lowest first, for information only: no authorization is needed for it.
| Result | Meaning |
|---|---|
| Airspace clear | No controlled airspace or special-use area reaches the route. The card still says airspace data is advisory and to check NOTAMs and TFRs |
| LAANC authorization needed | The route is under the UAS Facility Map and within its ceilings. The lowest ceiling on the route is shown |
| Above the LAANC ceiling | The highest point of the flight is above the lowest ceiling on the route, or part of the route is in a 0 ft cell that LAANC cannot approve at any height. Lower the flight, split the mission, or request further coordination |
| ATC authorization needed, not available through LAANC | Class B, C or D, or surface-area Class E, reaches the flight, so air traffic control (ATC) must authorize it, but no Facility Map cell covers it. Apply to the FAA through DroneZone, or fly under a waiver; allow up to 90 days |
| Special-use airspace on this route | A restricted or prohibited area reaches the flight. Check its activation times before flying |
| Military activity area | A military operations, alert or warning area reaches the flight. No authorization is needed, but military aircraft may be about |
| Higher than 400 ft above the ground | Nothing controlled reaches the flight, but somewhere it climbs past 400 ft above the ground |
| Outside, or partly outside, FAA coverage | The FAA data does not apply there. The check never calls such an area "clear"; check the local rules |
| Airspace not verified | The country could not be confirmed and the FAA data found nothing, so silence is not taken as clear |
Two further notes appear when they apply: a LAANC authorization in Class E airspace that extends to the surface is not valid when the weather ceiling is below 1,000 ft; and the return-to-home altitude is the aircraft's own setting and is not checked.
The height used for all of this is the flight's highest point above the ground as flown, not the planned height. Over ground that falls away below the take-off point, a drone holding its height ends up higher above the ground than planned, and the check uses that higher figure.
LAANC (Low Altitude Authorization and Notification Capability) is the FAA system that gives near-instant approval to fly in controlled airspace near airports, up to the ceiling on the UAS Facility Map. The FAA allows one ceiling per authorization, so a route that crosses cells with different ceilings needs one authorization for each. Omniris works this out from the airspace check: how many authorizations, at what heights, and for which airports.
Choose Get filing details, enter the name of the remote pilot in command and a phone number that will be answered during the flight, and set the flight window. Omniris checks the request against the FAA's LAANC rules before you file:
It then gives you a ready-to-paste block of details for each authorization: a centre point and radius in feet and metres that covers the area (most LAANC apps draw a circle in two taps), the maximum height, the start and end in your local time and UTC, the pilot's details and the area's corners. If the mission plans higher than a cell allows, the block says so in the text you are about to paste. File it in any free LAANC app; AirHub Portal, Aloft Air Control and AutoPylot are linked from the dialog.
Back in Omniris, Record authorization stores the authorization number, the app it was filed in, the height and the window actually granted, and optionally the PDF or screenshot from the app, which is filed in the vault with chain of custody. Omniris then compares what was granted with what the mission plans. If the authorization is lower than the plan, or starts late or ends early, it says so loudly. A rejection can be recorded too, with the reason.
An authorization obtained in another app and typed into Omniris is marked pilot-attested everywhere it appears. In the app's words, "Omniris did not issue it and cannot see the FAA rescind it"; check it in the app you filed in before you fly.
Where the route is in controlled airspace that LAANC cannot cover, Omniris links to the FAA's DroneZone and gives you the flight details to apply with. Outside FAA coverage it says there is nothing to file under LAANC and to follow the local rules.
Sometimes the reason not to fly somewhere has nothing to do with the FAA: a neighbour who has not given permission, a substation, a school playground, a crane working on site. A no-fly zone is an area drawn on a job that the aircraft must never fly over.
On the job form, Add No Fly Zone draws a zone the same way as a site area. Zones look the same everywhere they appear, on the web, the desktop application and the phone app: red cross-hatching, a red outline, and a red "No-fly" tag in polygon lists. Their names always start with "NO-FLY:", so even a KML opened in other software makes the meaning plain. A job can carry up to 50 zones; an outline that crosses itself is refused when the job is saved, where it can still be fixed.
The planner treats a job's zones as a hard rule, not a suggestion. The area picker says how many zones are on the job, followed by the word enforced.
The planner also warns when zones remove more than a quarter of the area from the survey, when the detours add more distance than the photo runs themselves, when a flight line starts right at a standoff with a shortened run-up, and when a standoff under 20 ft is set on an aircraft that does not appear to have RTK (high-accuracy positioning). Ordinary GPS holds position only to within roughly 7 to 15 ft, plus wind drift.
The job's zones always win. A pilot cannot remove a zone from a plan. If a zone is added to the job, or moved, after a mission was planned, the planner shows a banner and a Regenerate button, and the mission cannot be exported or saved to the vault until it has been re-planned against the current zones.
The parameter sheet lists the zones and the standoff. A QGroundControl plan carries them as exclusion fences the autopilot can enforce. In the boundary export for Wingtra and Autel they are red shapes for reference only, and the sheet says plainly that those apps plan their own route and will fly straight through a zone unless it is excluded in the app.
The route is only guaranteed between waypoints. The aircraft's own return-to-home, signal-loss and low-battery returns are flown by the aircraft from wherever it is and can cross a no-fly zone. Launch from the take-off point the plan shows, and set home there.
Flyability answers the question every pilot asks before a job: which days, and which hours, can I actually fly? It has its own button in the main navigation, with four tabs: Flyability, Weather, Wind and GNSS.
The location is your saved address, or your current approximate location, and you can pick another on a map.
Each hour is scored from 0 to 100, starting at 100. Some conditions rule an hour out entirely; others only take points off.
| Rules an hour out | Takes points off |
|---|---|
| Night; thunderstorm; fog; gusts or sustained wind above the aircraft's limit; temperature outside its range; rain or snow; a chance of rain above 80%; visibility below 3.1 miles (5,000 m); air quality index above 150 | Gusts close to the limit; sustained wind above half the limit; temperatures near the ends of the range; a chance of rain above 20%; heavy cloud; humidity outside a comfortable band; a dew point close to the temperature (condensation or icing risk); moderate air pollution (haze) |
Pilots need hours in a row, not scattered good hours. Flyability finds the runs of flyable hours in a row (flyable windows), and the day's score is the average of its best window. You say how long the job takes (3 hours by default); a day whose longest window is shorter than that, or that has too few daylight hours, is marked not flyable. A Kp index above 4 costs 15 points with a warning that GPS may be degraded. A day is flyable when nothing rules it out and it scores at least 40.
| Colour | Meaning |
|---|---|
| Green | Flyable, score 70 or more |
| Amber | Flyable, score 40 to 69 |
| Red | Not flyable |
Each day lists why it failed or what to watch in its best window: wind peaking near the limit, rain chance, cold that cuts battery life by 30 to 50%, condensation risk, fog at some point in the day, and poor satellite geometry that could degrade survey accuracy. Satellite geometry is reported alongside the weather score and does not change it. Days can be sorted by date or by score, and non-flyable days hidden.
The job request form carries a flyability panel too, and warns when the requested flight window is short. The warning never blocks the request.
Part 107 requires the remote pilot in command to assess the operating environment, brief the crew and check the aircraft before every flight (14 CFR §107.49). Omniris turns that duty into a checklist that lives on the job, and a record that holds up later.
The built-in FAA Part 107 pre-flight (14 CFR §107.49) checklist quotes §107.49 word for word, item by item, so it never drifts from the rule it claims to cover. Each item names its source in the regulation. It has 22 items in all:
Pilots and organizations can build their own checklists from it, adding and reordering items. The 16 regulatory items, marked ★ required, cannot be removed from any copy: a checklist edited until it always passes would be worse than none. The built-in checklist itself cannot be edited.
The pilot assigned to the job runs the checklist from the job page. Each item is answered OK, N/A or Issue; an issue needs a note saying what was found. The airspace item shows any authorization recorded for the job, with its number, height and whether it covers the plan, or a note that none is recorded. The checklist cannot be completed while any required item is unanswered; a blank checklist would look, months later, exactly like a finished one.
On the phone, the checklist also captures the airspace check and the weather at the moment it starts and attaches them to the record: "the data at the time said this" is stronger evidence than "the pilot said so".
Each pilot has a Flight Log in their account. Entries can be typed in by hand, estimated from the capture times of a job's delivered photos (a gap of more than 15 minutes means a new flight, usually a battery change), or created when a live-tracked flight ends. Anything Omniris works out for itself starts unconfirmed and is labelled as an estimate, for example "at least 22 min (estimated)", until the pilot agrees with it. Totals keep confirmed and unconfirmed hours apart, with hours by aircraft and over the last 90 days, because currency and insurance both read from a logbook and an estimate must never pass for a measurement. A logbook is personal to the pilot; clients do not see it.
Omniris can show a drone's position live while it flies. The drone's control software sends its position to Omniris through the Omniris interface for developers (an API), between one and ten times a second: location, height above take-off, heading, ground speed and flight state.
Pilots keep their FAA Part 107 Remote Pilot certificate on their Omniris account, and Omniris checks it against the FAA rather than taking it on trust.
| Feature | Web | Desktop application | Phone app |
|---|---|---|---|
| Mission planner, export, save to vault | Yes | Yes, the same planner | No |
| Airspace check and LAANC filing details | Yes | Yes | The job's Airspace check, captured with the checklist |
| No-fly zones | Drawn and shown | Drawn and shown | Shown on the job map, with the zone count |
| Flyability | Yes | Yes | 14-day strip on the home screen, with a detail page for each day |
| Pre-flight checklist | Yes | Yes | Yes, works offline, with airspace and weather snapshots |
| Flight logbook | Yes | Yes | No |
The phone app is built for the field. A pre-flight checklist answered with no signal is kept on the phone and sent when it reconnects; the server applies the same rules, so a checklist queued offline still cannot be completed with required items unanswered. The phone app is described in the field app paper.
Omniris helps a pilot plan and check a flight. It does not take the pilot's place, and it says so in its own words:
"Omniris generates the mission; you fly it in your own app. Check the flight path on a map before you launch."
"Airspace data is advisory — check NOTAMs and TFRs before you fly."
The remote pilot in command remains responsible for the flight, as the regulations require. In plain terms:
Plan a repeatable grid over a site at the ground detail the deliverable needs, follow the terrain on a sloping lot, and fly the same plan again next month.
See whether controlled airspace actually reaches a low flight under a high shelf, how many LAANC authorizations the route needs, and whether what was granted covers the plan.
Draw the properties you have no permission to overfly as no-fly zones on the job. Every mission planned for it goes around them, with a standoff.
Orbit a tower or ring a building with the camera facing in, with flight time and batteries known before the crew drives out.
Pick the day with a long enough flyable window for the job, against your own aircraft's wind and temperature limits, and get an email if the forecast turns.
Show which mission file the pilot flew, the airspace authorization they held, and the pre-flight checklist completed on site, each recorded at the time.