Insights

GCS Geospatial Delivers Advanced 3D Analytic Tools to NGA 

By January 12, 2025No Comments

GCS Geospatial and Hobu, Inc. are wrapping up a year-long effort on the National Geospatial-Intelligence Agency (NGA) Boosting Innovative GEOINT Research Broad Agency Announcement (BIG-R BAA) Topic 10 “Advanced 3D Analytic Tool Development, Enhancement, and Integration”. NGA awarded funding to GCS Geospatial to perform innovative and advanced research in BAA Technical Element 1 (Simultaneous Co-Exploitation of Digital Surface Model (DSM), Point Cloud (PC), Mesh Surfaces and Vectorized Geographic 3D Features) and Technical Element 3 (Line-Of-Sight (LOS) Enhancements). 

Technical Element 1 – Simultaneous Co-Exploitation of Digital Surface Model (DSM), Point Cloud (PC), Mesh Surfaces and Vectorized Geographic 3D Features 

NGA required support for multiple 3D data types concurrently within existing ELTs for both visualization and analysis tasks. 

The GCS/Hobu team enhanced the browser-based Eptium application in response to NGA’s requirements. Eptium is a browser-based ELT that supports direct streaming of 3D content including cloud-optimized point clouds (COPC), cloud-optimized GeoTIFFs (COG), and OGC 3D Tiles mesh content by leveraging CesiumJS.  

Eptium Enhanced

With Eptium already supporting visualization of 3D data types to include point clouds, raster elevation models, and mesh content, the team explored the more challenging task of both deploying browser-based 3D analytics capabilities and working to make them interact with multiple data types. Given that Technical Element 3 is focused on line-of-sight and viewshed analysis, this was a natural starting point for the Eptium demonstration as well. Eptium was also enhanced to support the addition of multiple configurable observer locations, and the resulting viewshed mask can be downloaded as a GeoTIFF for sharing or use in other tools.

Figure 1. Viewshed computed in the browser by adding an observer to the Eptium interface with GeoTIFF digital surface model. 

Finally, Eptium is being enhanced to support the import of 3D models like OBJ that do not have inherent geolocation or scale information. Once imported, models can be positioned and scaled interactively, saved from the browser as 3D Tiles for individual use, and will soon be able to interact with the analytical tools such as viewshed. 

Figure 2. Placement of OBJ building model within Eptium. Urban Building (https://skfb.ly/6X8JN) by nermin is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/). 

Technical Element 3 – Line-Of-Sight (LOS) Enhancements 

NGA required a more robust tool for viewshed (i.e., the geographical area visible from a location), and point to point LOS analyses over large areas, from multiple viewing angles, and able to incorporate multiple data types.  

Applied Imagery’s Quick Terrain Modeler (QTM) is the application of choice for much of the GEOINT community working extensively with point cloud data and one of the platforms on which the Technical Elements 3 capabilities have been developed and deployed. We have developed a plugin to QTM that adds an alternative approach to non-overlapping observer viewshed generation and three helper functions that streamline the generation of markers for traditional line-of-sight analysis with QTM. 

Streamlined Data in QTM

For non-overlapping observers, the GCS team developed three functions that relocate the light source within QTM to cast shadows that indicate visibility based on a derived position in the Altitude Azimuth coordinate frame. While non-overlapping observers is not uniquely an issue for Earth orbiting satellites, we took inspiration from this task and have cast the features in this context. The first of these requires only the observer location in latitude, longitude, and altitude. A simple example of this might be the coordinates of a geostationary satellite. The second function provides support for more complex orbits and time-varying solutions. It requires the input of Two-Line Element (TLE) ephemerides and a time-date. Finally, we added a function that can download TLE data from CelesTrak.org and, given a time-date of observation, will update the viewshed for each result. 

Figure 3. Cast shadows indicate areas with no visibility of selected GPS satellite. Data courtesy USGS 3DEP. 

Our marker generation functions support three different modes. Users can generate a fixed number of markers along the perimeter of QTM selection area, a fixed number of markers from the interior of the selection area, or a marker at each vertex of the selection area. Using these generated markers, a user can incorporate them in the already established QTM LOS workflows. 

Improving Viewshed Capabilities

While working on the QTM task, the GCS/Hobu team has been committed to also improving the viewshed capabilities of the GDAL open source library. The first change to GDAL was to ensure that it could also support non-overlapping observers. We modified gdal_viewshed tool to allow definition of an observer (XYZ coordinates) that does not necessarily overlap the scene itself. To do this, we improved how the viewshed kernel dealt with void regions.  

The algorithm now assumes that there are no occluding features in the void regions outside the bounds of the raster. Second, we added a new viewshed mode called ACCUM that enables the computation of a cumulative viewshed in response to the area intervisibility task. This approach will sample multiple observers across the full extent of the raster and accumulate the results to provide an indication of overall visibility across the entire raster regardless of any one specific observer location. Both capabilities have been included in the open source GDAL software distribution and released as part of the GDAL 3.9 and 3.10 releases.

Figure 4. Output of the gdal viewshed ACCUM mode uses brightness to depict the visibility of regions, with white areas being more visible and black areas less visible. 

These recent GCS Geospatial deliveries of advanced 3D analytic tools demonstrate our continued commitment to supporting NGA in their mission to provide the GEOINT Community with the best possible data and capabilities. 


This research is supported by the National Geospatial-Intelligence Agency (NGA) via Contract No. HM04762491001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of NGA, DoD, or the US government. Approved for public release, NGA-U-2024-10042.