By Hannah Lord, Class of 2022
Hannah is a Senior at Wheaton College from Littleton, MA. She will be graduating with a double major in Computer Science and Film and New Media Studies.
GIS platforms such as Google Earth and ArcGIS rely on mass amounts of elevation data to render natural terrain. When exploring the Himalayan mountains or the Caribbean islands via these platforms, satellite imagery is plastered onto the elevated terrain model. This provides the illusion of caves, overhangs, and arches. But the removal of these images will yield a windowless, continuous plane. Current file formats are unequipped to handle structures like the natural arches of Utah’s National parks. But over the course of the Summer and Fall of 2021, I conducted research with Professor Michael Gousie from the Computer Science department at Wheaton College in an attempt to change that.
After taking his computer graphics course in Spring 2021, Professor Gousie asked me if I was interested in summer research. Desperate for experience – and an excuse to spend more time at Wheaton – I quickly accepted!
We discussed a couple of topic options, ranging from data visualization to web development. His final proposal was something that had never been done before – representing overhanging structures in elevation data files. Having developed a passion for computer graphics, I was eager to tackle the challenge.
Digital Elevation Models (DEMs) & Basic Terrain Rendering
One common type of elevation data file is a Digital Elevation Model, or DEM. These ASCII text files contain a grid of elevation values that map onto a bare-earth surface at specified intervals. The first step of this project was to develop a program that could read and render these files without the new overhanging structure capability. I spent a few weeks developing the software in C++ and using the OpenGL library for graphics rendering. The resulting program was the foundation for the rest of the project. The program triangulated the terrain by connecting all the points in the DEM file based on their position on the x,z plane and using the elevation value to set the y.
After successfully completing the first steps we developed a new file format to accommodate arching structures. This new file is a basic DEM file with appended elevations. At the end of the file, are the elevations for the underneath side of an arch structure and the ground beneath the arch structure. Both these measurements would need to be taken separately from the traditional collection methods that only obtain top level elevations. This led to the first major issue.
Implementing Arch Functionality
Since representing these structures in terrain elevation data has never been attempted, it was near impossible to find real-life elevation data on arches. After hours of scouring the internet with little success, we proceeded with “dummy data”, or fake elevation data that could be used as a replacement for the missing real data.
Over the course of the next few months – and lots of trial and error – we expanded on the program and developed an algorithm to successfully triangulate and render an arch from an edited DEM file. The algorithm ensured that the window was not covered. The triangulation was based on a point’s position relative to the arch, and was completed in sections as visualized below.
Additionally, we added interpolation to increase the resolution as well as texture mapping to make the model more realistic.
By the end of December 2021, the resulting program could successfully render an arch that fell exactly across the horizontal z plane. Unfortunately, we were unable to adjust the program to accommodate more natural structures due to the complexity of detecting the location of the opening. Regardless, this project has potential for future work, and real world implications for GIS software!
Despite some serious frustration, hours of debugging, and continuous trial and error, all of the hard work paid off this April at the 2022 CCSNE undergraduate research presentation. At Pace University, I was able to present my research to peers and professors. It was exciting to see how my work was received, and it was incredible to discuss my findings with other academics who were truly interested!
Spending the summer at Wheaton gave me the opportunity to reclaim some stolen time, as I lost a semester of Sophomore and Junior year when the COVID -19 pandemic forced us all off campus. I was able to work on a project I was passionate about and learned how to better approach complex problems. This was my first research experience, and while I was frustrated by the slow-crawl and the uncertainty of a solution, it is one I will always remember.
I am beyond thankful to Wheaton for this opportunity. I would like to thank Mike Gousie for all his guidance and support!