In this guide
Using PGC GitHub: An Overview of PGC Tools
Last Updated: December 5, 2019
This is an overview of the tools that are offered on the Polar Geospatial Center (PGC) GitHub webpage. All tools are free to download and use. A total of 53 repositories are hosted by the PGC. However, only 11 repositories will be touched on in this overview due to relevance for PGC users. These programs are distributed without any warranty; without the implied warranty of merchantability or fitness for a particular purpose. Specific details pertaining to licenses can be accessed on each tool’s GitHub repository.
The Polar Geospatial Center is an NSF-funded research organization at the University of Minnesota that provides geospatial support, mapping, and GIS/remote sensing solutions to researchers and logistics groups in the polar science community. More information about the PGC can be found here.
A majority of the PGC tools can run within a personal computing environment (desktop computer) or in a cluster computing environment. The code is built to run primarily on a Linux HPC cluster running Maui/Torque for queue management. This tool will also work on a windows platform. Please note that the code is tightly coupled to the systems on which it was developed. You should have no expectation of it running on another system without some patching.
The PGC tools designed to work with satellite imagery are built on the GDAL/OGR image processing API using Python. GDAL 2.1 is required for this tool to function.
If you are using a Linux system you will need to download the PGC optimized GDAL toolchain. The list of software installed with the optimized GDAL toolchain can be found here. A script is provided to install all required packages. If you have not ran a shell script in a Linux terminal follow this guide here. After installation of the PGC optimized GDAL toolchain, the mosaicking tool can be ran through the Linux terminal. There are plenty of free, online tutorials for Linux terminal if you are new to command line interfaces.
If you are using a Windows system, it is recommended that you use OSGeo4W. This will provide a Windows environment to use the tool. You can get the installers here. The express installation will provide the most high profile OSGeo4W packages. However, it will not allow for control over install location, proxies, and cache directory selection. The advanced install will allow for more control. The PGC mosaic tool will run with either install type. After installation of OSGeo4W, the orthorectification tool can be ran through the OSGeo4W Shell. As with Linux, there are numerous online resources for using a Windows command line interface.
Dockerfile: Miniconda Install Container
A number of the scripts created at the PGC for program installations use the Conda package, and some tools require other packages installed with Miniconda. This repository simply provides a way to install Miniconda.
Dockerfile: PGC Optimized GDAL Toolchain
Many of the tools used to work with satellite imagery and DEMs created from both SETSM and ASP require the installation of GDAL. The PGC has an optimized GDAL toolchain for download and installation in a Docker environment. This was built to run using Miniconda.
PGC GitHub: GDAL-docker There is also a shell option for the GDAL download.
Google Earth Engine (GEE) is a web-based remote sensing application hosted by Google. It has access to all freely available imagery including: Landsat series, Sentinel series, NAIP, MODIS, etc. This program is open source, and only requires an account for access.
The PGC has created scripts for mosaicking Landsat 8 imagery over Alaska and the Himalayas. It uses the Top of Atmosphere (TOA) reflectance images to create a cloud-free composite. Input imagery spans multiple years to maximize cloud-free data points. Image appearance is modified so use for anything other than visualization and base mapping is inappropriate.
The geoms used to determine image output extent are also provided. Like the mosaics, the geometries are provided as a reference, and are not designed to represent cadastral boundaries.
The PGC provides a coordinate converter online. This tool can convert coordinates between decimal degrees (DD), degrees decimal minutes (DDM), and degrees minutes seconds (DMS). It also includes a map interface allowing for a point and click option to receiving coordinates in WGS84 Antarctic Polar Stereographic or WGS NSDIC Sea Ice Polar Stereographic North.
This repository is NOT an offline version of this coordinate converter. Instead, it is the source code to put the coordinate converter on another website. Feel free to use and modify the application as you see fit.
The PGC Information Pages is a stand-alone web application that displays a continuous slide of selected content, much like a slideshow. It runs in a web browser, but meant for display on a High-Definition (HD) display, such as a television or computer screen. The application is somewhat responsive to different screen resolutions, but is optimized for 16:9 displays.
This application can be run through the URL. This will always the latest release, and it will not display your location. Instead it will display St. Paul, Minnesota.
There is an option for you to host the application on your own web server. This requires you to download the latest release. Instructions on how to edit the location are at the bottom of the application download page.
Shell: PGC Tuned – Ames Stereo Pipeline
Ames Stereo Pipeline is a 3-Dimensional surface reconstruction tool developed by the Intelligent Robotics Group (IRG) at the National Aeronautics and Space Administration (NASA). It was originally developed for the Mars Global Surveyor mission. This tool has advanced stereo image processing capabilities, and the PGC uses this tool to create stereo DEMs. The PGC has created both a bash script and Dockerfile to install the Ames Stereo Pipeline tool. This uses a list of installers to build the ASP toolset. A warning from the ASP developers: ASP is a research product and may contain bugs or incomplete features.
Additionally, the ASP documentation offers a tutorial on how to process DigitalGlobe imagery. This can be accessed here. This documentation also includes citation instructions and in-depth documentation of the tool itself.
Python: ArcGIS Server Feature Service Query
The PGC has a number of web mapping services offered in ArcGIS Desktop, ArcGIS Pro and QGIS. This repository is a standalone python script for querying the ArcGIS Server Feature Service. This will allow users to access the DigitalGlobe Stereo Index (pairnames). This will require authentication via an approved PGC account.
Python: Mosaic Dataset Configuration Script
Mosaic datasets allow users to manage, view, and query collections of image data. For more information on mosaic datasets visit the ArcGIS help page. This repository hosts a Python script that takes in parameters and an xml file to perform various tasks to create and populate a mosaic dataset. This tool has a number of features including:
- Automate the creation of multiple mosaic datasets
- Configuration of multiple mosaic datasets using configurations files
- Built-in verbose reporting and logging system
- Command line usage via batch files
Python:PGC DEM Tools
The PGC DEM tools are a bundle of 11 tools for indexing, shelving, copying, and modifying both SETSM and ASP DEMs. These tools can do:
- Build a geodatabase or shapefile index of a single SETSM DEM or directory of DEMs
- Build a geodatabase or shapefile index of a single SETSM DEM mosaic tile or directory of tiles
- Package all auxiliary files into a tar.gz archive. This can be done on DEMs or DEM mosaic tiles
- Move or copy DEMs by date, and create a representative file structure in the output directory. The file structure is ///.
- Move or copy a SETSM DEM or a directory of DEMS into folders based on the geocell that intersects the DEM centroid. Identified by the lower left geocell center
- Move or copy a SETSM DEM or a directory of DEMs into folders based on a custom shapefile index. The files will be shelved based on the centroid location relative to the shapefile index
- Move or copy ASP deliverable files
- Apply the offset and outputs a new raster if there is GCP registration information included with the SETSM DEM. The strip ArcticDEM files contain IceSAT altimetry offset information within the metadata, and this tools allows for the adjustment of SETSM DEMs with that information
- Resample a SETSM DEM to a lower resolution
- Divide SETSM mosaics into subtiles
Related Guide: Using PGC GitHub: pgcdemtools
Python: PGC Imagery Utilities
The PGC Imagery Utilities is a collection of tools used at the PGC for satellite imagery manipulation. These tools can be used for batch processing and include:
Correct for terrain displacement and radiometric settings. This tool can also change bit depth of the imagery. Requires the use of a DEM.
Takes multiple input images and mosaics them into a set of non-overlapping output tile images. It can sort images according to cloud cover, sun elevation angle, off-nadir angle, exposure, and proximity to a date.
Pansharpening is a practice of using the panchromatic band of a satellite image to increase the spatial resolution of the image. This tool applies the orthorectification process followed by pansharpening using the GDAL tool gdal_pansharpen.
Normalized Difference Vegetation Index (NDVI)
NDVI is a spectral index used to identify areas of vegetation. This index uses the near infrared and red bands of a satellite image. This tool is designed to run on imagery that has already been processed using the orthorectification utility.
Each of the tools hosted in the PGC Imagery Utilities repository have detailed guides for their use. These guides can be accessed through the PGC website.
Python: SETSM Post-Processing
This utility offers methods for filtering and merging DEMs produced by SETSM with stereo pairs of DigitalGlobe imagery. The end result is the creation of strips from individual scenes. The code for filtering and mosaicking is largely from the MATLAB code written by Ian Howat, Professor of Earth Sciences at Ohio State University.
The readme file in the GitHub repository offers an in-depth explanation of the dependencies, installation recommendations, description on how to use the script, and how the tool works.
Other Potentially Useful GitHub Repositories
COMNAP Antarctic Vessels
The Council of Managers of National Antarctic Programs (COMNAP) creates a list of Antarctic vessels administered by and for National Antarctic Programs. This repository hosts a comprehensive list of vessels operating below 60oS latitude for science, science support, and logistics purposes. This dataset was provided by each National Antarctic Program to COMNAP.
PGC GitHub: COMNAP Vessels
COMNAP Antarctic Facilities
The COMNAP Antarctic Facilities is a comprehensive list of Antarctic facilities with a status of ‘Open’ or ‘Temporarily Closed’. This repository hosts a comprehensive list of Antarctic facilities, and was provided by each National Antarctic Program to COMNAP.
PGC GitHub: COMNAP Facilities