Image Mosaics – OGC WMS via GeoServer – Demo



Image Mosaics – OGC WMS via GeoServer – Demo

2 0


dataviz-nov2015

Demo script, supporting code and scripts for Nov 2015 DataViz meetup

On Github gisjedi / dataviz-nov2015

Image Mosaics

OGC WMS via GeoServer

Presentation by Jonathan Meyer Applied Information Sciences

November 12, 2015

Agenda

  • Motivation
  • Dataset
  • Standards
  • Software
  • Automation
  • Demo
  • Review
  • Links

Motivation

Provide single point of access to thousands of images individually or as composite mosaic.

Dataset

Suomi National Polar-orbiting Partnership (NPP) satellite VIIRS sensor Day / Night Band collections.

Standards

Open Geospatial Consortium (OGC) Web Map Service (WMS) complaint HTTP service.

Software

Leveraging a fully FOSS stack:

  • PostgreSQL / PostGIS
  • GeoServer
  • OGC Preview

Automation

Your time is valuable. Don't repeat yourself. Use:

  • GeoServer REST API
  • Docker
  • Scripting (Python/BASH/Perl *gasp*)

Demo

  • Stack Initialization
  • Image Mosaic Configuration
  • WMS Query Examples
  • REST API Seeding and Manipulation
  • OGC Preview Visualization

Stack Initialization

docker-compose build

docker-compose up -d

bash initial-viirs-dnb.sh

Image Mosaic Configuration

indexer.properties

TimeAttribute=collect_time
Schema=*the_geom:Polygon,location:String,collect_time:java.util.Date
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](collect_time)
Caching=false
AbsolutePath=true
Name=viirs_dnb

timeregex.properties

regex=[0-9]{8}_[0-9]{6},format=yyyyMMdd_HHmmss

fileregex.properties

regex=.*

WMS Query Examples

Last 24 hours of data (relative to server time):

/geoserver/wms/reflect?
layers=mosaic:viirs-dnb&time=p1d/present

Only data for the 10th:

/geoserver/wms/reflect?
layers=mosaic:viirs-dnb&time=2015-11-10/2015-11-11

Mosaic REST API

List images in mosaic:

/geoserver/rest/workspaces/mosaic/coveragestores/viirs-dnb/
coverages/viirs-dnb/index/granules.json [GET]

Delete image by name from mosaic:

/geoserver/rest/workspaces/mosaic/coveragestores/viirs-dnb/
coverages/viirs-dnb/index/granules.json?filter=file_name=
'npp_viirs_adaptive_dnb_20151111_230621_wgs84_fit' [DELETE]

Add image by system path to mosaic:

/geoserver/rest/workspaces/mosaic/coveragestores/
viirs-dnb/external.imagemosaic
[POST with file system URL as body]

OGC Preview Visualization

Review

  • GeoServer to provide OGC WMS exposure of images
  • Footprint index stored in PostGIS, column index as needed
  • GDAL for mosaic performance optimization
  • Isolation and reproducibility via Docker and GeoServer REST API

Links

Questions?

Source code and presentation http://github.com/gisjedi/dataviz-nov2015

Image Mosaics OGC WMS via GeoServer Presentation by Jonathan Meyer Applied Information Sciences November 12, 2015