GIS595/MEA792:
UAV/lidar Data Analytics

This is an unmaintained course material, please see current material at:

Terrain Analysis of the flight site using GIS tools

In order to execute a safe flight, you need to make sure that the flight path will not cross any obstacles. Also remember that the ground altitude is measured in the take off localization and does not take into account local relief. It can be crucial in the mountainous areas. In our case trees, buildings and other man-made structures are more of a concern. Because both – terrain data (from lidar) and planned flight path (generated by you in the Trimble Aerial Imaging software) are available, the the elevation difference between the flight celling and the surface can be computed using GIS tools.

General workflow (with GCPs):

  1. Compute a raster for elevation of the flight path
  2. Generate DSM
  3. Calculate the elevation difference between the flight path and surface

Data

Software

Compute a raster for elevation of the flight path

For this analysis you can run GRASS GIS with the Lake_Wheeler_NCspm location or nc_spm_08 from MEA582 can be used as well. Create a new mapset to manage your flight analysis.
!!! REMEMBER !!! to set the directory first or use the whole paths for the input files. All the commands with indication: #customize name# cannot be just copied and pasted into the GRASS command line
  • Export a flight plan path that you created to the kml file from Trimble Aerial Imaging .gwt project
  • Launch GRASS
  • install the v.import package
    g.extension extension=v.import svnurl=http://svn.osgeo.org/grass/grass-addons/grass7
    
  • Import generated kml into GRASS
    #customize name#
    v.import input=exported_kml_file.kml output=flight_track_kml
    
  • Convert vector line to elevation points. Set the maximum distance between the points as 0.3 m
    v.to.points -i input=flight_track_kml output=flight_track_points dmax=0.3
    
  • Convert vector to raster after setting the region to study area and 1m resolution
    g.region vect=flight_track_kml res=1
    v.to.rast input=flight_track_points output=flight_path_altitude_rast use=z
    
  • Make the flight path line thick (wide) enough taking to account the wingspan of the UAV and weather impacts on the flight trajectory. Desired width of the path = 5m (radius 2.5m)
    r.grow -m input=flight_path_altitude_rast output=flight_path_wide radius=2.5
    

Generate DSM

  • Download lidar data for SECREF and Mid Pines to your computer
  • set region to your study area using g.region or using the zoom function for setting the region
  • Import lidar data to grass
    #customize name#
    r.in.lidar mid_pines_spm_2013.las output=mid_pines_surface_max method=max class_filter=1,2 return_filter=first resolution=3 -oe 
    r.in.lidar secref_spm_2013.las output=secref_surface_max method=max class_filter=1,2 return=first res=3 zrange=0,300 -oe
    

Calculate the elevation difference between the flight path and surface

  • Use map algebra to compute difference between two rasters - elevation of your flight path and Surface of the terrain
    r.mapcalc expression="elev_diff = flight_path_wide - mid_pines_surface_max"
    r.mapcalc expression="elev_diff = flight_path_wide - secref_surface_max"
    

Use the acquired diffrence map to evaluate your flight plan, pay close attention to the obstacle free zones

Visualize results

You can use screenshots from Trimble Aerial Imaging and GRASS. If you discovered any obstacles and needed to readjust the flight path - include the picture and description of the issue. You can display the orthophoto, COA boundaries for better understanding of the terrain. Orthophoto is in nc_spm_08_grass7 location and COA in Lake_Wheeler_NCspm location.

Explain your choice of the flight area, parameters and takeoff and landing locations based on the performed analysis

The aim is to prove that the flight plan that you've created can be used to execute a safe and sucessful flight mission. Describe your thought process - what did you take into account first, what problems did you encouter? Did you need to change your initial plans based on software limitations, legal issues or the relief of the targeted area?
Put the results in the short presentation and we will discuss it in the class. You will time to correct it and include the feedback in the report.