Coverage Commands#

Manage GeoServer coverages (raster layers). Coverages represent published raster data like GeoTIFF, satellite imagery, elevation models, and other gridded data.

Overview#

A coverage is to rasters what a layer is to vectors:

  • Coveragestore: Connection to raster data source (like a datastore for vectors)
  • Coverage: Published raster layer that can be accessed via WMS/WCS

Coverage Store Management#

Coverage stores define connections to raster data sources.

List Coverage Stores#

List all coverage stores in a workspace:

1
./geoserver-cli coverage store list -w my_workspace

Output:

1
2
3
dem
satellite_imagery
elevation_derived

Get Coverage Store Details#

Get information about a specific coverage store:

1
./geoserver-cli coverage store get dem -w my_workspace

Output:

1
2
3
4
5
Name: dem
Type: GeoTIFF
Enabled: true
URL: file:///data/rasters/dem.tif
Description: Digital Elevation Model

Create Coverage Store#

Create a new coverage store for raster data:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# GeoTIFF file
./geoserver-cli coverage store create dem -w my_workspace \
  --type GeoTIFF \
  --url "file:///data/rasters/dem.tif" \
  --description "Digital Elevation Model"

# ImageMosaic (folder of GeoTIFFs)
./geoserver-cli coverage store create imagery -w my_workspace \
  --type ImageMosaic \
  --url "file:///data/imagery/"

# Remote raster
./geoserver-cli coverage store create satellite -w my_workspace \
  --type GeoTIFF \
  --url "http://remote-server.com/rasters/satellite.tif"

Supported Coverage Store Types#

TypeFormatUse Case
GeoTIFFSingle GeoTIFF fileStandard raster format
ImageMosaicFolder of tiled/mosaicked GeoTIFFsLarge datasets, multiple files
ArcGridESRI ASCII GridLegacy DEM/elevation data
WorldImageGeoJPEG, GeoTIFF with .jgw filesQuick georeference
GDAL-basedMultiple GDAL-supported formatsOther raster types

Update Coverage Store#

Update an existing coverage store:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Update URL
./geoserver-cli coverage store update dem -w my_workspace \
  --url "file:///data/rasters/dem_updated.tif"

# Update description
./geoserver-cli coverage store update dem -w my_workspace \
  --description "Updated Digital Elevation Model v2"

# Disable store
./geoserver-cli coverage store update dem -w my_workspace \
  --enabled false

Delete Coverage Store#

Delete a coverage store:

1
./geoserver-cli coverage store delete dem -w my_workspace --yes

!!! warning “Deletion is Permanent” Deleting a coverage store removes all associated coverages. This action cannot be undone.

Coverage (Raster Layer) Management#

List Coverages in a Store#

Discover published raster layers in a coverage store:

1
./geoserver-cli coverage list -s dem -w my_workspace

Output:

1
2
dem
dem_derivatives

Update Coverage Configuration#

Configure published raster layer properties:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Set default style for rendering
./geoserver-cli coverage update dem -s dem_store -w my_workspace \
  --default-style hillshade

# Set rendering interpolation method
./geoserver-cli coverage update dem -s dem_store -w my_workspace \
  --interpolation bilinear

# Enable/disable coverage
./geoserver-cli coverage update dem -s dem_store -w my_workspace \
  --enabled true

# Control advertisement in WMS capabilities
./geoserver-cli coverage update dem -s dem_store -w my_workspace \
  --advertised true

# Multiple updates at once
./geoserver-cli coverage update dem -s dem_store -w my_workspace \
  --default-style hillshade \
  --interpolation bicubic \
  --enabled true \
  --advertised true

# View current configuration (no flags)
./geoserver-cli coverage update dem -s dem_store -w my_workspace

Show Coverage Metadata#

Display detailed raster information:

1
./geoserver-cli coverage metadata dem -s dem_store -w my_workspace

Output:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Raster Metadata: dem
  Title: Digital Elevation Model
  CRS: EPSG:4326
  Band Count: 1
  Data Type: float32
  Native Bounds:
    Min: (-180.00, -90.00)
    Max: (180.00, 90.00)
    Size: 360.00 x 180.00
  Geographic Bounds (WGS84):
    Min: (-180.00, -90.00)
    Max: (180.00, 90.00)

Output when viewing configuration:

1
2
3
4
5
6
7
Current coverage configuration:
  Name: dem
  Title: Digital Elevation Model
  Default Style: hillshade
  Enabled: true
  Advertised: true
  CRS: EPSG:4326

Coverage Properties#

PropertyDescription
EnabledCoverage can be accessed via WMS/WCS when enabled
AdvertisedCoverage appears in GetCapabilities responses
Default StyleStyle used for rendering in WMS requests
CRSCoordinate Reference System (EPSG code)

Common Workflows#

Publish Elevation Model#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 1. Create coverage store for DEM
./geoserver-cli coverage store create dem -w gis \
  --type GeoTIFF \
  --url "file:///data/dem.tif" \
  --description "Digital Elevation Model"

# 2. The coverage is automatically created
# 3. List available coverages in the store
./geoserver-cli coverage list -s dem -w gis

# 4. Configure the coverage
./geoserver-cli coverage update dem -s dem -w gis \
  --default-style hillshade \
  --enabled true \
  --advertised true

Create Imagery Mosaic#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 1. Prepare folder with GeoTIFFs
# /data/imagery/
#   ├── tile_001.tif
#   ├── tile_002.tif
#   └── tile_003.tif

# 2. Create ImageMosaic store
./geoserver-cli coverage store create ortho_2024 -w gis \
  --type ImageMosaic \
  --url "file:///data/imagery/" \
  --description "Orthophoto Mosaic 2024"

# 3. Mosaic is automatically discovered

Manage Multiple Raster Datasets#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Create multiple coverage stores
./geoserver-cli coverage store create dem -w gis --type GeoTIFF --url "file:///data/dem.tif"
./geoserver-cli coverage store create slope -w gis --type GeoTIFF --url "file:///data/slope.tif"
./geoserver-cli coverage store create aspect -w gis --type GeoTIFF --url "file:///data/aspect.tif"

# List all
./geoserver-cli coverage store list -w gis

# Verify each
./geoserver-cli coverage store get dem -w gis
./geoserver-cli coverage store get slope -w gis
./geoserver-cli coverage store get aspect -w gis

Rendering and Styling#

Interpolation Methods#

Choose appropriate interpolation for your raster type:

MethodUse CaseQuality
nearestClassified data, land use, discrete valuesFastest
bilinearContinuous data (DEM, temperature)Balanced
bicubicHigh-quality satellite imagerySlower
quadraticFine details in elevation modelsSlowest

Example: Configure interpolation

1
2
3
4
5
6
7
8
# For elevation model - use bilinear
./geoserver-cli coverage update dem -s dem -w gis --interpolation bilinear

# For satellite imagery - use bicubic
./geoserver-cli coverage update satellite -s imagery -w gis --interpolation bicubic

# For land use classification - use nearest
./geoserver-cli coverage update lulc -s landuse -w gis --interpolation nearest

Styling Rasters with SLD#

Apply visual styling to rasters:

1
2
3
4
5
6
7
8
9
# Create hillshade style for elevation model
./geoserver-cli style create dem_hillshade --sld @hillshade.sld

# Apply to DEM coverage
./geoserver-cli coverage update dem -s dem -w gis --default-style dem_hillshade

# Create false color composite style
./geoserver-cli style create ndvi_false_color --sld @ndvi_color.sld
./geoserver-cli coverage update ndvi -s ndvi -w gis --default-style ndvi_false_color

Best Practices#

Organize by Type#

Group related rasters in descriptive stores:

1
2
3
4
5
6
7
8
# By data type
coverage store create dem -w gis --type GeoTIFF --url "file:///data/dem.tif"
coverage store create imagery -w gis --type ImageMosaic --url "file:///data/imagery/"
coverage store create ndvi -w gis --type GeoTIFF --url "file:///data/ndvi.tif"

# By time period
coverage store create ndvi_2023 -w gis --type GeoTIFF --url "file:///data/ndvi_2023.tif"
coverage store create ndvi_2024 -w gis --type GeoTIFF --url "file:///data/ndvi_2024.tif"

Use Descriptive Names#

Choose clear, meaningful store names:

1
2
3
4
5
6
# Good
./geoserver-cli coverage store create dem_10m_2024 -w gis --type GeoTIFF --url "file:///data/dem.tif"
./geoserver-cli coverage store create landsat8_rgb -w gis --type GeoTIFF --url "file:///data/ls8.tif"

# Bad
./geoserver-cli coverage store create raster1 -w gis --type GeoTIFF --url "file:///data/data.tif"

Document Your Data#

Use descriptions to document raster data:

1
2
3
4
./geoserver-cli coverage store create dem -w gis \
  --type GeoTIFF \
  --url "file:///data/dem.tif" \
  --description "USGS NED DEM 30m resolution from 2024, EPSG:4326, covering contiguous US"

Integration with Other Commands#

With Layer Configuration#

Configure raster layers using the layer command:

1
2
3
4
5
# Set default style for raster layer
./geoserver-cli layer update dem --default-style hillshade_style

# Enable/advertise raster layer
./geoserver-cli layer update dem --enabled true --advertised true

With Styles#

Apply styling to rasters:

1
2
3
4
5
# Create hillshade style for DEM
./geoserver-cli style create dem_hillshade --sld @hillshade.sld

# Apply to DEM layer
./geoserver-cli layer update dem --default-style dem_hillshade

With QGIS Export#

Export rasters to QGIS projects:

1
2
3
4
5
6
7
# Generate QGIS project with raster layers
./geoserver-cli qgis export project -w gis -o analysis.qgs

# Project includes:
# - Vector layers
# - Raster coverages
# - Configured styles

Troubleshooting#

Coverage Store Not Found#

Verify the store exists:

1
2
./geoserver-cli coverage store list -w my_workspace
./geoserver-cli coverage store get dem -w my_workspace

File URL Issues#

Ensure file paths are correct and readable by GeoServer:

1
2
3
4
5
6
7
8
# Correct: file:// URLs
--url "file:///data/dem.tif"

# Verify path exists
ls -la /data/dem.tif

# Check GeoServer can read it
# (Usually runs as a different user, so check permissions)

ImageMosaic Not Discovering Files#

Ensure the folder contains georeferenced rasters:

1
2
3
4
5
6
# All files should be GeoTIFFs with spatial reference
ls -la /data/imagery/
file /data/imagery/*.tif | grep "GeoTIFF"

# Verify spatial metadata
gdalinfo /data/imagery/tile_001.tif | grep -i "coordinate system"

See Also#