{
  "metadata": {
    "title": "hill-shaded DEM with opacity and color map for shading intensity",
    "abstract": "Applying hill-shading a color map to a Digital Elevation Model with Style & Symbology Basic Coverage Styling. Changed for the cartosym-draft-check gallery: drawn over example 5's colors (colorMap stretched to 500–2000 m) on a second layer named Terrain."
  },
  "stylingRules": [
    {
      "selector": {
        "op": "and",
        "args": [
          {
            "op": "=",
            "args": [
              {
                "sysId": "dataLayer.id"
              },
              "Terrain"
            ]
          },
          {
            "op": "=",
            "args": [
              {
                "sysId": "dataLayer.type"
              },
              "coverage"
            ]
          }
        ]
      },
      "symbolizer": {
        "visibility": false
      },
      "nestedRules": [
        {
          "selector": {
            "op": "<",
            "args": [
              {
                "sysId": "viz.sd"
              },
              200000
            ]
          },
          "symbolizer": {
            "visibility": true,
            "opacity": 0.8,
            "zOrder": 1,
            "singleChannel": {
              "property": "elevation"
            },
            "colorMap": [
              [
                500,
                [
                  96,
                  136,
                  73
                ]
              ],
              [
                1040,
                [
                  226,
                  219,
                  167
                ]
              ],
              [
                1280,
                [
                  252,
                  197,
                  117
                ]
              ],
              [
                1640,
                [
                  254,
                  168,
                  134
                ]
              ],
              [
                2000,
                [
                  250,
                  250,
                  250
                ]
              ]
            ]
          }
        }
      ]
    },
    {
      "selector": {
        "op": "and",
        "args": [
          {
            "op": "=",
            "args": [
              {
                "sysId": "dataLayer.id"
              },
              "Elevation"
            ]
          },
          {
            "op": "=",
            "args": [
              {
                "sysId": "dataLayer.type"
              },
              "coverage"
            ]
          }
        ]
      },
      "symbolizer": {
        "visibility": false
      },
      "nestedRules": [
        {
          "selector": {
            "op": "<",
            "args": [
              {
                "sysId": "viz.sd"
              },
              200000
            ]
          },
          "symbolizer": {
            "visibility": true,
            "opacity": 0.8,
            "zOrder": 1,
            "singleChannel": {
              "property": "elevation"
            },
            "hillShading": {
              "factor": 56,
              "sun": {
                "azimuth": 45.0,
                "elevation": 60.0
              },
              "colorMap": [
                [
                  0.0,
                  "black"
                ],
                [
                  0.15,
                  "gray"
                ],
                [
                  0.35,
                  "silver"
                ],
                [
                  0.55,
                  "white"
                ]
              ],
              "opacityMap": [
                [
                  0.0,
                  0.75
                ],
                [
                  0.15,
                  0.5
                ],
                [
                  0.35,
                  0.25
                ],
                [
                  0.55,
                  0.0
                ]
              ]
            }
          }
        }
      ]
    }
  ]
}