{
  "title": "RotationInfo Visual Variable",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "The rotation visual variable defines how features rendered with marker symbols are rotated. The rotation value is determined by a value in a field or an Arcade expression calculating a value. Use either the `field` property or `valueExpression` when specifying rotation values.",
  "properties": {
    "axis": {
      "type": "string",
      "description": "Defines the rotation axis the visual variable should be applied to when rendering features with an ObjectSymbol3DLayer. [Detailed description](static/objectSymbolLayerOrientation.md).",
      "enum": [
        "heading",
        "roll",
        "tilt"
      ],
      "default": "heading"
    },
    "field": {
      "type": "string",
      "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided."
    },
    "legendOptions": {
      "type": "object",
      "allOf": [
        {
          "$ref": "visualVariableLegendOptions_schema.json"
        },
        {
          "properties": {
            "title": {},
            "showLegend": {}
          },
          "additionalProperties": false
        }
      ]
    },
    "rotationType": {
      "type": "string",
      "description": "Defines the origin and direction of rotation depending on how the angle of rotation was measured. Possible values are `geographic` which rotates the symbol from the north in a clockwise direction and `arithmetic` which rotates the symbol from the east in a counter-clockwise direction.",
      "enum": [
        "arithmetic",
        "geographic"
      ],
      "default": "geographic"
    },
    "type": {
      "type": "string",
      "description": "A string value indicating the type of visual variable used for the renderer.",
      "enum": [
        "rotationInfo"
      ]
    },
    "valueExpression": {
      "type": "string",
      "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number."
    },
    "valueExpressionTitle": {
      "type": "string",
      "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property."
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "esriDocumentation": {
    "examples": [
      {
        "title": "RotationInfo Visual Variable",
        "description": "Live sample web scene showing [use of the rotationInfo visual variable](https://www.arcgis.com/home/webscene/viewer.html?webscene=30973f38dc5f4e019bf7f4926abd1571).",
        "code": {
          "visualVariables": [
            {
              "type": "rotationInfo",
              "rotationType": "geographic",
              "field": "WIND_DIRECT"
            }
          ]
        }
      }
    ]
  }
}
