To promote & support the use of geospatial technologies in research and teaching at Stanford

(whatever that means at any given time)

Instruction

  • Earthsys144 - Fundamentals of GISci
  • Introductory GIS Workshops
  • Intro Open Source GIS Workshops
  • Guest Lecturing
  • Course Support

Infrastructure

  • Software provision, licensing & support
    • ArcGIS
    • ArcGIS.com
    • QGIS
    • CARTO.com
    • MapBox.com
    • Google Earth Engine
    • R
    • Python
  • locator.stanford.edu
  • SGC Computer Lab

Data Collections/Services

  • Planet.com
  • SPIRE (AIS)
  • locator.stanford.edu
  • Topographic Index Maps
  • Earthworks.stanford.edu

and...

  • Event Planning
  • License Review
  • Software Development
  • Hardware Maintenance
  • Space Design
  • HR
  • Advisory Committees
  • etc...

Research Collaboration

https://tasks.hotosm.org/

http://foundation.digitalglobe.com/

#Import modules
import glob, os, gdal, fnmatch

#Set base directory to location of script
base_directory = os.path.abspath('')

#Make a list of Multispectral directories with 'MUL' in the path
multi_directory_list = glob.glob(os.path.join(base_directory, '*MUL'))

#Make Panchromatic directory [pan_directory] path by replacing 'MUL' with 'PAN'
for multi_directory in multi_directory_list:
    pan_directory = multi_directory.replace('MUL','PAN')
    print(multi_directory)
    print(pan_directory)
    #Make a list of TIF files in the multi_directory
    multi_tiffs_list = fnmatch.filter((os.listdir(multi_directory)), '*.TIF')
    for multi_tiff_name in multi_tiffs_list:
        print(multi_tiff_name)
#Get the matching panchromatic image for the current multispectral by searching for the RowCol
        multi_rowcol_wildcard = '*'+multi_tiff_name[19:24]+'*'
        #print(multi_rowcol)
        pan_tiffs_list = fnmatch.filter((os.listdir(pan_directory)), '*.TIF')
        pan_tiff_name = fnmatch.filter(pan_tiffs_list, multi_rowcol_wildcard)
        #print(pan_tiff_name[0])
#Pan-sharpen the multispectral using it's corresponding panchromatic image using JPEG compression and internal tiles
        print('pansharpen')
        os.system('python gdal_pansharpen.py -co NBITS=12 -co COMPRESS=JPEG -co JPEG_QUALITY=50 -co PHOTOMETRIC=YCBCR -co TILED=YES ' + os.path.join(pan_directory,pan_tiff_name[0]) + ' ' + os.path.join(multi_directory,multi_tiff_name) + ',band=7 ' + os.path.join(multi_directory,multi_tiff_name) + ',band=5 ' + os.path.join(multi_directory,multi_tiff_name) + ',band=3 ' + base_directory + '/sharp_' + multi_tiff_name)
#Add overviews for resulting tiffs
        os.system('gdaladdo --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR --config INTERLEAVE_OVERVIEW PIXEL -r average ' + base_directory + '/sharp_' + multi_tiff_name + ' 2 4 8 16')
#Create a Virtual Raster Mosaic of VRT type from all resulting sharpened TIFF images
print('create VRT mosaic from SHARP images')
os.system('gdalbuildvrt sharpmosaic.vrt *.TIF')
#Haven't finished figuring out how to get a decently stretched image out of this part. More to do!
print('MBtiles out')
print('gdal_translate sharpmosaic.vrt sharpmosaic.mbtiles -of MBTILES')
print('gdaladdo -r average sharpmosaic.mbtiles 2 4 8 16')

https://github.com/mapninja/DGF_parser

HIVE

13440 x 5400 x .53m pixels
=
20 sq km

 

Typical Monitor

1440 x 900 x .53m pixels
=
.7 sq km

 

Outcomes

  • 5,000+ sq km
  • 225 settlements
  • only 2 abandoned by arrival

 

  • We surveyed Nyangatom 347 women of reproductive age

  • Recorded physical measurements and illness histories for 824 of their children 15 years of age and younger, 572 of whom were under five.

Be a...

  • Tinkerer
  • Conduit
  • Connection
  • Geospatial Swiss Army Knife

Libraries are the heart of

The University

SGC Lightning Overview

By Stace Maples

SGC Lightning Overview

SGC Service Highlights in 5

  • 177