Use Cases
Dockerized Deployment of GeoServer and Analysis Ready Data
Keywords: geoserver; WMS; WFS
Domain: Domain Agnostic
Language: API
Description:
Using GeoServer to distribute analysis-ready data to the public via standardized, open source, dynamic services.
Dockerized Deployment of GeoServer and Analysis Ready Data
Introduction/Background:
The Water Mission Area (WMA) division of the USGS has numerous projects that are creating analysis-ready data for consumption by scientists and the general public. While there are numerous methods to publish data and make it discoverable/downloadable, USGS scientists needed a way to make the analysis-ready data available via standardized, dynamic consumable services. One method of meeting this need was to use GeoServer. GeoServer is a popular, well-supported open source GIS server project that follows OGC standards (
https://geoserver.org
).
Implementation:
- Prepping the analysis-ready data to be served via GeoServer: Our team uses automated extract, transfer, and load (ETL) processes to acquire data from published resources (such as ScienceBase ) and load into our system. The data are programmatically loaded into various cloud data stores (S3, PostGIS, EFS) and then configured/added into GeoServer’s available data library. New datasets can easily be added by modifying a generic ETL script in our internal GitLab repository.
- Deploying and hosting GeoServer: Our team practices setting up all enterprise solutions as IAC (Infrastructure as Code). Our GeoServer implementation uses Docker to manage the GeoServer environment. We deploy our Dockerized GeoServer using CDK (Amazon’s Cloud Development Kit) along with GitLab’s CI/CD deploy pipeline, where it is hosted in a cluster.
- GeoServer provides the following standard
OGC
analysis-ready data services (of which we mainly use WMS & WFS):
- WMS - Web Mapping Service
- WFS - Web Feature Service
- WCS - Web Coverage Service
- WPS - Web Processing Service
- WMTS - Web Map Tile Service
GeoServer in Use:
- Our production GeoServer services are available at: https://labs.waterdata.usgs.gov/geoserver/web
- Available data services (as of 9/1/2023):
Our team’s implementation of GeoServer receives over 5 million requests per month from other USGS projects and external users.
Other projects that utilize this GeoServer are:
HyRiver
NHDPlusTools