size

Specifies the marker size to use at any given map scale. This is required if valueUnit is set to unknown.

Properties

Property Details
expression The value which allows a size to be defined based on the map scale. Currently the only supported expression is view.scale.
stops An array of objects that define the size of the symbol at various values of the expression. Each object in the array has a numeric size property and a numeric value property. If the value calculated from the expression matches the value of a stop, then the size corresponding to that stop is selected. For example, if expression is set to view.scale, the value corresponds to the map's scale. The size represents the symbol size (in points) that corresponds to this scale. If the map scale matches the scale value of a stop, the size corresponding to that stop value is used as the symbol size for the features. If the map scale value falls between two stops, the symbol size is interpolated between the sizes of the two stops. The minSize and maxSize stop values are usually the same, although it is possible to have different values depending on how minSize is calculated versus the maxSize.
type Value indicating the type of rendering.
Value of this property must be sizeInfo
valueExpression An Arcade expression evaluating to a number.

Additional information

The sample snippet below illustrates a scenario where the stops are optimized and minSize and maxSize values are different. In this snippet, all the scales smaller than 288895 have a minSize of 16 and maxSize of 80. This could be optimized by removing the first stop from both minSize and maxSize. The scale values would remain identical even after removing the first stop. This could vary depending on how many consecutive stops have the same size.

maxSize Example

{
  "maxSize": {
    "type": "sizeInfo",
    "expression": "view.scale",
    "stops": [
      {
        "value": 1128,
        "size": 80
      },
      {
        "value": 288895,
        "size": 80
      }
    ]
  }
}

minSize Example

{
  "minSize": {
    "expression": "view.scale",
    "stops": [
      {
        "size": 50,
        "value": 0
      },
      {
        "size": 75,
        "value": 100
      }
    ],
    "type": "sizeInfo"
  }
}

Feedback on this topic?