3D and Virtual Reality
One of my favourite parts of GIS is when you get to display your work in a way that gets more engagement from the reader/audience. I find the most interesting way of displaying data is with a three dimensional aspect, based on the fact that you can look at the data from different perspectives and angles.
The first time I used 3D geographic data was a few years ago in my ‘Concepts of Geographic Information Systems’ course at Saint Mary’s University. In one lab of this course we took a volcano terrain and elevation information and used it to create a triangular irregular network (TIN). We displayed this volcano TIN using ArcScene, which everyone found mesmerizing especially using the ‘fly tool’ for the first time. I think I’ve come a long way from the first time using the fly tool and exploring what you can do in ArcScene with 3D data, by handling all kinds of different 3D geographic data and manipulating it to create different types of cool maps and displays.
At the Centre of Geographic Sciences (COGS) we are required to complete an end of the year project and present it in front of our faculty, sponsors, peers, and the public. With my interest in 3D Geographic data, I decided to do my project on something that would encompass using a very modern take on 3D modelling. I am building a set of geoprocessing tools for the Applied Geomatics Research Group (AGRG) that will take their collected lidar and height map datasets and prepare it for 3D and Virtual Reality (VR) modelling. With VR, researchers at AGRG can demonstrate their work to clients/potential clients in an innovative fashion. For example, a researcher can use a VR display to show a client a digital model of collected data that displays the erosion of a coastline that has happened over a period of time.
The lidar geoprocessing tool that I am creating takes lidar data, extracts the las points in the area of interest determined by the user, colorizes the points based on an overlaying image, then writes the las data to a text file, and converts the coordinates into a local coordinate system for better integration into the VR modelling software. Similar to the las tool, my height modelling tool takes a raster with height information and clips it based on the user defined area of interest, and converts the raster to an fbx file that is consumable by the VR modelling software.
To build these tools I am writing a Python script, using the arcpy library for existing ArcGIS tools, as well as LAStools by Rapid lasso. I am using Visual Studio Code for the Python scripting aspect, and ArcMap, ArcScene, Cloud Compare and Global Mapper for the QA/QC aspect of my project. The final output of each tool is manipulated in Unity (a cross-platform game engine that builds a model that can be viewed in VR).
By working on this project I have been learning a lot about creating custom geoprocessing tools using the arcpy library and have been building on my Python scripting skills that I had developed in the first semester at COGS. I am also learning the fundamentals about 3D modelling using Unity by using imported data, and creating new materials to use as textures for the display. I am excited to present the final product of my project in two weeks time, and hopefully I will get to use more 3D data and do more VR modelling in my future after COGS.