Working With Terrain
Terrain aware scans allow you to automatically plan missions that take ground elevations into considerations. This set of features is currently available in the Drone Harmony Mobile (and soon also in the Drone Harmony Web Application). It allows you to fly the drone above a hilly area keeping a constant distance between the drone and the ground to generate an accurate 2D map, to inspect large a number of building rooftops with a single automatic flight and more. Watch the 2 minute video below for a quick demonstration:
The first step of working with the terrain aware features is to import an elevation file (a point cloud representing the elevations of certain points in the area of interest). The currently supported coordinate systems for the elevation data are: WGS-84 (World Geodetic System established in 1984, used globally for GPS) as well as CH1903 (Swiss local coordinate system). We plan to add support for other coordinate systems in the future according to demand. Esri Ascii Grid is a widely supported format for elevation data, the files typically have extension “.asc”. Here is a header of a typical WGS-84 Esri Ascii Grid file:
You can download the example Norway.asc (1.2 Mb) to test and play with some terrain data.
Free terrain elevation data is usually only available for low resolutions (30 m / 1 arcsec grid points). Here are some links to sources of elevation data:
- ALOS Global Digital Surface Model – 30m
- Open DEM – Search for free high res data
- OpenTopography – High res data (mostly USA)
- Official Norwegian height models, 10m x 10m, accuracy 2-3 m, free but requires registering. In Norwegian. Thanks to Jørn Howlid for providing us this link.
- High precision digital elevation model of Switzerland (not free), (2m, 5m or 10m. Accuracy 0.5m – 3m)
- Wikipedia overview on digital elevation model (lists also sources).
There are many file formats and coordinate systems for elevation data files. We recommend to use conversion tools to convert your data to ESRI Ascii Grid format in WGS-84 coordinate system:
- Global Mapper – All-in-one GIS Software , also includes data download options from many data sources.
- Geospatial Data Abstraction Library, utilty library for converting between different raster formats. Thanks to Jørn Howlid for providing us with this link.
To import elevation data go to Menu → Import & Export → Import Terrain:
You will be presented with a list of already imported terrain data files and the option to import a new data set. To import a new file, tap on the round button at the bottom, give the imported data an in-app name, select a format and tap on “Locate File”. Choose an appropriate file in the file system and wait for the import process to complete. This process might take a while as terrain data file are often large. Allow about 5 minutes per 1 Million points for an average device. This is a one time process per data set.
To open an imported terrain, tap on the “arrow-down” icon next to it’s name. The app returns to the map view, the region on the map that contain elevation data is highlighted by a light violet polygon. From this point it is possible to continue working with the app using the usual scene-centered workflow: defining scene objects and generating flight plans for them. Here is how the elevation data fits into this picture.
Every time a scene object is defined (using the polygon or circle tools) that is completely contained in the region containing terrain data (the violet polygon) it is possible to enrich it with the elevation data by tapping on the cube icon that appears on it. By tapping on this icon, the app constructs a 3D terrain mesh representing the terrain in the selected polygon. Once the terrain mesh is created (depending on the size of the area and the mobile device it may take a few seconds or up to a few minutes, you should see a message upon completion of the progress bar), it is possible to see it in the 3D view and start generating plans for the area.
To generate a plan for a polygon tap on the plus icon in the map view and select Mapping→ Terrain Top-Down / Terrain Orbits. At this stage the Terrain Top-Down flight plan is the only plan type that works with enriched scene objects, but we have many more plan types and features planned in the near future. The Terrain Top-Down flight plan works similarly to the (normal) Top Down flight plan: it allows you to plan a flight with accurate user-defined overlaps for scanning parts of the scene from above with the camera (in most cases) facing straight down. The Terrain Top-Down plan considers the terrain data in the enriched polygon and maintains an even user-selected altitude above ground.
Once the flight plan is generated, it can be visualized, flown and edited in the normal way, just as any other Drone Harmony flight plan.
Here is a summary of the steps used to generate a terrain aware plan:
1. Import Terrain Data:
Menu → Import & Export → Import Terrain. Tap on bottom right icon and select file. Then tap on arrow to choose among imported data files.
2. Define & Compute 3D Terrain Surface Mesh:
Define scene polygon that is completely contained in the violet polygon representing the region with terrain data and tap on the cube icon to compute the surface mesh.
3. Generate Terrain Aware Flight Plan:
Tap on the plus icon and select Mapping→ Terrain Top-Down / Terrain Orbits. Select parameters for the Terrain Top Down flight plan and tap generate.
Important things to note when working with terrain data:
- There can be at most one terrain file loaded at any time.
- It is possible to have numerous enriched polygons at a time. However, the visualization in 3D view currently does not display the relative elevation differences between the polygons.
- A Terrain flight plans must have a takeoff point inside the enriched polygon for which the flight is generated.
- Terrain flight plans do not have automatic obstacle avoidance with other scene objects: if you define another polygon to represent an obstacle inside the enriched polygon for which you are generating a Terrain flight plan, this obstacle polygon will be ignored.
- It is advised to not define other scene objects within the enriched polygons at this stage. In the future we plan to allow combinations of terrain data with user-defined scene objects.
- In the settings (Menu → General → Settings) it is possible to choose the maximum number of terrain elevation points to be used in the mesh computations. We recommend to use 25,000 for faster computations unless very high accuracy is extremely important for the planned flight. The other options are 50,000 and 100,000 points.
- Another important thing to note is that the waypoints of any mission have to all be above (in altitude) the altitude of the takeoff point. For the Terrain plans this means that if the takeoff point is chosen to be at some point that is higher than the lowest point in the terrain, some parts of the terrain, namely the ones that would require waypoints that are below the takeof altitude, to not be scanned. In future updates we plan on relaxing this condition and allowing for “negative altitudes” with respect to the takeoff point as well.