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#
| Type | Format | Use Case |
|---|
| GeoTIFF | Single GeoTIFF file | Standard raster format |
| ImageMosaic | Folder of tiled/mosaicked GeoTIFFs | Large datasets, multiple files |
| ArcGrid | ESRI ASCII Grid | Legacy DEM/elevation data |
| WorldImage | GeoJPEG, GeoTIFF with .jgw files | Quick georeference |
| GDAL-based | Multiple GDAL-supported formats | Other 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:
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
|
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#
| Property | Description |
|---|
| Enabled | Coverage can be accessed via WMS/WCS when enabled |
| Advertised | Coverage appears in GetCapabilities responses |
| Default Style | Style used for rendering in WMS requests |
| CRS | Coordinate 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:
| Method | Use Case | Quality |
|---|
| nearest | Classified data, land use, discrete values | Fastest |
| bilinear | Continuous data (DEM, temperature) | Balanced |
| bicubic | High-quality satellite imagery | Slower |
| quadratic | Fine details in elevation models | Slowest |
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#