Maps and 3-D models built with photographs collected by an aerial drone.
This is a collection of projects that are all based on aerial drone imagery that I have flown and collected in different settings. I have used these images to create perspective-corrected aerial maps, digital surface models that show differences in landscape height, and 3-D models. These projects represent all of those outputs from drone images and demonstrate some of the applications of drone-based mapping that I find most interesting:
All the projects have interactive output to allow exploring the data, regardless of whether they're maps or 3-D models. The models also include tools to measure distances and heights of any feature in the model.
For projects with interactive maps, they can be panned and zoomed like any other webmap, except the imagery shown is fully constructed from aerial drone photographs that have fine spatial resolution.
There are toggle controls for the user to choose whether show the digital surface model instead of the default imagery. This surface model is derived from the imagery and shows the relative surface elevations of landscape features using an artificial color scale.
For projects with 3-D models based on the drone imagery, the models can be panned, zoomed, and rotated using multiple mouse buttons. A context menu is also accessible to access tools including rulers to measure distances and heights of objects in the model and to change the amount of model detail that's displayed.
I processed the drone imagery using with open-source WebODM software. I then used the Leaflet Javascript library for the maps and the Potree Javascript library for the 3-D models.
I first collected the aerial imagery with the required high amount of overlap between successive images with the help of automated drone flight software (using the Pix4DCapture app).
I then used WebODM software to process these raw images into orthorectified composite images, digital surface models (2-D), and full 3-D models of landscape features. This output raster map tiles for the orthorectified images and the digital surface models. I could use these map tiles directly with the Leaflet Javascript library to build interactive webmaps that allowed you to toggle between displaying the imagery and displaying the digital surface model. It also output point cloud files that I could convert into files compatible with the Potree Javascript library that efficiently renders large point clouds so they can be explored interactively on websites.
These projects let me gain experience with the workflow of drone-based mapping, in applications that are especially interesting to me.
After getting my FAA Part 107 remote pilot's license, I was keen to experiment with creating mapping-related output from aerial drone images. I bought a drone capable of supervised, but pre-programmed flights for mapping (a Parrot Anafi), and set about testing it in different mapping scenarios. This gave me more hands-on experience with mission planning for drone mapping, collecting the images during supervised autonomous flight, and processing the output using the excellent open-source WebODM image analysis software built for this purpose.
That resulted in analyzed output on my local computer, but I wanted to make it easily explorable through interactive websites as well. Displaying the output maps using Leaflet was straightforward after my experience with the Block Island Glass Float project, but displaying the 3-D models using Potree was another important skill to have developed.
Ultimately, I'm very proud of the outcome of these projects so far both in terms of learning process of drone-based mapping, and in demonstrating how useful this mapping can be in a range of applications.
Each of the projects is self-contained and followed similar workflows, but highlights different capabilities of drone-based mapping
The projects here generally follow the same technical design, with the major difference being whether the project shows 2-D mapping output or 3-D modelling output from the drone-collected images. However, each project purposefully highlights different capabilities of drone-based mapping. This has certainly been a learning process, trying different projects to see which work well (the ones highlighted here), and learning from those that didn't.
I'm most proud of the details some of the projects show, from detailed 3-D reconstructions to changes in flowering plants and leaf-out during the growing season.
For this drone-based mapping, I'm most proud the details captured in the project output to see where this mapping can excel.
The digital surface models can do an excellent job capturing strong topographic changes, like in the deep and narrow canyon that would not be possible to map by foot. They also do a good job measuring subtle changes, like differences in plant height through the growing season and with plant pruning.
The orthorectified images key well to each other even when generated during independent flights, and this can provide important extensions of an initial map either spatially or through time.
Finally, detail contained in 3-D models enable measurements to be made on snapshots of structure conditions, including the ability to monitor condition changes over time.
The biggest challenge was figuring out how to serve the 3-D model results as an interactive website given hosting constraints.
The WebODM software calculates the 3-D model based on the drone images and outputs this information in compressed point cloud files (.laz files). These need to be converted to a different file format before they can be rendered with the Potree interactive viewer.
I first tried this conversion using the newest version of the Potree viewer, which produces only 3 output files. However, this project uses GitHub for version control and web hosting, and one of those files was too large to include on GitHub so I started looking for an alternative.
I found that the older version of the Potree converter outputs many small files instead, which would be compatible with GitHub, so I used that and modified the Potree rendering code to work with this older style of converted file. This let me set up a re-producible pipeline to convert the WebODM 3-D model output into data that could be rendered using the Potree interactive viewer in any website.
This gave me hands-on experience with drone-based mapping and a better understanding of its best use cases for future projects.
These projects gave me applied experience with a drone-based mapping workflow from flying the mission to building websites that allow interactive exploration of the mapping or modeling results. I also gained an understanding about the strengths and limitations of this aerial mapping. It is excellent for tracking landscape changes over time in the same area and allowing measurements to be taken from its 3-D models. However, it doesn't do well in modeling tree canopies or narrow structures, like utility bridges.
I can use these results to gauge how effective drone-based mapping may be for future projects. In cases where drone mapping would be useful, I can now provide a quick turn-around time between the drone flight and delivering an interactive website for exploring the resulting maps and models.