GeoServer

Overview

GeoServer is an open-source server written in Java that allows users to share and edit geospatial data. It implements Open Geospatial Consortium (OGC) standards including Web Map Service (WMS), Web Feature Service (WFS), and Web Coverage Service (WCS), making it a cornerstone of open-source GIS infrastructure.

Key Features

FeatureDescription
OGC CompliantWMS, WFS, WCS, WMTS, WPS
Data SourcesShapefile, PostGIS, GeoPackage, Oracle, SQL Server
StylingSLD (Styled Layer Descriptor)
SecurityRole-based access control
REST APIConfiguration via REST
Web AdminBrowser-based administration

Supported Services

ServiceDescription
WMSRendered map images
WMTSCached tile pyramids
WFSVector feature access and editing
WCSRaster coverage access
WPSServer-side geoprocessing
CSWCatalog and metadata services

Data Sources

FormatTypeNotes
PostGISVectorRecommended for production
GeoPackageVector/RasterGood for file-based
ShapefileVectorLegacy support
GeoTIFFRasterStandard raster
ImageMosaicRasterLarge imagery collections
Oracle SpatialVectorEnterprise
SQL ServerVectorEnterprise

REST API Examples

Get Layers

curl -u admin:geoserver \
  "http://localhost:8080/geoserver/rest/layers.json"

Create Workspace

curl -u admin:geoserver -X POST \
  -H "Content-Type: application/json" \
  -d '{"workspace":{"name":"myworkspace"}}' \
  "http://localhost:8080/geoserver/rest/workspaces"

Publish PostGIS Layer

curl -u admin:geoserver -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "featureType": {
      "name": "parcels",
      "nativeName": "parcels",
      "srs": "EPSG:4326"
    }
  }' \
  "http://localhost:8080/geoserver/rest/workspaces/myworkspace/datastores/postgis/featuretypes"

Docker Deployment

# docker-compose.yml
version: '3'
services:
  geoserver:
    image: kartoza/geoserver:2.24.0
    ports:
      - "8080:8080"
    environment:
      - GEOSERVER_ADMIN_PASSWORD=geoserver
    volumes:
      - geoserver-data:/opt/geoserver/data_dir
 
volumes:
  geoserver-data:

Alternatives

ServerBest For
GeoServerFull OGC stack, enterprise
pg_tileservSimple vector tiles from PostGIS
pg_featureservSimple OGC Features from PostGIS
MapServerHigh-performance WMS
QGIS ServerQGIS project publishing

Appendix

Created: 2024-12-23 | Modified: 2024-12-23

See Also


(c) No Clocks, LLC | 2024