QSA REST API : /api/symbology

Vector layers rendering can be configured with several kinds of symbols according to the geometry type. The symbol selector in QGIS is very dense but for now, only Marker, Line and Fill simple symbols are supported.

The /api/symbology endpoint allows to dynamically retrieve the corresponding parameters as well as raster renderer properties depending on QGIS Server version.

MethodURLDescription
GET/api/symbology/vector/point/single_symbol/marker/propertiesMarker simple symbol properties
GET/api/symbology/vector/line/single_symbol/line/propertiesLine simple symbol properties
GET/api/symbology/vector/polygon/single_symbol/fill/propertiesPolygon simple symbol properties
GET/api/symbology/vector/rendering/propertiesVector layer rendering properties
GET/api/symbology/raster/singlebandgray/propertiesSingle band gray properties
GET/api/symbology/raster/multibandcolor/propertiesMulti band color properties
GET/api/symbology/raster/singlebandpseudocolor/propertiesSingle band pseudocolor properties
GET/api/symbology/raster/singlebandpseudocolor/ramp/{name}/propertiesSingle band pseudocolor ramp properties
GET/api/symbology/raster/rendering/propertiesRaster layer rendering properties

Examples:

# Return single symbol properties for polygon layers
$ curl "http://localhost:5000/api/symbology/vector/polygon/single_symbol/fill/properties" | jq
{
  "border_width_map_unit_scale": "3x:0,0,0,0,0,0",
  "color": "0,0,255,255",
  "joinstyle": "bevel",
  "offset": "0,0",
  "offset_map_unit_scale": "3x:0,0,0,0,0,0",
  "offset_unit": "MM",
  "outline_color": "35,35,35,255",
  "outline_style": "solid (no, solid, dash, dot, dash dot, dash dot dot)",
  "outline_width": "0.26",
  "outline_width_unit": "MM",
  "style": "solid"
}

# Return multi band gray properties for raster layers
$ curl "http://localhost:5000/api/symbology/raster/multibandcolor/properties" | jq
{
  "blue": {
    "band": 3,
    "min": 0.0,
    "max": 1.0
  },
  "green": {
    "band": 2,
    "min": 0.0,
    "max": 1.0
  },
  "red": {
    "band": 1,
    "min": 0.0,
    "max": 1.0
  }
  "contrast_enhancement": {
    "algorithm": "StretchToMinimumMaximum (StretchToMinimumMaximum, NoEnhancement)",
    "limits_min_max": "MinMax (MinMax, UserDefined)"
  }
}