arcgis.map module

Map

class arcgis.map.Map(**kwargs)
property basemap

Returns a BasemapManager object that can be used to handle basemap related properties and methods on the Map.

property bookmarks

Get an instance of the Bookmarks that can be seen in your Map. This class can be used to add and remove bookmarks as well as edit them. You can also enable and disable the bookmark widget on the rendered map in Jupyter Lab.

center

Get/Set the center of the rendered Map.

Parameter

Description

center

A [lat, long] list that represents the JSON of the map

widget’s center.

Returns:

A list that represents the latitude and longitude of the map’s center.

# Usage example: Sets the center of the map to the given lat/long
map.center = [34.05, -118.24]
property content

Returns a MapContent object that can be used to access the layers and tables in the map. This is useful for adding, updating, getting, and removing content from the Map.

export_to_html(path_to_file, title=None)

The export_to_html method takes the current state of the rendered map and exports it to a standalone HTML file that can be viewed in any web browser.

By default, only publicly viewable layers will be visible in any exported html map. Specify credentials_prompt=True to have a user be prompted for their credentials when opening the HTML page to view private content.

Warning

Follow best security practices when sharing any HTML page that prompts a user for a password.

Note

You cannot successfully authenticate if you open the HTML page in a browser locally like file://path/to/file.html. The credentials prompt will only properly function if served over a HTTP/HTTPS server.

Parameter

Description

path_to_file

Required string. The path to save the HTML file on disk.

title

Optional string. The HTML title tag used for the HTML file.

extent

Get/Set the map’s extent.

Note

You must include the spatial reference in the extent dictionary.

Parameter

Description

value

Required dict. map.extent = {

‘spatialReference’: {‘latestWkid’: 3857, ‘wkid’: 102100}, ‘xmax’: 5395723.072123609, ‘xmin’: -137094.78326911852, ‘ymax’: 10970767.576996306, ‘ymin’: 7336034.007980572

}

Returns:

A dictionary representing the extent

# Usage example: Sets the extent of the map to the given extent
map.extent = {
    "xmin": -124.35,
    "ymin": 32.54,
    "xmax": -114.31,
    "ymax": 41.95
    "spatialReference": { "wkid":102100 }
}
property layer_list

Get an instance of the LayerList class. You can use this class to enable or disable the layer list widget. Best used inside of Jupyter Lab.

property legend

Get an instance of the Legend class. You can use this class to enable or disable the legend widget. Best used inside of Jupyter Lab.

property offline_areas

The offline_areas property is the resource manager for offline areas cached for the WebMap object.

Returns:

The OfflineMapAreaManager for the WebMap object.

print(file_format, extent, dpi=92, output_dimensions=(500, 500), scale=None, rotation=None, spatial_reference=None, layout_template='MAP_ONLY', time_extent=None, layout_options=None)

The print method prints the Map object to a printable file such as a PDF, PNG32, JPG.

Note

The render and print operations happen server side (ArcGIS Online or Enterprise) and not on the client.

The print method takes the state of the Map, renders and returns either a page layout or a map without page surrounds of the specified extent in raster or vector format.

Parameter

Description

file_format

Required String. Specifies the output file format. Valid types:

PNG8 | PNG32 | JPG | GIF | PDF | EPS | SVG | SVGZ.

extent

Required Dictionary. Specify the extent to be printed.

# Example Usage:

>>> extent = {'spatialReference': {'latestWkid': 3857,
                                   'wkid': 102100},
              'xmin': -15199645.40582486,
              'ymin': 3395607.5273594954,
              'xmax': -11354557.134968376,
              'ymax': 5352395.451459487}

The spatial reference of the extent object is optional; when it is not provided, it is assumed to be in the map’s spatial reference. When the aspect ratio of the map extent is different than the size of the map on the output page or the output_dimensions, you might notice more features on the output map.

dpi

Optional integer. Specify the print resolution of the output file. dpi stands for dots per inch. A higher number implies better resolution and a larger file size.

output_dimensions

Optional tuple. Specify the dimensions of the output file in pixels. If the layout_template is not MAP_ONLY, the specific layout template chosen takes precedence over this paramter.

scale

Optional float. Specify the map scale to be printed. The map scale at which you want your map to be printed. This parameter is optional but recommended for optimal results. The scale property is especially useful when map services in the web map have scale-dependent layers or reference scales set. Since the map that you are viewing on the web app may be smaller than the size of the output map (for example, 8.5 x 11 in. or A4 size), the scale of the output map will be different and you could see differences in features and/or symbols in the web application as compared with the output map.

When scale is used, it takes precedence over the extent, but the output map is drawn at the requested scale centered on the center of the extent.

rotation

Optional float. Specify the number of degrees by which the map frame will be rotated, measured counterclockwise from the north. To rotate clockwise, use a negative value.

spatial_reference

Optional Dictionary.Specify the spatial reference in which map should be printed. When not specified, the following is the order of precedence:

  • read from the extent parameter

  • read from the base map layer of your web map

  • read from the layout_template chosen

layout_template

Optional String. The default value MAP_ONLY does not use any template.

time_extent

Optional List . If there is a time-aware layer and you want it to be drawn at a specified time, specify this property. This order list can have one or two elements. Add two elements (startTime followed by endTime) to represent a time extent, or provide only one time element to represent a time instant. Times are always in UTC.

# Example Usage to represent Tues. Jan 1, 2008 00:00:00 UTC:
# to Thurs. Jan 1, 2009 00:00:00 UTC.

>>> time_extent = [1199145600000, 1230768000000]

layout_options

Optional Dictionary. This defines settings for different available page layout elements and is only needed when an available layout_template is chosen. Page layout elements include title, copyright text, scale bar, author name, and custom text elements. For more details, see ExportWebMap specification.

Returns:

A URL to the file which can be downloaded and printed.

rotation

Get/Set the rotation of the rendered Map.

Parameter

Description

value

Required int. The rotation angle in degrees.

Returns:

The int value of the rotation angle

# Usage example: Sets the rotation angle of the map to 45 degrees
map.rotate = 45
save(item_properties, thumbnail=None, metadata=None, owner=None, folder=None)

Saves the Map object as a new Web Map Item in your GIS.

Note

If you started with a Map object from an existing web map item, calling this method will create a new item with your changes. If you want to update the existing Map item found in your portal with your changes, call the update method instead.

Parameter

Description

item_properties

Required dictionary. See table below for the keys and values. The three required keys are: ‘title’, ‘tag’, ‘snippet’.

thumbnail

Optional string. Either a path or URL to a thumbnail image.

metadata

Optional string. Either a path or URL to the metadata.

owner

Optional string. Defaults to the logged in user.

folder

Optional string. Name of the folder into which the web map should be saved.

Key:Value Dictionary Options for Argument item_properties

Key

Value

title

Required string. Name label of the item.

tags

Required string. Tags listed as comma-separated values, or a list of strings. Used for searches on items.

snippet

Required string. Provide a short summary (limit to max 250 characters) of the what the item is.

typeKeywords

Optional string. Provide a lists all subtypes, see URL 1 below for valid values.

description

Optional string. Description of the item.

extent

Optional dict. The extent of the item.

accessInformation

Optional string. Information on the source of the content.

licenseInfo

Optional string. Any license information or restrictions regarding the content.

culture

Optional string. Locale, country and language information.

access

Optional string. Valid values are private, shared, org, or public.

commentsEnabled

Optional boolean. Default is true, controls whether comments are allowed (true) or not allowed (false).

culture

Optional string. Language and country information.

The above are the most common item properties (metadata) that you set. To get a complete list, see the Common Parameters page in the ArcGIS REST API documentation.

Returns:

Item object corresponding to the new web map Item created.

# save the web map webmap_item_properties = {‘title’:’Ebola incidents and facilities’,

’snippet’:’Map created using Python API showing locations of Ebola treatment centers’, ‘tags’:[‘automation’, ‘ebola’, ‘world health’, ‘python’], ‘extent’: {‘xmin’: -122.68, ‘ymin’: 45.53, ‘xmax’: -122.45, ‘ymax’: 45.6, ‘spatialReference’: {‘wkid’: 4326}}}

new_wm_item = wm.save(webmap_item_properties, thumbnail=’./webmap_thumbnail.png’)

scale

Get/Set the map scale at the center of the rendered Map. If set to X, the scale of the map would be 1:X.

Parameter

Description

value

Required int.

Returns:

The int value of the scale

# Usage example: Sets the scale to 1:24000
map.scale = 24000
sync_navigation(map)

The sync_navigation method synchronizes the navigation from one rendered Map to another rendered Map instance so panning/zooming/navigating in one will update the other.

Note

Users can sync more than two instances together by passing in a list of Map instances to sync. The syncing will be remembered

Parameter

Description

map

Either a single Map instance, or a list of Map instances to synchronize to.

theme

Get/Set the widget theme when displaying in a Jupyter environment.

Values can be “light” or “dark”

property time_slider

Get an instance of the TimeSlider class. You can use this class to enable or disable the time slider on the widget. Best used inside of Jupyter Lab

unsync_navigation(map=None)

The unsync_navigation method unsynchronizes connections made to other rendered Map instances made via the sync_navigation method.

Parameter

Description

map

Optional, either a single Map instance, or a list of Map instances to unsynchronize. If not specified, will unsynchronize all synced Map instances.

update(item_properties=None, thumbnail=None, metadata=None)

The update method updates the Web Map Item in your GIS with the changes you made to the Map object. In addition, you can update other item properties, thumbnail and metadata.

Note

If you started with a Map object from an existing web map item, calling this method will update the item with your changes.

If you started out with a fresh Map object (without a web map item), calling this method will raise a RuntimeError exception. If you want to save the Map object into a new web map item, call the save method instead.

For item_properties, pass in arguments for the properties you want to be updated. All other properties will be untouched. For example, if you want to update only the item’s description, then only provide the description argument in item_properties.

Parameter

Description

item_properties

Optional dictionary. See table below for the keys and values.

thumbnail

Optional string. Either a path or URL to a thumbnail image.

metadata

Optional string. Either a path or URL to the metadata.

Key:Value Dictionary Options for Argument item_properties

Key

Value

typeKeywords

Optional string. Provide a lists all sub-types, see URL 1 below for valid values.

description

Optional string. Description of the item.

title

Optional string. Name label of the item.

tags

Optional string. Tags listed as comma-separated values, or a list of strings. Used for searches on items.

snippet

Optional string. Provide a short summary (limit to max 250 characters) of the what the item is.

accessInformation

Optional string. Information on the source of the content.

licenseInfo

Optional string. Any license information or restrictions regarding the content.

culture

Optional string. Locale, country and language information.

access

Optional string. Valid values are private, shared, org, or public.

commentsEnabled

Optional boolean. Default is true, controls whether comments are allowed (true) or not allowed (false).

The above are the most common item properties (metadata) that you set. To get a complete list, see the common parameters page in the ArcGIS REST API documentation.

Returns:

A boolean indicating success (True) or failure (False).

zoom

Get/Set the level of zoom applied to the rendered Map.

Parameter

Description

value

Required int. .. note:

The higher the number, the more zoomed in you are.
Returns:

Int value that represent the zoom level

# Usage example
map.zoom = 10
zoom_to_layer(item)

The zoom_to_layer method snaps the map to the extent of the provided Item object(s).

Zoom to layer is modifying the rendered map’s extent. It is best to run this method call in a separate cell from the map rendering cell to ensure the map is rendered before the extent is set.

Parameter

Description

item

The item at which you want to zoom your map to. This can be a single extent or an Item, Layer , DataFrame , FeatureSet, or FeatureCollection object.

Map Classes

Bookmarks

class arcgis.map.map_widget.Bookmarks(map)

The Bookmarks allows end users to quickly navigate to a particular area of interest. This class allows users to add, remove and edit bookmarks in their Map.

Note

This class should now be created by a user but rather called through the bookmarks property on a Map instance.

add(name, extent, rotation=None, time_extent=None, index=None)

Add a new bookmark

Parameter

Definition

name

Required string. The name of the bookmark.

extent

Required dict. The extent of the bookmark.

rotation

Optional float. The rotation of the viewpoint for the bookmark.

time_extent

Optional dict. The time extent of the bookmark item.

Example:
time_extent = {

“start”: datetime.datetime(1996, 11, 10), “end”: datetime.datetime(1996, 11, 25)

}

index

Required integer. The index position for the bookmark. If none specified, added to the end of the list.

property enabled

Get and set whether the bookmarks widget is shown on the rendered or not. Set to True for the bookmarks to be visible.

property list
remove(index)

Remove a bookmark from the list of bookmarks.

Parameter

Definition

index

Required integer. The index for the bookmark in the bookmarks list that will be removed.

Bookmark

class arcgis.map.map_widget.Bookmark(bookmark, bm_mngr)

Represent one bookmark in the webmap. This class can be used to edit a bookmark instant and can be accessed through the list property of the Bookmarks class.

Note

This class should now be created by a user but rather called through the list property on a Bookmarks instance.

edit(name=None, extent=None, rotation=None, time_extent=None)

Edit the properties of a bookmark. Edit the name, extent, rotation, scale and/or time_extent.

Parameter

Definition

name

Optional string. The name of the bookmark.

extent

Optional dict. The extent of the bookmark.

rotation

Optional float. The rotation of the viewpoint for the bookmark.

time_extent

Optional dict. The time extent of the bookmark item.

Example:
time_extent = {

“start”: datetime.datetime(1996, 11, 10), “end”: datetime.datetime(1996, 11, 25)

}

property extent

Returns the extent of the bookmark

property name

Returns the name of the bookmark

property viewpoint

Returns the current viewpoint set for the bookmark

MapContent

class arcgis.map.map_widget.MapContent(webmap)

This class allows users to manage the content of a webmap. Users can view the operational layers, add layers, reorder layers, and remove layers.

This class is created from the map_content property on a Map instance.

add(item, drawing_info=None, popup_info=None, index=None, options=None)

Add a layer or table to the map.

Parameter

Description

item

Required Portal Item, Layer, spatial DataFrame, or Feature Collection to add to the map.

  • If an item is passed in: Creates a new layer instance of the

appropriate layer class from an ArcGIS Online or ArcGIS Enterprise portal item. * If the item points to a feature service with multiple layers, then a GroupLayer is created. * If the item points to a service with a single layer, then it resolves to a layer of the same type of class as the service. * To add an ogc feature service, pass in an instance of the OGCFeatureService class. The first collection of the service will be added. If you want to specify the collection then you can pass in an instance of the FeatureCollection you want added. * A list of layers. This is useful when wanting to create a GroupLayer out of multiple layers. The list can contain any combination of the layer types listed above. * Raster object created from a local raster can be added. However, the raster will only render on the map and cannot be saved to the webmap. The raster will be added as a MediaLayer.

drawing_info

Optional dictionary representing the drawing info to apply to the layer. The keys can include any combination of: ‘renderer’, ‘labelingInfo’, ‘scaleSymbols’, ‘showLabels’, ‘transparency’. This can only be applied when adding one layer. Renderer ‘type’ can be “simple”, “uniqueValue”, “classBreaks”, “heatmap”, “dotDensity”, etc.

To create a renderer see the renderer module where all the dataclasses are defined.

Example Structure: drawing_info = {

“labelingInfo”: <list>, “renderer”: <Renderer Dataclass>, “scaleSymbols”: <bool>, “showLabels”: <bool>, “transparency”: <float>

}

More information on the structure of the dictionary can be found in the ArcGIS REST API documentation.

popup_info

Optional PopupInfo dataclass that can be created from the popups module. See: PopupInfo

index

Optional integer. Determines at what index the layer should be added.

options

Optional dictionary. Pass in key, value pairs that will edit the layer properties. This is useful for updating the layer properties that are not exposed through the other parameters. For example, you can update the layer title, opacity, or other properties that are applicable for the type of layer.

# Usage Example 1: Add a layer from a portal item
m = Map()
item = gis.content.get(<item_id>)

renderer = HeatmapRenderer(**{
        "authoringInfo": {"fadeRatio": 0.2},
        "type": "heatmap",
        "blurRadius": 5.555555555555556,
        "colorStops": [
            {"color": [133, 193, 200, 0], "ratio": 0},
            {"color": [144, 161, 190, 212], "ratio": 0.0925},
            {"color": [156, 129, 132, 255], "ratio": 0.17500000000000002},
            {"color": [167, 97, 170, 255], "ratio": 0.2575},
            {"color": [175, 73, 128, 255], "ratio": 0.34},
            {"color": [255, 255, 0, 255], "ratio": 1},
        ],
        "maxDensity": 0.611069562632112,
        "maxPixelIntensity": 139.70497545315783,
        "minDensity": 0,
        "minPixelIntensity": 0,
        "radius": 10,
})
m.add(item, drawing_info={"renderer": renderer})
draw(shape, popup=None, symbol=None, attributes=None, title=None)

Draw a shape on the map. This will add the shape as a feature collection to your layers of the map.

Note

Anything can be drawn from known Geometry objects.

Parameter

Description

shape

Required Geometry object. Known Geometry objects: Shape is one of [‘circle’, ‘ellipse’, Polygon, Polyline, MultiPoint, Point, ‘rectangle’, ‘triangle’].

popup

Optional PopupInfo Dataclass. See: PopupInfo

symbol

Optional Symbol Dataclass. See the symbols module where all the dataclasses are defined.

attributes

Optional dict. Specify a dict containing name value pairs of fields and field values associated with the graphic.

title

Optional string. The title of the feature collection that will be created from the geometry or feature set.

form(index)

Get an instance of the FormInfo dataclass for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property.

Through this class you can edit the form properties for your layer.

Layer types that have forms include: Feature Layer, Table, and Oriented Imagery Layer.

Parameter

Description

index

Required index specifying the layer who’s form properties you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the forms method in that class.

Returns:

FormInfo dataclass for the layer specified.

To see this dataclass, see the forms module where it is defined. You can also get the dataclass as a dict by calling the dict method on the dataclass.

layer_visibility(index)

Get an instance of the LayerVisibility class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property. Through this class you can edit the visibility for your layer on the map and in the legend.

Parameter

Description

index

Required index specifying the layer who’s visibility properties you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the layer_visibility method in that class.

Returns:

LayerVisibility class for the layer specified.

layers = None
move(index, group)

Move a layer into an existing GroupLayer’s list of layers.

Parameter

Description

index

Required int. The index of the layer you want to move.

group

Required GroupLayer instance. The group layer you want to move the layer to.

move_to_basemap(index)

Move a layer to be a basemap layer. A basemap layer is a layer that provides geographic context to the map. A web map always contains a basemap. The following is a list of possible basemap layer types:

  • Image Service Layer

  • Image Service Vector Layer

  • Map Service Layer

  • Tiled Image Service Layer

  • Tiled Map Service Layer

  • Vector Tile Layer

  • WMS Layer

Parameter

Definition

index

Required integer. The index of the layer from operational layers that will be moved to basemap layers. The list of available layers is found when calling the layers property on the Map.

# Create a Map from an existing Map Item.
wm = Map(item=<webmap_item_id>)
# Get and add the layer to the map
vtl = gis.content.get("<vector tile layer id>")
wm.content.add(vtl.layers[0])
# Move the layer to the basemap
wm.content.move_to_basemap(0)
wm.update()
popup(index)

Get an instance of the PopupManager class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the content.layers property. Through this class you can edit the popup for your layer.

Parameter

Description

index

Required index specifying the layer who’s popup you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the popup method in that class.

Returns:

PopupManager class for the layer specified.

remove(index=None, is_layer=True)

Remove a layer or table from the map either by specifying the index or passing in the layer dictionary.

Parameter

Description

index

Optional integer specifying the index for the layer you want to remove. To see a list of layers use the layers property.

is_layer

Optional boolean. Set to True if removing a layer and False if removing a table.

remove_all()

Remove all layers and tables from the map.

renderer(index)

Get an instance of the RendererManager class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property. Through this class you can edit the renderer for your layer.

Parameter

Description

index

Required index specifying the layer who’s renderer you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the renderer method in that class.

Returns:

RendererManager class for the layer specified.

reposition(current_index, new_index)

Reposition a layer in the Map Content’s layers. You can do this by specifying the index of the current layer you want to move and what index it should be at.

This method is useful if you have overlapping layers and you want to manage the order in which they are rendered on your map.

Parameter

Description

current_index

Required int. The index of where the layer currently is in the list of layers. You can see the list of layers by calling the layers property on your Group Layer instance.

Must be a layer. Cannot be a table.

new_index

Required int. The index you want to move the layer to.

reposition_to_top(index)

Reposition a layer to the top of the list of layers. This will make the layer render on top of all other layers.

Parameter

Description

index

Required int. The index of the layer you want to reposition to the top of the list.

tables = None
update_layer(index=None, labeling_info=None, renderer=None, scale_symbols=None, transparency=None, options=None, form=None)

This method can be used to update certain properties on a layer that is in your map.

Parameter

Description

index

Optional integer specifying the index for the layer you want to update. To see a list of layers use the layers property. This cannot be a group layer. To update a group layer, use the update method in the group layer class. It’s better to pass the index to be more specific with which layer you want to update.

labeling_info

Optional list of dictionaries. Defines the properties used for labeling the layer.

Example of some properties: labeling_info = [{

“labelExpression”: ‘[FAA_ID]’, “maxScale”: 0, “minScale”: 10000, “symbol”: {

“color”: [104, 104, 104, 255], “type”: “esriTS”, “verticalAlignment”: “bottom”, “horizontalAlignment”: “center”, “font”: {

“decoration”: “none”, “family”: “Arial”, “size”: 8, “style”: “normal”, “weight”: “bold”

}

}

}]

renderer

Optional Renderer Dataclass. See the renderer module where all the dataclasses are defined.

scale_symbols

Optional bool. Indicates whether symbols should stay the same size in screen units as you zoom in. False means the symbols stay the same size in screen units regardless of the map scale.

transparency

Optional int. Value ranging between 0 (no transparency) to 100 (completely transparent).

options

Optional dictionary. Pass in key, value pairs that will edit the layer properties. This is useful for updating the layer properties that are not exposed through the other parameters. For example, you can update the layer title, opacity, or other properties that are applicable for the type of layer.

form

Optional FormInfo Dataclass. See the forms module where all the dataclasses are defined. You can get the current FormInfo by calling the form property and indicating the index of the layer you want to get the form for. Forms are only supported for Feature Layers, Tables, and Oriented Imagery Layers.

Scene

class arcgis.map.Scene(**kwargs)

The Scene can be displayed in a Jupyter Lab environment.

The commands will be sent from the Scene class and all the methods in this class will affect what will be seen on the scene. The underlying web scene dictionary will be transformed in the Scene class.

A Scene contains layers of geographic data that are displayed in 3D. Scenes allow you to display real-world visualizations of landscapes, objects, buildings, and other 3D objects.

property basemap

Returns a BasemapManager object that can be used to handle basemap related properties and methods on the Scene.

camera

Get/Set the camera of the rendered Scene.

Parameter

Description

camera

A dictionary that represents the JSON of the scene widget’s camera. The dictionary included the keys: “position”, “heading”, and “tilt” The position indicates the x, y, and z coordinates for the camera. The heading is the heading of the camera in degrees. The tilt is the degrees with respect to the surface as projected down.

Example: scene.camera = {

“position”:{

‘x’: -5938587.158752469, ‘y’: -2827970.414173906, ‘z’: 46809.31127560418

}, “heading”: 400, “tilt”: 0.5

}

Returns:

A dictionary that represents the x,y, and z of the rendered Scene.

# Usage example
scene.camera = {
    "position":{
        'x': -5938587.158752469,
        'y': -2827970.414173906,
        'z': 46809.31127560418
    },
    "heading": 400,
    "tilt": 0.5
}
center

Get/Set the center of the rendered Scene.

Parameter

Description

center

A [lat, long] list that represents the JSON of the scene

widget’s center.

Returns:

A list that represents the latitude and longitude of the scene’s center.

# Usage example
scene.center = [34.05, -118.24]
property content

Returns a SceneContent object that can be used to access the layers and tables in the scene. This is useful for adding, updating, getting, and removing content from the Scene.

property environment

Get an instance of the Environment class. You can use this class to enable or disable widgets such as weather and daylight. You can also set these properties using python code.

extent

Get/Set the rendered map’s extent.

Note

Must provide a spatial reference key in the extent dictionary.

Parameter

Description

value

Required dict. map.extent = {

‘spatialReference’: {‘latestWkid’: 3857, ‘wkid’: 102100}, ‘xmax’: 5395723.072123609, ‘xmin’: -137094.78326911852, ‘ymax’: 10970767.576996306, ‘ymin’: 7336034.007980572

}

Returns:

A dictionary representing the extent

property heading

Get/Set the heading of the camera in degrees. Heading is zero when north is the top of the screen. It increases as the view rotates clockwise.

Parameter

Description

heading

A float that represents the heading in degrees.

property layer_list

Get an instance of the LayerList class. You can use this class to enable or disable the layer list widget. Best used inside of Jupyter Lab.

property legend

Get an instance of the Legend class. You can use this class to enable or disable the legend widget. Best used inside of Jupyter Lab.

save(item_properties, thumbnail=None, metadata=None, owner=None, folder=None)

Saves the Scene object as a new Web Scene Item in your GIS.

Note

If you started with a Scene object from an existing web scene item, calling this method will create a new item with your changes. If you want to update the existing Scene item found in your portal with your changes, call the update method instead.

Parameter

Description

item_properties

Required dictionary. See table below for the keys and values. The three required keys are: ‘title’, ‘tag’, ‘snippet’.

thumbnail

Optional string. Either a path or URL to a thumbnail image.

metadata

Optional string. Either a path or URL to the metadata.

owner

Optional string. Defaults to the logged in user.

folder

Optional string. Name of the folder into which the web scene should be saved.

Key:Value Dictionary Options for Argument item_properties

Key

Value

title

Required string. Name label of the item.

tags

Required string. Tags listed as comma-separated values, or a list of strings. Used for searches on items.

snippet

Required string. Provide a short summary (limit to max 250 characters) of the what the item is.

typeKeywords

Optional string. Provide a lists all subtypes, see URL 1 below for valid values.

description

Optional string. Description of the item.

extent

Optional dict. The extent of the item.

accessInformation

Optional string. Information on the source of the content.

licenseInfo

Optional string. Any license information or restrictions regarding the content.

culture

Optional string. Locale, country and language information.

access

Optional string. Valid values are private, shared, org, or public.

commentsEnabled

Optional boolean. Default is true, controls whether comments are allowed (true) or not allowed (false).

culture

Optional string. Language and country information.

The above are the most common item properties (metadata) that you set. To get a complete list, see the Common Parameters page in the ArcGIS REST API documentation.

Returns:

Item object corresponding to the new web scene Item created.

# save the web scene webscene_item_properties = {‘title’:’Ebola incidents and facilities’,

’snippet’:’Scene created using Python API showing locations of Ebola treatment centers’, ‘tags’:[‘automation’, ‘ebola’, ‘world health’, ‘python’], ‘extent’: {‘xmin’: -122.68, ‘ymin’: 45.53, ‘xmax’: -122.45, ‘ymax’: 45.6, ‘spatialReference’: {‘wkid’: 4326}}}

new_ws_item = ws.save(webscene_item_properties, thumbnail=’./webscene_thumbnail.png’)

scale

Get/Set the scene scale at the center of the rendered Scene. If set to X, the scale of the scene would be 1:X.

Parameter

Description

value

Required int.

Returns:

The int value of the scale

# Usage example: Sets the scale to 1:24000
scene.scale = 24000
sync_navigation(scene)

The sync_navigation method synchronizes the navigation from one rendered Scene to another rendered Scene instance so panning/zooming/navigating in one will update the other.

Note

Users can sync more than two instances together by passing in a list of Scene instances to sync. The syncing will be remembered

Parameter

Description

scene

Either a single Scene instance, or a list of Scene instances to synchronize to.

theme

Get/Set the widget theme when displaying in a Jupyter environment.

Values can be “light” or “dark”

property tilt

Get/Set the tilt of the rendered Scene. The tilt of the camera in degrees with respect to the surface as projected down from the camera position. Tilt is zero when looking straight down at the surface and 90 degrees when the camera is looking parallel to the surface.

Parameter

Description

tilt

A float that represents the tilt.

Returns:

A float that represents the tilt value.

property time_slider

Get an instance of the TimeSlider class. You can use this class to enable or disable the time slider on the widget. Best used inside of Jupyter Lab

unsync_navigation(scene=None)

The unsync_navigation method unsynchronizes connections made to other rendered Scene instances made via the sync_navigation method.

Parameter

Description

scene

Optional, either a single Scene instance, or a list of Scene instances to unsynchronize. If not specified, will unsynchronize all synced Scene instances.

update(item_properties=None, thumbnail=None, metadata=None)

The update method updates the Web Scene Item in your GIS with the changes you made to the Scene object. In addition, you can update other item properties, thumbnail and metadata.

Note

If you started with a Scene object from an existing web scene item, calling this method will update the item with your changes.

If you started out with a fresh Scene object (without a web scene item), calling this method will raise a RuntimeError exception. If you want to save the Scene object into a new web scene item, call the save method instead.

For item_properties, pass in arguments for the properties you want to be updated. All other properties will be untouched. For example, if you want to update only the item’s description, then only provide the description argument in item_properties.

Parameter

Description

item_properties

Optional dictionary. See table below for the keys and values.

thumbnail

Optional string. Either a path or URL to a thumbnail image.

metadata

Optional string. Either a path or URL to the metadata.

Key:Value Dictionary Options for Argument item_properties

Key

Value

typeKeywords

Optional string. Provide a lists all sub-types, see URL 1 below for valid values.

description

Optional string. Description of the item.

title

Optional string. Name label of the item.

tags

Optional string. Tags listed as comma-separated values, or a list of strings. Used for searches on items.

snippet

Optional string. Provide a short summary (limit to max 250 characters) of the what the item is.

accessInformation

Optional string. Information on the source of the content.

licenseInfo

Optional string. Any license information or restrictions regarding the content.

culture

Optional string. Locale, country and language information.

access

Optional string. Valid values are private, shared, org, or public.

commentsEnabled

Optional boolean. Default is true, controls whether comments are allowed (true) or not allowed (false).

The above are the most common item properties (metadata) that you set. To get a complete list, see the common parameters page in the ArcGIS REST API documentation.

Returns:

A boolean indicating success (True) or failure (False).

property viewing_mode

Get/Set the viewing mode.

The viewing mode (local or global). Global scenes render the earth as a sphere. Local scenes render the earth on a flat plane and allow for navigation and feature display in a localized or clipped area. Users may also navigate the camera of a local scene below the surface of a basemap.

  • “global” : Global scenes allow the entire globe to render in the view, showing the curvature of the earth.

  • “local” : Local scenes render the earth on a flat surface. They can be constrained to only show a “local”

area by setting the clippingArea property. Local scenes also allow for displaying and exploring data that would otherwise be hidden by the surface of the earth.

Parameter

Description

mode

A string that represents the mode. Either “global” or “local”. Default is “global”.

Returns:

String that represents the viewing mode.

zoom

Get/Set the level of zoom applied to the rendered Scene.

Parameter

Description

value

Required int. .. note:

The higher the number, the more zoomed in you are.
Returns:

Int value that represent the zoom level

# Usage example
scene.zoom = 10
zoom_to_layer(item)

The zoom_to_layer method snaps the scene to the extent of the provided Item object(s).

Parameter

Description

item

The item at which you want to zoom your scene to. This can be a single extent or an Item, Layer , DataFrame , FeatureSet, or FeatureCollection object.

Scene Classes

Environment

class arcgis.map.scene_widget.Environment(scene)

A class that can be used to enable the environment widgets such as daylight and weather on a rendered Scene. This class is most useful when used inside a Jupyter Lab environment.

Note

This class should now be created by a user but rather called through the environment property on a Scene instance.

property daylight_enabled

The Daylight widget can be used to manipulate the lighting conditions of a Scene. For this, the widget modifies the lighting property of environment. To illuminate the scene, one can either use a configuration of date and time to position the sun or switch to the virtual mode, where the light source is relative to the camera.

property weather_enabled

The Daylight widget can be used to manipulate the lighting conditions of a Scene. For this, the widget modifies the lighting property of environment. To illuminate the scene, one can either use a configuration of date and time to position the sun or switch to the virtual mode, where the light source is relative to the camera.

SceneContent

class arcgis.map.scene_widget.SceneContent(scene)

This class allows users to manage the content of a Scene. Users can view the operational layers, add layers, reorder layers, and remove layers.

This class is created from the scene_content property on a Scene instance.

add(item, drawing_info=None, popup_info=None, index=None)

Add a layer or table to the scene.

Parameter

Description

item

Required Portal Item or Layer to add to the scene.

  • If an item is passed in: Creates a new layer instance of the

appropriate layer class from an ArcGIS Online or ArcGIS Enterprise portal item. * If the item points to a feature service with multiple layers, then a GroupLayer is created. * If the item points to a service with a single layer, then it resolves to a layer of the same type of class as the service.

drawing_info

Optional dictionary representing the drawing info to apply to the layer. The keys can include any combination of: ‘renderer’, ‘labelingInfo’, ‘scaleSymbols’, ‘showLabels’, ‘transparency’. This can only be applied when adding one layer.

NOTICE: The scene viewer only accepts 3D Symbols. Please see: 3D Symbols for more information.

Example Structure: drawing_info = {

“labelingInfo”: <list>, “renderer”: <dict>, “scaleSymbols”: <bool>, “showLabels”: <bool>, “transparency”: <float>

}

popup_info

Optional dictionary representing the popup info for the feature layer. This can only be applied when adding one layer.

Example: popup_info = {

“popupElements”: <list>, “showAttachments”: <bool>, “fieldInfos”: <list>, “title”: <str>

}

index

Optional integer. Determines at what index the layer should be added.

layer_visibility(index)

Get an instance of the LayerVisibility class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property. Through this class you can edit the visibility for your layer on the scene and in the legend.

Parameter

Description

index

Required index specifying the layer who’s visibility properties you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the layer_visibility method in that class.

Returns:

LayerVisibility class for the layer specified.

layers = None
move_to_basemap(index)

Move a layer to be a basemap layer. A basemap layer is a layer that provides geographic context to the scene. A web scene always contains a basemap. The following is a list of possible basemap layer types:

  • Image Service Layer

  • Image Service Vector Layer

  • Map Service Layer

  • Tiled Image Service Layer

  • Tiled Map Service Layer

  • Vector Tile Layer

Parameter

Definition

index

Required integer. The index of the layer from operational layers that will be moved to basemap layers. The list of available layers is found when calling the layers property on the Scene.

# Create a Scene from an existing Scene Item.
ws = Scene(item=<webscene_item_id>)
# Get and add the layer to the scene
vtl = gis.content.get("<vector tile layer id>")
ws.content.add(vtl.layers[0])
# Move the layer to the basemap
ws.move_to_basemap(0)
ws.update()
popup(index)

Get an instance of the PopupManager class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property. Through this class you can edit the popup for your layer.

Parameter

Description

index

Required index specifying the layer who’s popup you want to access. To get a full list of layers use the layers property.

Note

If the layer belongs inside a group layer then use the instance of the Group layer class returned from the layers property to access the layers within the group and to use the popup method in that class.

Returns:

PopupManager class for the layer specified.

remove(index=None, is_layer=True)

Remove a layer from the scene either by specifying the index or passing in the layer dictionary.

Parameter

Description

layer

Optional layer object from the list of layers found through the layers property that you want to remove from the scene. This will remove the first instance of this layer if you have it more than once on the scene. This parameter cannot be passed with the index.

index

Optional integer specifying the index for the layer you want to remove. To see a list of layers use the layers property.

remove_all()

Remove all layers and tables from the scene.

tables = None
update_layer(index=None, labeling_info=None, renderer=None, scale_symbols=None, transparency=None)

This method can be used to update certain properties on a layer that is in your scene.

Parameter

Description

index

Optional integer specifying the index for the layer you want to update. To see a list of layers use the layers property. This cannot be a group layer. To update a group layer, use the update_layer method in the group layer class. It’s better to pass the index to be more specific with which layer you want to update.

labeling_info

Optional list of dictionaries. Defines the properties used for labeling the layer.

Example of some properties: labeling_info = [{

“labelExpression”: ‘[FAA_ID]’, “maxScale”: 0, “minScale”: 10000, “symbol”: {

“color”: [104, 104, 104, 255], “type”: “esriTS”, “verticalAlignment”: “bottom”, “horizontalAlignment”: “center”, “font”: {

“decoration”: “none”, “family”: “Arial”, “size”: 8, “style”: “normal”, “weight”: “bold”

}

}

}]

renderer

Optional Renderer Dataclass. See the renderer module where all the dataclasses are defined.

scale_symbols

Optional bool. Indicates whether symbols should stay the same size in screen units as you zoom in. False means the symbols stay the same size in screen units regardless of the scene scale.

transparency

Optional int. Value ranging between 0 (no transparency) to 100 (completely transparent).

Common Classes (Map and Scene)

Legend

class arcgis.map.map_widget.Legend(map)

The Legend describes the symbols used to represent layers in a map. All symbols and text used in this widget are configured in the Renderer of the layer. The legend will only display layers and sub-layers that are visible in the map.

The legend automatically updates when - the visibility of a layer or sub-layer changes - a layer is added or removed from the map - a layer’s renderer, opacity, or title is changed - the legendEnabled property is changed (set to true or false on the layer)

Note

This class should now be created by a user but rather called through the legend property on a Map instance.

property enabled

Get and set whether the legend is shown on the map/scene or not. Set to True for the legend to be visible.

The Legend widget describes the symbols used to represent layers in a map. All symbols and text used in this widget are configured in the renderer of the layer. The legend will only display layers and sub-layers that are visible in the map.

The legend automatically updates when - the visibility of a layer or sub-layer changes - a layer is added or removed from the map - a layer’s renderer, opacity, or title is changed

Note

Known Limitations: - Currently, the legend widget does not support the following layer types: ElevationLayer, GraphicsLayer, IntegratedMeshLayer, KMLLayer, MapNotesLayer, OpenStreetMapLayer, VectorTileLayer, and WebTileLayer. - 3D symbols with more than one symbol layer are not supported. - DictionaryRenderer is not supported.

LayerVisibility

class arcgis.map.LayerVisibility(layer)

A class that can be used to manage the visibility of layers in a map. The layer visibility class is primarily used to set the visibility of the layers on the map and in the legend.

Note

This class should now be created by a user but rather called through the layer_visibility property on a Map or GroupLayer instance.

property legend_visibility

Get and Set the visibility of the layer in the legend. Set to True for the layer to be visible in the legend and False otherwise.

property visibility

Get and Set the visibility of the layer. Set to True for the layer to be visible and False otherwise.

LayerList

class arcgis.map.map_widget.LayerList(map)

A class that can be used to enable the layer list widget on a rendered Map. This class is most useful when used inside a Jupyter Lab environment.

Note

This class should now be created by a user but rather called through the layer_list property on a Map instance.

property enabled

The Layer List widget allows end users to quickly see the layers that are present on your map. It displays a list of layers, which are defined inside the Map. Set to True for the layer list to be visible. This property is best used inside Jupyter Lab with a rendered Map.

Note

Any changes made on the layer list widget will only be reflected in the rendered map instance, these will not affect the map definition. To change layer visibility in the definition, use the layer_visibility method.

TimeSlider

class arcgis.map.map_widget.TimeSlider(map)

A class that can be used to enable the time slider widget on a rendered Map. This class is most useful when used inside a Jupyter Lab environment.

Note

This class should now be created by a user but rather called through the time_slider property on a Map instance.

property enabled

The TimeSlider widget simplifies visualization of temporal data in your application.

Note

The TimeSlider widget is only available for layers that have time information enabled.

time_extent(start_time=None, end_time=None, time_interval=None, layer_idx=0)

The time_extent is called when enabled = True and is the full time extent to display on the time slider.

Parameter

Description

start_time

Optional datetime.datetime. The lower bound of the full time extent to display on the time slider.

end_time

Optional datetime.datetime. The upper bound of the full time extent to display on the time slider.

time_interval

Optional dict. The time interval to display on the time slider. The time interval is a dictionary with two keys: value and units. The interval is the number of units to display on the time slider. The units are the units of the interval.

layer_idx

Optional integer. The index of the layer in the webmap that the time extent should be applied to. If not specified, the time extent will be applied to the first layer in the webmap.

BasemapManager

class arcgis.map.map_widget.BasemapManager(map)

The Basemap Manager allows users to manage the basemap of a webmap or webscene. Users can view their basemap options, set the basemap to a new one, and add layers to the basemap.

This class is created from the basemap property on a Map or Scene instance.

property basemap

Get and set the current basemap of the Map or Scene. Basemap values can be found by calling the basemaps property or basemap_gallery property. An existing Map Item can also be assigned and the basemap from this item will be taken.

Setting the basemap will replace all current basemap layers with the new basemap layers.

To add a basemap style service, pass in a dictionary depicting the basemap style path and language code. Make sure you are using a rendered map instance to use basemap services. This will only work with a rendered map instance. Example: basemap = {

“id” : “arcgis/streets”, “language” : “fr” }

Note

If you set a basemap that does not have the same spatial reference as the webmap or webscene, the webmap or webscene will be updated to this spatial reference. Any operational layers on the map will not be re-projected automatically.

The basemap_gallery property allows for viewing of your portal’s custom basemap group.

property basemaps

List of possible basemaps to use. All those starting with ‘arcgis’ require you to be authenticated.

property basemaps3d

List of possible 3D basemaps to use with a Scene. All those starting with ‘arcgis’ require you to be authenticated.

property layers

List of layers in the basemap.

move_from_basemap(index)

Move a layer from the basemap layers to the operational layers. The reverse process of move_to_basemap.

Parameter

Definition

index

Required integer. The index of the layer found in the basemap layers that will be moved to be in the operational layers.

wm = Map(item=<webmap_item_id>)
layer = wm.basemap["baseMapLayer"][0]
wm.move_from_basemap()
wm.update()
remove_basemap_layer(index)

Remove a layer from the basemap layers. You can see the current basemap layers by calling the basemap property on your map. If you want to update the title of the basemap you can use the basemap_title method.

Note

There must be at least one basemap layer present. You cannot remove all basemap layers.

Parameter

Definition

index

Required integer. The index for the layer in the basemap layers that will be removed.

property title

Get/Set the basemap title.

Parameter

Definition

title

Required string. The title to set for the basemap.

GroupLayer

class arcgis.map.GroupLayer(layer, map, parent)

The Group Layer class provides the ability to organize several sublayers into one common layer. Suppose there are several FeatureLayers that all represent water features in different dimensions. For example, wells (points), streams (lines), and lakes (polygons). The GroupLayer provides the functionality to treat them as one layer called “Water Features” even though they are stored as separate feature layers.

Note

This class should now be created by a user but rather accessed through indexing using the layers property on a Map instance.

form(index)

Get an instance of the FormInfo class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property.

Parameter

Description

index

Required integer specifying the layer who’s form to get. Layer has to be in list of layers of the Group Layer instance. You can get the list of layers by calling the layers property on your Group Layer instance.

Forms are only supported for Feature Layers, Tables, and Oriented Imagery Layers.

Returns:

FormInfo dataclass for the layer specified.

To see this dataclass, see the forms module where it is defined. You can also get the dataclass as a dict by calling the dict method on the dataclass.

layer_visibility(index)

Get an instance of the LayerVisibility class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property.

Parameter

Description

index

Required integer specifying the layer who’s layer visibility to get. Layer has to be in list of layers of the Group Layer instance. You can get the list of layers by calling the layers property on your Group Layer instance.

property layers

Get the list of layers in the group layer.

move(index, group=None)

Move a layer from it’s group into another GroupLayer or into ‘No Group’ which means it will be moved to the main Map’s layers.

You can use this method on a GroupLayer and the entire GroupLayer will be added to another group or be added to the main Map’s layers.

Parameter

Description

index

Required int. The index of the layer you want to move. You can see the list of layers by calling the layers property on your Group Layer instance.

group

Optional GroupLayer. The group layer you want to move the layer to. If you want to move the layer to the main Map’s layers, pass in None

popup(index)

Get an instance of the PopupManager class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property.

Parameter

Description

index

Required integer specifying the layer who’s popup to get. Layer has to be in list of layers of the Group Layer instance. You can get the list of layers by calling the layers property on your Group Layer instance.

remove_layer(index)

Remove a layer from the Group Layer’s layers. You can do this by specifying the index of the current layer you want to remove.

Parameter

Description

index

Required int. The index of the layer you want to remove. You can see the list of layers by calling the layers property on your Group Layer instance.

renderer(index)

Get an instance of the RendererManager class for the layer specified. Specify the layer through it’s position in the list of layers. The list of layers can be accessed with the layers property.

Parameter

Description

index

Required integer specifying the layer who’s renderer to get. Layer has to be in list of layers of the Group Layer instance. You can get the list of layers by calling the layers property on your Group Layer instance.

reposition(current_index, new_index)

Reposition a layer in the Group Layer’s layers. You can do this by specifying the index of the current layer you want to move and what index it should be at.

This method is useful if you have overlapping layers and you want to manage the order in which they are rendered on your map.

Parameter

Description

current_index

Required int. The index of where the layer currently is in the list of layers. You can see the list of layers by calling the layers property on your Group Layer instance.

new_index

Required int. The index you want to move the layer to.

property title

Get/Set the title of the group layer.

ungroup()

Ungroup a GroupLayer. This will send the layer to the parent’s layers. If the parent is Map, then all the layers in the GroupLayer will be sent to the Map’s layers and the GroupLayer removed. If the parent is another GroupLayer, then all the layers in the GroupLayer will be sent to the parent’s layers and the GroupLayer removed.

update_layer(index, labeling_info=None, renderer=None, scale_symbols=None, transparency=None, options=None, form=None)

This method can be used to update certain properties found in a layer within a group layer in your map.

Parameter

Description

index

Optional integer specifying the index for the layer you want to update. To see a list of layers use the layers property. This cannot be a group layer. To update a layer in a GroupLayer, use the update_layer method in the group layer class.

labeling_info

Optional list of dictionaries. Defines the properties used for labeling the layer.

Example of some properties: labeling_info = [{

“labelExpression”: ‘[FAA_ID]’, “maxScale”: 0, “minScale”: 10000, “symbol”: <Symbol Dataclass> }

}]

renderer

Optional dictionary representing the renderer properties for the layer to be updated with.

Example: renderer = SimpleRenderer(**{

‘type’: ‘simple’, ‘symbol’: {

‘type’: ‘esriPMS’, ‘url’: ‘RedSphere.png’, ‘imageData’: ‘{data}’, ‘contentType’: ‘image/png’, ‘width’: 15, ‘height’: 15}

})

scale_symbols

Optional bool. Indicates whether symbols should stay the same size in screen units as you zoom in. False means the symbols stay the same size in screen units regardless of the map scale.

transparency

Optional int. Value ranging between 0 (no transparency) to 100 (completely transparent).

options

Optional dictionary. Pass in key, value pairs that will edit the layer properties. This is useful for updating the layer properties that are not exposed through the other parameters. For example, you can update the layer title, opacity, or other properties that are applicable for the type of layer.

form

Optional FormInfo Dataclass. See the forms module where all the dataclasses are defined. You can get the current FormInfo by calling the form property and indicating the index of the layer you want to get the form for. Forms are only supported for Feature Layers, Tables, and Oriented Imagery Layers.

SmartMappingManager

class arcgis.map.SmartMappingManager(source, layer)

A class to manage smart mapping methods. Smart Mapping ONLY works with a rendered map.

Warning

There are a few points to note with these methods: - You need to make sure that the layer has been loaded before calling a method on it. - The map can take a few seconds to reflect the changes from the renderer creation. - Calling any other methods or properties need to be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

class_breaks_renderer(break_type, field=None, normalization_field=None, normalization_type=None, normalization_total=None, classification_method=None, standard_deviation_interval=None, num_classes=None, value_expression=None, value_expression_title=None, sql_expression=None, sql_where=None, outline_optimization_enabled=False, min_value=None, max_value=None, default_symbol_enabled=True, for_binning=None)

ClassBreaksRenderer defines the symbol of each feature in a Layer based on the value of a numeric attribute. Symbols are assigned based on classes or ranges of data. Each feature is assigned a symbol based on the class break in which the value of the attribute falls.

The resulting renderer defines the symbol size of each feature based on the value of the given field value. A default size scheme is determined based on the background of the view. Depending on the classificationMethod, class breaks (or data ranges) are generated based on the statistics of the data. Each feature is assigned a size based on the class break in which the value of the field falls.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

break_type

Required string. The type of class breaks to generate. This value determines how class breaks are generated. Values are: “size” or “color”.

field

Optional string. The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. If a value_expression is set, this field is ignored. The field should represent numeric types.

normalization_field

Optional string. The name of the field to normalize the values of the given field. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities.

normalization_type

Optional string. Indicates how the data is normalized. The data value obtained from the field is normalized in one of the following ways before it is compared with the class breaks.

Values: - “log” : Computes the base 10 logarithm of each data value. This can

be useful because it reduces the influence of very large data values.

  • “percent-of-total”Divides each data value by the sum of all data

    values then multiplies by 100.

  • “field” : Divides each data value by the value of the normalization_field.

normalization_total

Optional integer. The total of all data values. This is used when normalization_type is “percent-of-total”.

classification_method

Optional string. The method for classifying the data. This value determines how class breaks are generated. When the value is “equal-interval”, class breaks are generated such that the difference between any two breaks is the same. When the value is “natural-breaks”, class breaks are generated based on natural groupings of the data. When the value is “quantile”, class breaks are generated such that the total number of data values in each class is the same. When the value is “standard-deviation”, class breaks are generated based on the standard deviation of the data.

standard_deviation_interval

Optional float. The standard deviation interval. This value is used when classification_method is “standard-deviation”.

num_classes

Optional integer. The number of classes. This is ignored when when “standard-deviation” is specified.

value_expression

Optional string. An Arcade expression following the specification defined by the Arcade Visualization Profile. Expressions may reference field values using the $feature profile variable and must return a number. This property overrides the field property and therefore is used instead of an input field value.

value_expression_title

Optional string. The title used to describe the value_expression in the Legend.

sql_expression

Optional string. A SQL expression evaluating to a number.

sql_where

Optional string. A where clause for the query. Used to filter features for the statistics query.

outline_optimization_enabled

Optional boolean. Indicates whether the polygon’s background fill symbol outline width should vary based on view scale. Only for polygon layers.

min_value

Optional integer. A custom minimum value set by the user. Use this in conjunction with max_value to generate statistics between lower and upper bounds. This will be the lowest stop in the returned visual variables.

max_value

Optional integer. A custom maximum value set by the user. Use this in conjunction with min_value to generate statistics between lower and upper bounds. This will be the highest stop in the returned visual variables.

default_symbol_enabled

Optional boolean. Enables the defaultSymbol on the renderer and assigns it to features with no value or that fall outside of the prescribed class breaks.

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

dot_density_renderer(attributes, dot_value_optimization_enabled=True, dot_blending_enabled=True, outline_optimization_enabled=False, scheme=None, for_binning=None)

DotDensityRenderer allows you to create dot density visualizations for polygon layers. Dot density visualizations randomly draw dots within each polygon to visualize the density of a population or some other variable. Each dot represents a fixed numeric value of an attribute or a subset of attributes. Unlike choropleth maps, field values used in dot density visualizations don’t need to be normalized because the size of the polygon, together with the number of dots rendered within its boundaries, indicate the spatial density of that value.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

attributes

Required list of dictionaries. A set of complementary numeric fields/expressions used as the basis of the dot density visualization. For example, if creating an election map, you would indicate the names of each field representing the candidate or political party where total votes are stored.

Keys: - “field”: The name of a numeric field. - “label” : The label used to describe the field in the Legend. - “valueExpression”: An Arcade expression following the specification

defined by the Arcade Visualization Profile. Expressions may reference field values using the $feature profile variable and must return a number. This property overrides the field property and therefore is used instead of an input field value.

  • “valueExpressionTitle”: Text describing the value returned from the ‘valueExpression’.

dot_value_optimization_enabled

Optional boolean. Indicates whether to enable dot value optimization. When enabled, the renderer attempts to find the best dot value for each polygon based on the polygon’s size and the number of dots rendered within it.

dot_blending_enabled

Optional boolean. Indicates whether to enable dot blending. When enabled, the renderer blends dots together where they overlap.

outline_optimization_enabled

Optional boolean. Indicates whether to enable outline optimization. When enabled, the renderer attempts to find the best outline color for each polygon based on the polygon’s size and the number of dots rendered within it.

scheme

Optional dictionary. A pre-defined dot density scheme. Use this parameter to avoid generating a new scheme based on the background of the Map.

# Example dictionary
scheme = {
    "name": "Reds 5",
    "tags": ["Single Color", "Red"],
    "id": <themeName>/<basemapName>/<schemeName>,
    "colors": [
        [255, 245, 240],
        [254, 224, 210],
        [252, 187, 161],
        [252, 146, 114],
        [222, 45, 38]
    ],
    "outline": {
        "color": [0, 0, 0, 0.5],
        "width": 0.75
    },
    "opacity": 0.75
}

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

heatmap_renderer(field=None, scheme=None, statistics=None, fade_ratio=None, fade_to_transparent=True, radius=None, min_ratio=None, max_ratio=None)

The HeatmapRenderer uses kernel density to render point features in FeatureLayers, CSVLayers, GeoJSONLayers and OGCFeatureLayers as a raster surface.

To create this visual, the HeatmapRenderer fits a smoothly curved surface over each point. The surface value is highest at the location of the point and decreases proportionally to the distance from the point, reaching zero at the distance from the point specified in radius. The value of the surface equals the field value for the point, or 1 if no field is provided. The density at each pixel is calculated by adding the values of all the kernel surfaces where they overlay.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

field

Optional string. The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. The value of the field is used as a multiplier in the heatmap, making areas with high field values hotter than areas where the features have low field values.

scheme

Optional dictionary. A pre-defined heatmap scheme. Use this parameter to avoid generating a new scheme based on the background of the Map.

# Example dictionary
scheme = {
    "name": "Heatmap Blue 2",
    "tags": ["Heatmap", "Blue"],
    "id": <themeName>/<basemapName>/<schemeName>,
    "colors": [
        [0, 0, 255, 0.2],
        [0, 0, 255, 0.4],
        [0, 0, 255, 0.6],
        [0, 0, 255, 0.8],
        [0, 0, 255, 1]
    ],
    opacity: 0.75
}

statistics

Optional dictionary. If statistics for the field have already been generated, then pass the object here to avoid making a second statistics query to the server.

fade_ratio

Optional float. Indicates how much to fade the lower color stops with transparency to create a fuzzy boundary on the edge of the heatmap. A value of 0 makes a discrete boundary on the lower color stop.

fade_to_transparent

Optional boolean. Indicates whether to fade the lower color stops with transparency to create a fuzzy boundary on the edge of the heatmap. If False, the fade_ratio is ignored.

radius

Optional integer. The radius in points that determines the area of influence of each point. A higher radius indicates points have more influence on surrounding points.

min_ratio

Optional float. The minimum ratio used to normalize the heatmap intensity values.

max_ratio

Optional float. The maximum ratio used to normalize the heatmap intensity values.

pie_chart_renderer(attributes, shape=None, include_size_variable=None, outline_optimization_enabled=False, size_optimization_enabled=False, scheme=None, for_binning=None)

PieChartRenderer allows you to create a pie chart for each feature in the layer. The value and color of each pie slice is specified in the attributes property. You can vary the size of each pie based on data with any other field value or Arcade expression using visualVariables.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

attributes

Required list of dictionaries. A set of complementary numeric fields/expressions used to create the charts. For example, if creating an election map, you would indicate the name of each field representing the candidate or political party where their total counts are stored.

Keys: - “field”: The name of a numeric field. - “label” : The label used to describe the field in the Legend. - “valueExpression”: An Arcade expression following the specification

defined by the Arcade Visualization Profile. Expressions may reference field values using the $feature profile variable and must return a number. This property overrides the field property and therefore is used instead of an input field value.

  • “valueExpressionTitle”: Text describing the value returned from the ‘valueExpression’.

shape

Optional string. The shape used for the pie chart.

Values: “pie” | “donut”

include_size_variable

Optional boolean. Indicates whether to include data-driven size in the final renderer. If true, features will be assigned a sized based on the sum of all values in the attributes param. Features with small total counts will be sized with small charts and features with large total counts will be sized with large charts. Enabling this option is good for visualizing how influential a particular feature is compared to the dataset as a whole. It removes bias introduced by features with large geographic areas, but relatively small data values.

outline_optimization_enabled

Optional boolean. Only for polygon layers. Indicates whether the polygon’s background fill symbol outline width should vary based on view scale.

size_optimization_enabled

Optional boolean. Indicates whether symbol sizes should vary based on view scale.

scheme

Optional dictionary. A pre-defined pie chart scheme. Use this parameter to avoid generating a new scheme based on the background of the Map.

# Example dictionary
scheme = {
    "name": "Reds 5",
    "tags": ["Single Color", "Red"],
    "colors": [
        [255, 245, 240],
        [254, 224, 210],
        [252, 187, 161],
        [252, 146, 114],
        [222, 45, 38]
    ],
    "colorForOthersCategory": [200, 200, 200, 255],
    "outline": {
        "color": [0, 0, 0, 0.5],
        "width": 0.75
    },
    "size": 75,
}

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

predominance_renderer(fields, include_opacity_variable=None, include_size_variable=None, outline_optimization_enabled=False, size_optimization_enabled=False, statistics=None, sort_by=None, scheme=None, default_symbol_enabled=True, for_binning=None)

This object contains a helper method for generating a predominance visualization. Visualizing predominance involves coloring a layer’s features based on which attribute among a set of competing numeric attributes wins or beats the others in total count. Common applications of this include visualizing election results, survey results, and demographic majorities.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

fields

Required list of dictionaries. A set of competing numeric fields used as the basis of the predominance visualization. A minimum of 2 fields are required.

# Example list
fields = [
    {
        "name": "POP2010",
        "label": "Population 2010", (optional)
    },
    {
        "name": "POP2011",
        "label": "Population 2011", (optional)
    },
]

include_opacity_variable

Optional boolean. Indicates whether to include data-driven opacity in the final renderer. If true, features where the predominant value beats all others by a large margin are given a high opacity. Features where the predominant value beats others by a small margin will be assigned a low opacity, indicating that while the feature has a winning value, it doesn’t win by much.

include_size_variable

Optional boolean. Indicates whether to include data-driven size in the final renderer. If true, features will be assigned a sized based on the sum of all competing values in the fields param. Features with small total counts will be sized with small icons or lines depending on the geometry type of the layer, and features with large total counts will be sized with large icons or lines. Enabling this option is good for visualizing how influential a particular feature is compared to the dataset as a whole. It removes bias introduced by features with large geographic areas, but relatively small data values.

outline_optimization_enabled

Optional boolean. Indicates whether the polygon’s background fill symbol outline width should vary based on view scale. Only for polygon layers.

size_optimization_enabled

Optional boolean. Indicates whether symbol sizes should vary based on view scale.

statistics

Optional dictionary. If statistics for the field have already been generated, then pass the object here to avoid making a second statistics query to the server.

sort_by

Optional string. Indicates how to sort the fields in the legend. If count, unique values/types will be sorted from highest to lowest based on the count of features that fall in each category. If value, unique values/types will be sorted in the order they were specified in the fields parameter.

Values: “count” | “value”

scheme

Optional dictionary. A pre-defined predominance scheme. Use this parameter to avoid generating a new scheme based on the background of the Map. For more information on what to include in the scheme see this url: https://developers.arcgis.com/javascript/latest/api-reference/esri-smartMapping-symbology-predominance.html#PredominanceScheme

default_symbol_enabled

Optional boolean. Enables the defaultSymbol on the renderer and assigns it to features with no value.

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

relationship_renderer(field1, field2, classification_method=None, focus=None, num_classes=None, outline_optimization_enabled=False, size_optimization_enabled=False, legend_options=None, relationship_scheme=None, default_symbol_enabled=True, for_binning=None)

This method utilizes the JS API create_renderer method to create a relationship renderer. This can only be accomplished with a rendered map. A relationship renderer helps explore the relationship between two numeric fields. The relationship is visualized using a bivariate choropleth visualization. This renderer classifies each variable in either 2, 3, or 4 classes along separate color ramps.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

field1

Required dictionary. A numeric field that will be used to explore its relationship with field2. In the default visualization, the values of this field are rendered along the vertical axis of the Legend.

# Example dictionary
field1 = {
    "field": "POP2010", #required
    "normalizationField": "SQMI",
    "maxValue": 1000000,
    "minValue": 1000,
    "label": "Population 2010",
}

field2

Required dictionary. A numeric field that will be used to explore its relationship with field1. In the default visualization, the values of this field are rendered along the horizontal axis of the Legend.

classification_method

Optional string. The method for classifying each field’s data values. Values: “quantile”, “equal-interval”, “natural-breaks”

focus

Optional string. Determines the orientation of the Legend. This value does not change the renderer or symbology of any features in the layer. This affects the legend only. See the table at this link for more information.

Values: None, “HH”, “HL”, “LH”, “LL” If None, the legend renders as a square.

num_classes

Optional integer. Indicates the number of classes by which to break up the values of each field. More classes give you more detail, but more colors, making the visualization more difficult to understand. There are only three possible values: 2, 3, or 4.

outline_optimization_enabled

Optional boolean. For polygon layers only. Indicates whether the polygon outline width should vary based on view scale.

size_optimization_enabled

Optional boolean. For point and polyline layers only. Indicates whether symbol sizes should vary based on view scale.

legend_options

Optional dictionary. Provides options for modifying Legend properties describing the visualization.

# Example dictionary
legend_options = {
    "title": "Population 2010",
    "showLegend": True,
}

relationship_scheme

Optional dictionary. In authoring apps, the user may select a pre-defined relationship scheme. Pass the scheme object to this property to avoid getting one based on the background of the Map.

default_symbol_enabled

Optional boolean. Enables the defaultSymbol on the renderer and assigns it to features with no value or that fall outside of the prescribed class breaks.

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

univariate_color_size_renderer(field=None, normalization_field=None, value_expression=None, value_expression_title=None, theme=None, sql_expression=None, sql_where=None, statistics=None, min_value=None, max_value=None, default_symbol_enabled=None, color_options=None, size_options=None, symbol_options=None, legend_options=None, for_binning=None)

This method utilizes the JS API create_renderer method to create a univariate color and size renderer. This can only be accomplished with a rendered map. A univariate color and size renderer visualizes quantitative data by adjusting the color and size of each feature proportionally to a data value.

Executing this method will automatically update your layer renderer on the map.

Warning

There are a few points to note with this method: - You need to make sure that the layer has been loaded before calling this method. - The map can take a few seconds to reflect the changes from the renderer. - Calling the save or update method must be done in a separate cell from this method call due to asynchronous conflicts. - If you do not see the layer update, check the console log for any JavaScript errors.

Argument

Description

field

Optional string. The name of the field whose data will be queried for statistics and used for the basis of the data-driven visualization. If a value_expression is set, this field is ignored.

normalization_field

Optional string. The name of the field to normalize the values of the given field. Providing a normalization field helps minimize some visualization errors and standardizes the data so all features are visualized with minimal bias due to area differences or count variation. This option is commonly used when visualizing densities.

value_expression

Optional string. An Arcade expression following the specification defined by the Arcade Visualization Profile. Expressions may reference field values using the $feature profile variable and must return a number. This property overrides the field property and therefore is used instead of an input field value.

value_expression_title

Optional string. The title used to describe the value_expression in the Legend.

theme

Optional string. Sets the size stops and colors based on meaningful data values. For more information on each value, see the table at this link

Values: “high-to-low”, “above”, “below”, “above-and-below”

sql_expression

Optional string. A SQL expression evaluating to a number.

sql_where

Optional string. A where clause for the query. Used to filter features for the statistics query.

statistics

Optional dictionary. If statistics for the field have already been generated, then pass the dictionary here to avoid making a second statistics query to the server.

# Example dictionary
statistics = {
    "average": <int>,
    "count": <int>,
    "max": <int>,
    "min": <int>,
    "median": <int>,
    "stddev": <int>,
    "sum": <int>,
    "variance": <int>,
    "nullCount": <int>, #optional
}

min_value

Optional integer. A custom minimum value set by the user. Use this in conjunction with max_value to generate statistics between lower and upper bounds. This will be the lowest stop in the returned visual variables.

max_value

Optional integer. A custom maximum value set by the user. Use this in conjunction with min_value to generate statistics between lower and upper bounds. This will be the highest stop in the returned visual variables.

default_symbol_enabled

Optional boolean. Enables the defaultSymbol on the renderer and assigns it to features with no value or that fall outside of the prescribed class breaks.

color_options

Optional dictionary. Options for configuring the color portion of the visualization.

# Example dictionary
color_options = {
    "colorScheme": {}, #depends on layer type
    "isContinuous": <boolean>,
}

size_options

Optional dictionary. Options for configuring the size portion of the visualization.

# Example dictionary
size_options = {
    "sizeScheme": {}, #depends on geometry type of layer
    "sizeOptimizationEnabled": <boolean>,
}

symbol_options

Optional dictionary. Options for configuring the symbol with “above-and-below” theme.

  • ‘symbolStyle’ Values: “caret”, “circle-caret”, “arrow”, “circle-arrow”, “plus-minus”, “circle-plus-minus”, “square”, “circle”, “triangle”, “happy-sad”, “thumb”

# Example dictionary
symbol_options = {
    "symbolStyle": <string>, #see values above
    "symbols": {
        "above": <dict>, #symbol dictionary
        "below": <dict>, #symbol dictionary
    }
}

legend_options

Optional dictionary. Options for configuring the legend.

# Example dictionary
legend_options = {
    "title": <string>,
    "showLegend": <boolean>,
}

for_binning

Optional boolean. Indicates whether the generated renderer is for a binning visualization. If true, then the input field(s) in this method should refer to aggregate fields defined in the featureReduction property of the layer.

TimeSlider

class arcgis.map.map_widget.TimeSlider(map)

A class that can be used to enable the time slider widget on a rendered Map. This class is most useful when used inside a Jupyter Lab environment.

Note

This class should now be created by a user but rather called through the time_slider property on a Map instance.

property enabled

The TimeSlider widget simplifies visualization of temporal data in your application.

Note

The TimeSlider widget is only available for layers that have time information enabled.

time_extent(start_time=None, end_time=None, time_interval=None, layer_idx=0)

The time_extent is called when enabled = True and is the full time extent to display on the time slider.

Parameter

Description

start_time

Optional datetime.datetime. The lower bound of the full time extent to display on the time slider.

end_time

Optional datetime.datetime. The upper bound of the full time extent to display on the time slider.

time_interval

Optional dict. The time interval to display on the time slider. The time interval is a dictionary with two keys: value and units. The interval is the number of units to display on the time slider. The units are the units of the interval.

layer_idx

Optional integer. The index of the layer in the webmap that the time extent should be applied to. If not specified, the time extent will be applied to the first layer in the webmap.

RendererManager

class arcgis.map.renderers.RendererManager(**kwargs)

A class that defines the renderer found on a layer. Through this class you can edit the renderer and get information on it.

Note

This class should not be created by a user but rather called through the renderer method on a MapContent or GroupLayer instance.

from_template(template)

This method will take a template and apply it to the current layer. The template should be a file that was exported from another layer using the to_template method.

property renderer

Get an instance of the Renderer dataclass found in the layer. :return: Renderer dataclass for the layer specified.

smart_mapping()

Returns a SmartMappingManager object that can be used to create smart mapping visualizations.

Note

Requires the Map to be rendered in a Jupyter environment.

to_template()

This method will take the current renderer and save it as an item resource on the Item. This will allow the renderer to be used in other web maps and applications. You can also share the renderer with other users. Use the Item’s Resource Manager to export the renderer to a file.

Returns:

name of the resource that was added to the resources

OfflineMapAreaManager

class arcgis.map.OfflineMapAreaManager(item, gis)

The OfflineMapAreaManager is a helper class to manage offline map areas for a Web Map Item. Objects of this class should not be initialized directly, but rather accessed using the offline_areas property on a Map object.

>>> from arcgis.gis import GIS
>>> from arcgis.map import Map

>>> gis = GIS(profile="your_Web_GIS_profile")

>>> wm_item = gis.content.get("<web map id>")
>>> wm_obj = Map(wm_item)

>>> oma_mgr = wm_obj.offline_areas
<arcgis.map.OfflineMapAreaManager at <memory_addr>>

Note

There are important concepts to understand about offline mapping before the properties and methods of this class will function properly. Both reference basemap and operational layers contained in a Web Map must be configured very specifically before they can be taken offline. See the documentation below for full details:

create(area, item_properties=None, folder=None, min_scale=None, max_scale=None, layers_to_ignore=None, refresh_schedule='Never', refresh_rates=None, enable_updates=False, ignore_layers=None, tile_services=None, future=False)

This method creates offline map area items and packages for ArcGIS Runtime powered applications to use. The method creates two different types of Items

  • Map Area items for the specified extent, bookmark, or polygon

  • Map Area Packages corresponding to the operational layer(s) and basemap layer(s) within the extent, bookmark or polygon area

Note

Packaging will fail if the size of the offline map area, when packaged, is larger than 2.5 GB.

  • If packaging fails, try using a smaller bookmark, extent or geometry for the area argument.

  • If the map contains feature layers that have attachments, you can exclude attachments from the offline package to decrease the package size.

  • If the map includes tile layers, use the tile_services argument to constrain the number of levels included in the resulting packages. This is typically required to reduce the tile package size for the basemap layer(s) in ArcGIS Enterprise.

Note

Only the owner of the Web Map item can create offline map areas.

Parameter

Description

area

Required bookmark, extent, or Polygon object. Specify as either:

  • bookmark name

    >>> wm_item = gis.content.get("<web map id>")
    >>> wm_obj = Map(wm_item)
    
    >>> wm_bookmarks = wm_obj.bookmarks
    >>> area = wm_bookmarks[0]
    
  • extent: as a list of coordinate pairs:

    >>> area = [['xmin', 'ymin'], ['xmax', 'ymax']]
    
  • extent: as a dictionary:

    >>> area = {
                'xmin': <value>,
                'ymin': <value>,
                'xmax': <value>,
                'ymax': <value>,
                'spatialReference' : {'wkid' : <value>}
               }
    
  • polygon: as a Polygon object

Note

If spatial reference is not specified, it is assumed {‘wkid’: 4326}. Make sure this is the same as the spatial reference of the web map, otherwise the creation will fail.

item_properties

Required dictionary. See table below for the keys and values.

folder

Optional string. Specify a folder name if you want the offline map area item and the packages to be created inside a folder.

Note

These items will not display when viewing the content folder in a web browser. They will display in the Portal tab of the Content Pane in ArcGIS Pro.

min_scale

Optional integer. Specify the minimum scale to cache tile and vector tile layers. When zoomed out beyond this scale, cached layers would not display.

Note

The min_scale value is always larger than the max_scale.

max_scale

Optional integer. Specify the maximum scale to cache tile and vector tile layers. When zoomed in beyond this scale, cached layers would not display.

layers_to_ignore

Optional List of layer objects to exclude when creating offline packages. You can get the list of layers in a web map by calling the layers property on the MapContent object.

refresh_schedule

Optional string. Allows for the scheduling of refreshes at given times.

The following are valid variables:

  • Never - never refreshes the offline package (default)

  • Daily - refreshes everyday

  • Weekly - refreshes once a week

  • Monthly - refreshes once a month

refresh_rates

Optional dict. This parameter allows for the customization of the scheduler. The dictionary accepts the following:

{
 "hour" : 1
 "minute" = 0
 "nthday" = 3
 "day_of_week" = 0
}
  • hour - a value between 0-23 (integers)

  • minute - a value between 0-60 (integers)

  • nthday - this is used for monthly only. Thw refresh will occur on the ‘n’ day of the month.

  • day_of_week - a value between 0-6 where 0 is Sunday and 6 is Saturday.

# Example **Daily**: every day at 10:30 AM UTC

 >>> refresh_rates = {
                      "hour": 10,
                      "minute" : 30
                     }

# Example **Weekly**: every Wednesday at 11:59 PM UTC

 >>> refresh_rates = {
                      "hour" : 23,
                      "minute" : 59,
                      "day_of_week" : 4
                     }

enable_updates

Optional Boolean. Allows for the updating of the layers.

ignore_layers

Optional List. A list of individual layers, specified with their service URLs, in the map to ignore. The task generates packages for all map layers by default.

>>> ignore_layers = [
                     "https://services.arcgis.com/ERmEceOGq5cHrItq/arcgis/rest/services/SaveTheBaySync/FeatureServer/1",
                     "https://services.arcgis.com/ERmEceOGq5cHrItq/arcgis/rest/services/WildfireSync/FeatureServer/0"
                    ]

tile_services

Optional List. An list of Python dictionary objects that contains information about the export tiles-enabled services for which tile packages (.tpk or .vtpk) need to be created. Each tile service is specified with its url and desired level of details.

>>> tile_services = [
                     {
                      "url": "https://tiledbasemaps.arcgis.com/arcgis/rest/services/World_Imagery/MapServer",
                      "levels": "17,18,19"
                     }

Note

This argument should be specified when using ArcGIS Enterprise items. The number of levels included greatly impacts the overall size of the resulting packages to keep them under the 2.5 GB limit.

future

Optional boolean. If True, a future object will be returned and the process will return control to the user before the task completes. If False, control returns once the operation completes. The default is False.

Key:Value Dictionary options for argument item_properties

Key

Value

description

Optional string. Description of the item.

title

Optional string. Name label of the item.

tags

Optional string of comma-separated values, or a list of strings for each tag.

snippet

Optional string. Provide a short summary (limit to max 250 characters) of the what the item is.

Returns:

Map Area Item, or if future=True, a PackagingJob object to further query for results.

# USAGE EXAMPLE #1: Creating offline map areas using *scale* argument

>>> from arcgis.gis import GIS
>>> from arcgis.map import Map

>>> gis = GIS(profile="your_online_organization_profile")

>>> wm_item = gis.content.get("<web_map_id>")
>>> wm_obj = Map(wm_item)

>>> item_prop = {"title": "Clear lake hyperspectral field campaign",
                 "snippet": "Offline package for field data collection using spectro-radiometer",
                 "tags": ["python api", "in-situ data", "field data collection"]}

>>> aviris_layer = wm_item.content.layers[-1]

>>> north_bed = wm_obj.bookmarks.list()[-1].name
>>> wm.offline_areas.create(area=north_bed,
                            item_properties=item_prop,
                            folder="clear_lake",
                            min_scale=9000,
                            max_scale=4500,
                            layers_to_ignore=[aviris_layer])

# USAGE Example #2: ArcGIS Enterprise web map specifying *tile_services*

>>> gis = GIS(profile="your_enterprise_profile")

>>> wm_item = gis.content.get("<item_id>")
>>> wm_obj = Map(wm_item)

# Enterprise: Get the url for tile services from basemap
>>> basemap_lyrs = wm_obj.basemap.basemap["baseMapLayers"]
>>> basemap_lyrs

    [
     {'id': '18d9e5e151c-layer-2',
      'title': 'Light_Gray_Export_AGOL_Group',
      'itemId': '042f5e5aadcb8dbd910ae310b1f26d18',
      'layerType': 'VectorTileLayer',
      'styleUrl': 'https:/example.com/portal/sharing/servers/042f5e5aadcb8dbd910ae310b1f26d1/rest/services/World_Basemap_Export_v2/VectorTileServer/resources/styles/root.json'}
    ]

# Get the specific Tile Layer item to see options for levels
>>> vtl_item = gis.content.get(basemap_lyrs[0]["itemId"])
>>> vtl_lyr = vtl_item.layers[0]
>>> print(f"min levels: {vtl_lyr.properties['minLOD']}")
>>> print(f"max levels: {vtl_lyr.properties['maxLOD']}")

    min levels: 0
    max levels: 16

>>> vtl_svc_url = vtl_item.layers[0].url
>>> vtl_svc_url
https:/example.com/portal/sharing/servers/042f5e5aadcb8dbd910ae310b1f26d1/rest/services/World_Basemap_Export_v2/VectorTileServer

# Get a list of bookmark names to iterate through
>>> bookmarks = wm_obj.bookmarks.list()
>>> bkmrk_names = [bookmark.name for bookmark in bookmarks]
>>> bname = bkmrk_names[1]

>>> oma = offline_mgr.create(area=bname,
                             item_properties={"title": bname + "_OMA",
                                              "tags": "offline_mapping,administrative boundaries,parks",
                                              "snippet": bname + " in County",
                                              "description": "Offline mapping area in " + bname + " for sync"},
                             tile_services=[{"url": vtl_svc_url,
                                             "levels": "6,7,8,9,10,11,12,13"}])
>>> oma
<Item title:"County_OMA" type:Map Area owner:gis_user>

>>> # List packages created:
>>> for oma_pkg in oma.related_items("Area2Package", "forward"):
>>>     print(f"{oma_pkg.title:60}{oma_pkg.type}")

<County_Layer-<id_string>                SQLite Geodatabase
<VectorTileServe-<id_string>             Vector Tile Package

Note

This method executes silently. To view informative status messages, set the verbosity environment variable as shown below prior to running the method:

# USAGE EXAMPLE: setting verbosity

>>> from arcgis import env
>>> env.verbose = True
list()

Retrieves a list of all Map Area items for the Map object.

Note

Map Area items and the corresponding offline packages share a relationship of type Area2Package. You can use this relationship to get the list of package items cached for each map area item. Refer to the Python snippet below for the steps:

# USAGE EXAMPLE: Listing Map Area Items

>>> from arcgis.gis import GIS
>>> from arcgis.map import Map

>>> wm_item = gis.content.search("*", "Web Map")[0]
>>> wm_obj = Map(wm_item)

>>> all_map_areas = wm.offline_areas.list()
>>> all_map_areas

[<Item title:"Ballerup_OMA", type:Map Area owner:gis_user1>,
 <Item title:"Viborg_OMA", type:Map Area owner:gis_user1>]

# USAGE Example: Inspecting Map Area packages

>>> area1 = all_map_areas[0]
>>> area1_packages = area1.related_items("Area2Package","forward")

>>> for pkg in area1_packages:
>>>     print(f"{pkg.title}")
<<<     print(f"{' ' * 2}{pkg.type}")
>>>     print(f"{' ' * 2}{pkg.homepage}")

VectorTileServe-<value_string>
  Vector Tile Package
  https://<organziation_url>/home/item.html?id=<item_id>


DK_lau_data-<value_string>
  SQLite Geodatabase
  https://organization_url/home/item.html?id=<item_id>
Returns:

A List of Map Area :class`items <arcgis.gis.Item>` related to the Web Map item.

modify_refresh_schedule(item, refresh_schedule=None, refresh_rates=None)

The modify_refresh_schedule method modifies an existing offline package’s refresh schedule.

Parameter

Description

item

Required Item object. This is the Offline Package to update the refresh schedule.

refresh_schedule

Optional String. This is the rate of refreshing.

The following are valid variables:

  • Never - never refreshes the offline package (default)

  • Daily - refreshes everyday

  • Weekly - refreshes once a week

  • Monthly - refreshes once a month

refresh_rates

Optional dict. This parameter allows for the customization of the scheduler. Note all time is in UTC.

The dictionary accepts the following:

{ “hour” : 1 “minute” = 0 “nthday” = 3 “day_of_week” = 0 }

  • hour - a value between 0-23 (integers)

  • minute a value between 0-60 (integers)

  • nthday - this is used for monthly only. This say the refresh will occur on the ‘x’ day of the month.

  • day_of_week - a value between 0-6 where 0 is Sunday and 6 is Saturday.

Example Daily:

{ “hour”: 10, “minute” : 30 }

This means every day at 10:30 AM UTC

Example Weekly:

{ “hour” : 23, “minute” : 59, “day_of_week” : 4 }

This means every Wednesday at 11:59 PM UTC

Returns:

A boolean indicating success (True), or failure (False)

## Updates Offline Package Building Everyday at 10:30 AM UTC

gis = GIS(profile='owner_profile')
item = gis.content.get('9b93887c640a4c278765982aa2ec999c')
oa = wm.offline_areas.modify_refresh_schedule(item.id, 'daily', {'hour' : 10, 'minute' : 30})
property offline_properties

This property allows users to configure the offline properties for a webmap. The offline_properties allows for defining how available offline editing, basemap, and read-only layers behave in the web map application. For further reading about concepts for working with web maps offline, see Configure the map to work offline. Also, see the applicationProperties object in the Web Map specification.

Parameter

Description

values

Required Dict. The key/value pairs that define the offline application properties.

The dictionary supports the following keys:

Key

Values

download

Optional string. Possible values:

  • None

  • features

  • features_and_attachments

When editing layers, the edits are always sent to the server. This string argument indicates which data is retrieved from the server.

  • If argument is None - only the schema is written since neither features nor attachments are retrieved

  • If argument is features - a full sync without downloading attachments occurs

  • If argument is features_and_attachments, which is the Default - both features and attachments are retrieved

sync

sync applies to editing layers only. This string value indicates how the data is synced:

  • sync_features_and_attachments - bidirectional sync

  • sync_features_upload_attachments - bidirectional sync for features but upload only for attachments

  • upload_features_and_attachments - upload only for both features and attachments (initial replica is just a schema)

reference_basemap

The filename of a basemap that has been copied to a mobile device. This can be used instead of the default basemap for the map to reduce downloads.

get_attachments

Boolean value that indicates whether to include attachments with the read-only data.

Returns:

Dictionary

# USAGE EXAMPLE

>>> from arcgis.gis import GIS
>>> from arcgis.map import Map

>>> wm_item = gis.content.get("<web_map_id>")
>>> wm_obj = Map(wm_item)

>>> offline_mgr = wm_obj.offline_areas
>>> offline_mgr.offline_properties = {"download": "features",
                                      "sync": "sync_features_upload_attachments"}
update(offline_map_area_items=None, future=False)

The update method refreshes existing map area packages associated with each of the Map Area items specified. This process updates the packages with changes made on the source data since the last time those packages were created or refreshed. See Refresh Map Area Package for more information.

Parameter

Description

offline_map_area_items

Optional list. Specify one or more Map Area items for which the packages need to be refreshed. If not specified, this method updates all the packages associated with all the map area items of the web map.

Note

To get the list of Map Area items related to the Map object, call the list() method on the OfflineMapAreaManager for the Map.

future

Optional Boolean.

Returns:

Dictionary containing update status.

Note

This method executes silently. To view informative status messages, set the verbosity environment variable as shown below before running the code:

USAGE EXAMPLE: setting verbosity

from arcgis import env
env.verbose = True

Dataclasses

Popups

PopupManager

class arcgis.map.popups.PopupManager(**kwargs)

A class that defines the popup found on a layer. Through this class you can edit the popup and get information on it.

Note

This class should not be created by a user but rather called through the popup method on a MapContent or GroupLayer instance.

property disable_popup

Determine whether the popup is enabled for the layer, meaning it is visible when the map is rendered.

Set whether the popup is enabled for the layer.

Parameter

Definition

value

Required bool. Whether the popup is enabled for the layer.

edit(title=None, description=None, expression_infos=None, field_infos=None, layer_options=None, media_infos=None, popup_elements=None, show_attachments=None)

Edit the properties of the popup. If no popup info exists then it will create a popup for the layer. To remove any existing items from the popup, pass in an empty instance of the parameter. For example to remove the title, pass an empty string or to remove the field_infos pass an empty list. If the parameter is set to None then nothing will change for that parameter.

Parameter

Definition

title

Optional string. Appears at the top of the popup window as a title.

description

Optional string. Appears in the body of the popup window as a description.

expression_infos

Optional list of PopupExpressionInfo objects. List of Arcade expressions added to the pop-up.

field_infos

Optional list of FieldInfo objects. Array of fieldInfo information properties. This information is provided by the service layer definition. When the description uses name/value pairs, the order of the array is how the fields display in the editable Map Viewer popup and the resulting popup. It is also possible to specify HTML-formatted content.

layer_options

Optional LayerOptions class.

media_infos

Optional list of MediaInfo objects. Array of various mediaInfo to display.

popup_elements

Optional list of PopupElement objects. An array of popupElement objects that represent an ordered list of popup elements.

show_attachments

Optional bool. Indicates whether attachments will be loaded for feature layers that have attachments.

property info

Return the popup info for your layer. If no popup info is present then the value is None.

Set the popup info for your layer.

Parameter

Definition

value

Required PopupInfo object. The new popup info for the layer.

property title

The title of the popup. If no title is present then the value is None.

Set the title of the popup in the edit method.

ArcadeReturnType

class arcgis.map.popups.ArcadeReturnType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Return type of the Arcade expression, can be a number or string. Number values are assumed to be double. Knowing the ArcadeReturnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as chart values.

number = 'number'
string = 'string'

AssociationType

class arcgis.map.popups.AssociationType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

connectivity = 'connectivity'
containment = 'containment'
structural = 'structural'

AttachmentDisplayType

class arcgis.map.popups.AttachmentDisplayType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

This property applies to elements of type attachments. A string value indicating how to display the attachment. If list is specified, attachments show as links. If preview is specified, attachments expand to the width of the pop-up. The default auto setting allows applications to choose the most suitable default experience.

auto = 'auto'
list = 'list'
preview = 'preview'

DateFormat

class arcgis.map.popups.DateFormat(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

A string used with date fields to specify how the date should be formatted.

day_short_month_year = 'dayShortMonthYear'
day_short_month_year_long_time = 'dayShortMonthYearLongTime'
day_short_month_year_long_time24 = 'dayShortMonthYearLongTime24'
day_short_month_year_short_time = 'dayShortMonthYearShortTime'
day_short_month_year_short_time24 = 'dayShortMonthYearShortTime24'
long_date = 'longDate'
long_date_long_time = 'longDateLongTime'
long_date_long_time24 = 'longDateLongTime24'
long_date_short_time = 'longDateShortTime'
long_date_short_time24 = 'longDateShortTime24'
long_month_day_year = 'longMonthDayYear'
long_month_day_year_long_time = 'longMonthDayYearLongTime'
long_month_day_year_long_time24 = 'longMonthDayYearLongTime24'
long_month_day_year_short_time = 'longMonthDayYearShortTime'
long_month_day_year_short_time24 = 'longMonthDayYearShortTime24'
long_month_year = 'longMonthYear'
short_date = 'shortDate'
short_date_le = 'shortDateLE'
short_date_le_long_time = 'shortDateLELongTime'
short_date_le_long_time24 = 'shortDateLELongTime24'
short_date_le_short_time = 'shortDateLEShortTime'
short_date_le_short_time24 = 'shortDateLEShortTime24'
short_date_long_time = 'shortDateLongTime'
short_date_long_time24 = 'shortDateLongTime24'
short_date_short_time = 'shortDateShortTime'
short_date_short_time24 = 'shortDateShortTime24'
short_month_year = 'shortMonthYear'
year = 'year'

FieldInfo

pydantic model arcgis.map.popups.FieldInfo

Defines how a field in the dataset participates (or does not participate) in a popup window.

Show JSON schema
{
   "title": "FieldInfo",
   "description": "Defines how a field in the dataset participates (or does not participate) in a popup window.",
   "type": "object",
   "properties": {
      "fieldName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string containing the field name as defined by the service.",
         "title": "Fieldname"
      },
      "format": {
         "anyOf": [
            {
               "$ref": "#/$defs/Format"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A format object used with numerical or date fields to provide more detail about how the value should be displayed in a web map popup window."
      },
      "isEditable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "A Boolean determining whether users can edit this field. Not applicable to Arcade expressions.",
         "title": "Iseditable"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string containing the field alias. This can be overridden by the web map author. Not applicable to Arcade expressions as `title` is used instead.",
         "title": "Label"
      },
      "statisticType": {
         "anyOf": [
            {
               "$ref": "#/$defs/StatisticType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used in a 1:many or many:many relationship to compute the statistics on the field to show in the popup."
      },
      "stringFieldOption": {
         "anyOf": [
            {
               "$ref": "#/$defs/StringFieldOption"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string determining what type of input box editors see when editing the field. Applies only to string fields. Not applicable to Arcade expressions."
      },
      "tooltip": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string providing an editing hint for editors of the field. Not applicable to Arcade expressions.",
         "title": "Tooltip"
      },
      "visible": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A Boolean determining whether the field is visible in the popup window.",
         "title": "Visible"
      }
   },
   "$defs": {
      "DateFormat": {
         "description": "A string used with date fields to specify how the date should be formatted.",
         "enum": [
            "dayShortMonthYear",
            "dayShortMonthYearLongTime",
            "dayShortMonthYearLongTime24",
            "dayShortMonthYearShortTime",
            "dayShortMonthYearShortTime24",
            "longDate",
            "longDateLongTime",
            "longDateLongTime24",
            "longDateShortTime",
            "longDateShortTime24",
            "longMonthDayYear",
            "longMonthDayYearLongTime",
            "longMonthDayYearLongTime24",
            "longMonthDayYearShortTime",
            "longMonthDayYearShortTime24",
            "longMonthYear",
            "shortDate",
            "shortDateLE",
            "shortDateLELongTime",
            "shortDateLELongTime24",
            "shortDateLEShortTime",
            "shortDateLEShortTime24",
            "shortDateLongTime",
            "shortDateLongTime24",
            "shortDateShortTime",
            "shortDateShortTime24",
            "shortMonthYear",
            "year"
         ],
         "title": "DateFormat",
         "type": "string"
      },
      "Format": {
         "description": "The format object can be used with numerical or date fields to provide\nmore detail about how values should be formatted for display.",
         "properties": {
            "dateFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DateFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string used with date fields to specify how the date should be formatted."
            },
            "digitSeparator": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Boolean used with numerical fields. If True, allows the number to have a digit (or thousands) separator. Depending on the locale, this separator is a decimal point or a comma. If False, means that no separator will be used.",
               "title": "Digitseparator"
            },
            "places": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer used with numerical fields to specify the number of decimal places. Any places beyond this value are rounded.",
               "title": "Places"
            }
         },
         "title": "Format",
         "type": "object"
      },
      "StatisticType": {
         "description": "Used in a 1:many or many:many relationship to compute the statistics on\nthe field to show in the popup.",
         "enum": [
            "avg",
            "count",
            "max",
            "min",
            "stddev",
            "sum",
            "var"
         ],
         "title": "StatisticType",
         "type": "string"
      },
      "StringFieldOption": {
         "description": "A string determining what type of input box editors see when editing the\nfield. Applies only to string fields. Not applicable to Arcade expressions.",
         "enum": [
            "richtext",
            "textarea",
            "textbox"
         ],
         "title": "StringFieldOption",
         "type": "string"
      }
   }
}

field field_name = None (alias 'fieldName')

A string containing the field name as defined by the service.

field format = None

A format object used with numerical or date fields to provide more detail about how the value should be displayed in a web map popup window.

field is_editable = True (alias 'isEditable')

A Boolean determining whether users can edit this field. Not applicable to Arcade expressions.

field label = None

A string containing the field alias. This can be overridden by the web map author. Not applicable to Arcade expressions as title is used instead.

field statistic_type = None (alias 'statisticType')

Used in a 1:many or many:many relationship to compute the statistics on the field to show in the popup.

field string_field_option = None (alias 'stringFieldOption')

A string determining what type of input box editors see when editing the field. Applies only to string fields. Not applicable to Arcade expressions.

field tooltip = None

A string providing an editing hint for editors of the field. Not applicable to Arcade expressions.

field visible = None

A Boolean determining whether the field is visible in the popup window.

Format

pydantic model arcgis.map.popups.Format

The format object can be used with numerical or date fields to provide more detail about how values should be formatted for display.

Show JSON schema
{
   "title": "Format",
   "description": "The format object can be used with numerical or date fields to provide\nmore detail about how values should be formatted for display.",
   "type": "object",
   "properties": {
      "dateFormat": {
         "anyOf": [
            {
               "$ref": "#/$defs/DateFormat"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string used with date fields to specify how the date should be formatted."
      },
      "digitSeparator": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A Boolean used with numerical fields. If True, allows the number to have a digit (or thousands) separator. Depending on the locale, this separator is a decimal point or a comma. If False, means that no separator will be used.",
         "title": "Digitseparator"
      },
      "places": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An integer used with numerical fields to specify the number of decimal places. Any places beyond this value are rounded.",
         "title": "Places"
      }
   },
   "$defs": {
      "DateFormat": {
         "description": "A string used with date fields to specify how the date should be formatted.",
         "enum": [
            "dayShortMonthYear",
            "dayShortMonthYearLongTime",
            "dayShortMonthYearLongTime24",
            "dayShortMonthYearShortTime",
            "dayShortMonthYearShortTime24",
            "longDate",
            "longDateLongTime",
            "longDateLongTime24",
            "longDateShortTime",
            "longDateShortTime24",
            "longMonthDayYear",
            "longMonthDayYearLongTime",
            "longMonthDayYearLongTime24",
            "longMonthDayYearShortTime",
            "longMonthDayYearShortTime24",
            "longMonthYear",
            "shortDate",
            "shortDateLE",
            "shortDateLELongTime",
            "shortDateLELongTime24",
            "shortDateLEShortTime",
            "shortDateLEShortTime24",
            "shortDateLongTime",
            "shortDateLongTime24",
            "shortDateShortTime",
            "shortDateShortTime24",
            "shortMonthYear",
            "year"
         ],
         "title": "DateFormat",
         "type": "string"
      }
   }
}

field date_format = None (alias 'dateFormat')

A string used with date fields to specify how the date should be formatted.

field digit_separator = None (alias 'digitSeparator')

A Boolean used with numerical fields. If True, allows the number to have a digit (or thousands) separator. Depending on the locale, this separator is a decimal point or a comma. If False, means that no separator will be used.

field places = None

An integer used with numerical fields to specify the number of decimal places. Any places beyond this value are rounded.

LayerOptions

pydantic model arcgis.map.popups.LayerOptions

Additional options available for the popup layer.

Show JSON schema
{
   "title": "LayerOptions",
   "description": "Additional options available for the popup layer.",
   "type": "object",
   "properties": {
      "returnTopmostRaster": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates whether or not only the topmost raster should be displayed.",
         "title": "Returntopmostraster"
      },
      "showNoDataRecords": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates whether or not the NoData records should be displayed.",
         "title": "Shownodatarecords"
      }
   }
}

field return_topmost_raster = None (alias 'returnTopmostRaster')

Indicates whether or not only the topmost raster should be displayed.

field show_no_data_records = None (alias 'showNoDataRecords')

Indicates whether or not the NoData records should be displayed.

MediaInfo

pydantic model arcgis.map.popups.MediaInfo

Defines an image or a chart to be displayed in a popup window.

Show JSON schema
{
   "title": "MediaInfo",
   "description": "Defines an image or a chart to be displayed in a popup window.",
   "type": "object",
   "properties": {
      "altText": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string providing the alternate text for the media.",
         "title": "Alttext"
      },
      "caption": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string caption describing the media.",
         "title": "Caption"
      },
      "refreshInterval": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled. If the property does not exist, it's equivalent to having a value of 0. Only applicable when `type` is set to `image`.",
         "title": "Refreshinterval"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string title for the media.",
         "title": "Title"
      },
      "type": {
         "anyOf": [
            {
               "$ref": "#/$defs/MediaType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string defining the type of media."
      },
      "value": {
         "anyOf": [
            {
               "$ref": "#/$defs/Value"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value object containing information about how the image should be retrieved or how the chart should be constructed."
      }
   },
   "$defs": {
      "MediaType": {
         "description": "A string defining the type of media.",
         "enum": [
            "barchart",
            "columnchart",
            "image",
            "linechart",
            "piechart"
         ],
         "title": "MediaType",
         "type": "string"
      },
      "Value": {
         "description": "The value object contains information for popup windows about how images should be retrieved or charts constructed.",
         "properties": {
            "colors": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "maximum": 255,
                           "minimum": 0,
                           "type": "integer"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional array of colors where each `color` sequentially corresponds to a field in the `fields` property. When the value for `mediaInfo.type` is `linechart`, the first color in the array will drive the line color. If `colors` is longer than `fields`, unmatched colors are ignored. If `colors` is shorter than `fields` or `colors` isn't specified, a default color ramp is applied.",
               "title": "Colors"
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An array of strings, with each string containing the name of a field to display in the chart.",
               "title": "Fields"
            },
            "linkURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing a URL to be launched in a browser when a user clicks the image.",
               "title": "Linkurl"
            },
            "normalizeField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.",
               "title": "Normalizefield"
            },
            "sourceURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing the URL to the image.",
               "title": "Sourceurl"
            },
            "tooltipField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not used. It is used for showing tooltips from another field in the same layer or related layer/table.",
               "title": "Tooltipfield"
            }
         },
         "title": "Value",
         "type": "object"
      }
   }
}

field alt_text = None (alias 'altText')

A string providing the alternate text for the media.

field caption = None

A string caption describing the media.

field refresh_interval = 0 (alias 'refreshInterval')

Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled. If the property does not exist, it’s equivalent to having a value of 0. Only applicable when type is set to image.

field title = None

A string title for the media.

field type = None

A string defining the type of media.

field value = None

A value object containing information about how the image should be retrieved or how the chart should be constructed.

MediaType

class arcgis.map.popups.MediaType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

A string defining the type of media.

barchart = 'barchart'
columnchart = 'columnchart'
image = 'image'
linechart = 'linechart'
piechart = 'piechart'

Order

class arcgis.map.popups.Order(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Indicates whether features are sorted in ascending or descending order of the field values.

asc = 'asc'
desc = 'desc'

OrderByField

pydantic model arcgis.map.popups.OrderByField

Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.

Show JSON schema
{
   "title": "OrderByField",
   "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
   "type": "object",
   "properties": {
      "field": {
         "description": "Name of a field. The value of this field will drive the sorting.",
         "title": "Field",
         "type": "string"
      },
      "order": {
         "allOf": [
            {
               "$ref": "#/$defs/Order"
            }
         ],
         "description": "Indicates whether features are sorted in ascending or descending order of the field values."
      }
   },
   "$defs": {
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of\nthe field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      }
   },
   "required": [
      "field",
      "order"
   ]
}

field field [Required]

Name of a field. The value of this field will drive the sorting.

field order [Required]

Indicates whether features are sorted in ascending or descending order of the field values.

PopupElementAttachments

pydantic model arcgis.map.popups.PopupElementAttachments

Configures attachments in popup elements.

Show JSON schema
{
   "title": "PopupElementAttachments",
   "description": "Configures attachments in popup elements.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value describing the element in detail.",
         "title": "Description"
      },
      "displayType": {
         "anyOf": [
            {
               "$ref": "#/$defs/AttachmentDisplayType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This property applies to elements of type `attachments`. A string value indicating how to display the attachment. If `list` is specified, attachments show as links. If `preview` is specified, attachments expand to the width of the pop-up. The default `auto` setting allows applications to choose the most suitable default experience."
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value indicating what the element represents.",
         "title": "Title"
      },
      "type": {
         "const": "attachments",
         "default": "attachments",
         "enum": [
            "attachments"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "AttachmentDisplayType": {
         "description": "This property applies to elements of type `attachments`. A string value\nindicating how to display the attachment. If `list` is specified, attachments\nshow as links. If `preview` is specified, attachments expand to the width of\nthe pop-up. The default `auto` setting allows applications to choose the most\nsuitable default experience.",
         "enum": [
            "auto",
            "list",
            "preview"
         ],
         "title": "AttachmentDisplayType",
         "type": "string"
      }
   }
}

field description = None

An optional string value describing the element in detail.

field display_type = None (alias 'displayType')

This property applies to elements of type attachments. A string value indicating how to display the attachment. If list is specified, attachments show as links. If preview is specified, attachments expand to the width of the pop-up. The default auto setting allows applications to choose the most suitable default experience.

field title = None

An optional string value indicating what the element represents.

field type = 'attachments'

PopupElementExpression

pydantic model arcgis.map.popups.PopupElementExpression

A pop-up element defined by an arcade expression.

Show JSON schema
{
   "title": "PopupElementExpression",
   "description": "A pop-up element defined by an arcade expression.",
   "type": "object",
   "properties": {
      "expressionInfo": {
         "allOf": [
            {
               "$ref": "#/$defs/PopupExpressionInfo"
            }
         ],
         "description": "An Arcade expression that defines the pop-up element content. The return type will always be `dictionary` as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element)."
      },
      "type": {
         "const": "expression",
         "default": "expression",
         "description": "Specifies the type of element.",
         "enum": [
            "expression"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "ArcadeReturnType": {
         "description": "Return type of the Arcade expression, can be a number or string.\nNumber values are assumed to be `double`.\nKnowing the `ArcadeReturnType` allows the authoring client to present\nfields in relevant contexts. For example, numeric fields in numeric\ncontexts such as chart values.",
         "enum": [
            "number",
            "string"
         ],
         "title": "ArcadeReturnType",
         "type": "string"
      },
      "PopupExpressionInfo": {
         "description": "An Arcade expression that defines the pop-up element content. The return type will always be a `dictionary` that defines the desired pop-up element as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
         "properties": {
            "expression": {
               "description": "The Arcade expression.",
               "title": "Expression",
               "type": "string"
            },
            "returnType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArcadeReturnType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "string",
               "description": "Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be `double`. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts."
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Title of the expression.",
               "title": "Title"
            }
         },
         "required": [
            "expression"
         ],
         "title": "PopupExpressionInfo",
         "type": "object"
      }
   },
   "required": [
      "expressionInfo"
   ]
}

field expression_info [Required] (alias 'expressionInfo')

An Arcade expression that defines the pop-up element content. The return type will always be dictionary as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).

field type = 'expression'

Specifies the type of element.

PopupElementFields

pydantic model arcgis.map.popups.PopupElementFields

Configures fields in popup elements.

Show JSON schema
{
   "title": "PopupElementFields",
   "description": "Configures fields in popup elements.",
   "type": "object",
   "properties": {
      "attributes": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when an element of type `fields` is being returned inside an element of type `expression` and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into `fields` elements. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
         "title": "Attributes"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value describing the element in detail.",
         "title": "Description"
      },
      "fieldInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/FieldInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "It is an array of `fieldInfo` objects representing a field/value pair displayed as a table within the popupElement. If the `fieldInfos` property is not provided, the popupElement will display whatever is specified directly in the `popupInfo.fieldInfos` property.",
         "title": "Fieldinfos"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value indicating what the element represents.",
         "title": "Title"
      },
      "type": {
         "const": "fields",
         "default": "fields",
         "description": "Specifies the type of element.",
         "enum": [
            "fields"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "DateFormat": {
         "description": "A string used with date fields to specify how the date should be formatted.",
         "enum": [
            "dayShortMonthYear",
            "dayShortMonthYearLongTime",
            "dayShortMonthYearLongTime24",
            "dayShortMonthYearShortTime",
            "dayShortMonthYearShortTime24",
            "longDate",
            "longDateLongTime",
            "longDateLongTime24",
            "longDateShortTime",
            "longDateShortTime24",
            "longMonthDayYear",
            "longMonthDayYearLongTime",
            "longMonthDayYearLongTime24",
            "longMonthDayYearShortTime",
            "longMonthDayYearShortTime24",
            "longMonthYear",
            "shortDate",
            "shortDateLE",
            "shortDateLELongTime",
            "shortDateLELongTime24",
            "shortDateLEShortTime",
            "shortDateLEShortTime24",
            "shortDateLongTime",
            "shortDateLongTime24",
            "shortDateShortTime",
            "shortDateShortTime24",
            "shortMonthYear",
            "year"
         ],
         "title": "DateFormat",
         "type": "string"
      },
      "FieldInfo": {
         "description": "Defines how a field in the dataset participates (or does not participate) in a popup window.",
         "properties": {
            "fieldName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string containing the field name as defined by the service.",
               "title": "Fieldname"
            },
            "format": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Format"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A format object used with numerical or date fields to provide more detail about how the value should be displayed in a web map popup window."
            },
            "isEditable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "A Boolean determining whether users can edit this field. Not applicable to Arcade expressions.",
               "title": "Iseditable"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string containing the field alias. This can be overridden by the web map author. Not applicable to Arcade expressions as `title` is used instead.",
               "title": "Label"
            },
            "statisticType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StatisticType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used in a 1:many or many:many relationship to compute the statistics on the field to show in the popup."
            },
            "stringFieldOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StringFieldOption"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string determining what type of input box editors see when editing the field. Applies only to string fields. Not applicable to Arcade expressions."
            },
            "tooltip": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string providing an editing hint for editors of the field. Not applicable to Arcade expressions.",
               "title": "Tooltip"
            },
            "visible": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Boolean determining whether the field is visible in the popup window.",
               "title": "Visible"
            }
         },
         "title": "FieldInfo",
         "type": "object"
      },
      "Format": {
         "description": "The format object can be used with numerical or date fields to provide\nmore detail about how values should be formatted for display.",
         "properties": {
            "dateFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DateFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string used with date fields to specify how the date should be formatted."
            },
            "digitSeparator": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Boolean used with numerical fields. If True, allows the number to have a digit (or thousands) separator. Depending on the locale, this separator is a decimal point or a comma. If False, means that no separator will be used.",
               "title": "Digitseparator"
            },
            "places": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer used with numerical fields to specify the number of decimal places. Any places beyond this value are rounded.",
               "title": "Places"
            }
         },
         "title": "Format",
         "type": "object"
      },
      "StatisticType": {
         "description": "Used in a 1:many or many:many relationship to compute the statistics on\nthe field to show in the popup.",
         "enum": [
            "avg",
            "count",
            "max",
            "min",
            "stddev",
            "sum",
            "var"
         ],
         "title": "StatisticType",
         "type": "string"
      },
      "StringFieldOption": {
         "description": "A string determining what type of input box editors see when editing the\nfield. Applies only to string fields. Not applicable to Arcade expressions.",
         "enum": [
            "richtext",
            "textarea",
            "textbox"
         ],
         "title": "StringFieldOption",
         "type": "string"
      }
   }
}

field attributes = None

A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when an element of type fields is being returned inside an element of type expression and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into fields elements. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).

field description = None

An optional string value describing the element in detail.

field field_infos = None (alias 'fieldInfos')

It is an array of fieldInfo objects representing a field/value pair displayed as a table within the popupElement. If the fieldInfos property is not provided, the popupElement will display whatever is specified directly in the popupInfo.fieldInfos property.

field title = None

An optional string value indicating what the element represents.

field type = 'fields'

Specifies the type of element.

PopupElementMedia

pydantic model arcgis.map.popups.PopupElementMedia

Configures media in popup elements.

Show JSON schema
{
   "title": "PopupElementMedia",
   "description": "Configures media in popup elements.",
   "type": "object",
   "properties": {
      "attributes": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values.  This property is only used when an element of type  `media` is being returned inside an element of type `expression` and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into `mediaInfos` such as charts. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
         "title": "Attributes"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value describing the element in detail.",
         "title": "Description"
      },
      "mediaInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/MediaInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of `mediaInfo` objects representing an image or chart for display. If no `mediaInfos` property is provided, the popupElement will display whatever is specified in the `popupInfo.mediaInfos` property.",
         "title": "Mediainfos"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An optional string value indicating what the element represents.",
         "title": "Title"
      },
      "type": {
         "const": "media",
         "default": "media",
         "enum": [
            "media"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "MediaInfo": {
         "description": "Defines an image or a chart to be displayed in a popup window.",
         "properties": {
            "altText": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string providing the alternate text for the media.",
               "title": "Alttext"
            },
            "caption": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string caption describing the media.",
               "title": "Caption"
            },
            "refreshInterval": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled. If the property does not exist, it's equivalent to having a value of 0. Only applicable when `type` is set to `image`.",
               "title": "Refreshinterval"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string title for the media.",
               "title": "Title"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MediaType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string defining the type of media."
            },
            "value": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Value"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value object containing information about how the image should be retrieved or how the chart should be constructed."
            }
         },
         "title": "MediaInfo",
         "type": "object"
      },
      "MediaType": {
         "description": "A string defining the type of media.",
         "enum": [
            "barchart",
            "columnchart",
            "image",
            "linechart",
            "piechart"
         ],
         "title": "MediaType",
         "type": "string"
      },
      "Value": {
         "description": "The value object contains information for popup windows about how images should be retrieved or charts constructed.",
         "properties": {
            "colors": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "maximum": 255,
                           "minimum": 0,
                           "type": "integer"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional array of colors where each `color` sequentially corresponds to a field in the `fields` property. When the value for `mediaInfo.type` is `linechart`, the first color in the array will drive the line color. If `colors` is longer than `fields`, unmatched colors are ignored. If `colors` is shorter than `fields` or `colors` isn't specified, a default color ramp is applied.",
               "title": "Colors"
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An array of strings, with each string containing the name of a field to display in the chart.",
               "title": "Fields"
            },
            "linkURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing a URL to be launched in a browser when a user clicks the image.",
               "title": "Linkurl"
            },
            "normalizeField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.",
               "title": "Normalizefield"
            },
            "sourceURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing the URL to the image.",
               "title": "Sourceurl"
            },
            "tooltipField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not used. It is used for showing tooltips from another field in the same layer or related layer/table.",
               "title": "Tooltipfield"
            }
         },
         "title": "Value",
         "type": "object"
      }
   }
}

field attributes = None

A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when an element of type media is being returned inside an element of type expression and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into mediaInfos such as charts. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).

field description = None

An optional string value describing the element in detail.

field media_infos = None (alias 'mediaInfos')

An array of mediaInfo objects representing an image or chart for display. If no mediaInfos property is provided, the popupElement will display whatever is specified in the popupInfo.mediaInfos property.

field title = None

An optional string value indicating what the element represents.

field type = 'media'

PopupElementRelationship

pydantic model arcgis.map.popups.PopupElementRelationship

Provides the ability to navigate and view related records from a layer or table associated within the popup.

Show JSON schema
{
   "title": "PopupElementRelationship",
   "description": "Provides the ability to navigate and view related records from a layer or table associated within the popup.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "displayCount": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An integer that indicates the maximum number of records to display.",
         "title": "Displaycount"
      },
      "displayType": {
         "const": "list",
         "default": "list",
         "description": "A string that defines how the related records should be displayed.",
         "enum": [
            "list"
         ],
         "title": "Displaytype",
         "type": "string"
      },
      "orderByFields": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/OrderByField"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of `orderByField` objects indicating the display order for the related records, and whether they should be sorted in ascending `'asc'` or descending `'desc'` order. If `orderByFields` is not provided, the popupElement will display whatever is specified directly in the `popupInfo.relatedRecordsInfo.orderByFields` property.",
         "title": "Orderbyfields"
      },
      "relationshipId": {
         "description": "The id of the relationship as defined in the feature layer definition",
         "title": "Relationshipid",
         "type": "integer"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value indicating what the element represents.",
         "title": "Title"
      },
      "type": {
         "const": "relationship",
         "default": "relationship",
         "description": "String value indicating which type of element to use.",
         "enum": [
            "relationship"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of\nthe field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "allOf": [
                  {
                     "$ref": "#/$defs/Order"
                  }
               ],
               "description": "Indicates whether features are sorted in ascending or descending order of the field values."
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      }
   },
   "required": [
      "relationshipId"
   ]
}

field description = None

A string that describes the element in detail.

field display_count = None (alias 'displayCount')

An integer that indicates the maximum number of records to display.

field display_type = 'list' (alias 'displayType')

A string that defines how the related records should be displayed.

field order_by_fields = None (alias 'orderByFields')

Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending ‘asc’ or descending ‘desc’ order. If orderByFields is not provided, the popupElement will display whatever is specified directly in the popupInfo.relatedRecordsInfo.orderByFields property.

field relationship_id [Required] (alias 'relationshipId')

The id of the relationship as defined in the feature layer definition

field title = None

A string value indicating what the element represents.

field type = 'relationship'

String value indicating which type of element to use.

PopupElementText

pydantic model arcgis.map.popups.PopupElementText

Configures text in popup elements.

Show JSON schema
{
   "title": "PopupElementText",
   "description": "Configures text in popup elements.",
   "type": "object",
   "properties": {
      "text": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the text to be displayed within the popupElement. If no `text` property is provided, the popupElement will display whatever is set in the popupInfo.description property.",
         "title": "Text"
      },
      "type": {
         "const": "text",
         "default": "text",
         "enum": [
            "text"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field text = None

String value indicating the text to be displayed within the popupElement. If no text property is provided, the popupElement will display whatever is set in the popupInfo.description property.

field type = 'text'

PopupElementUtilityNetworkAssociations

pydantic model arcgis.map.popups.PopupElementUtilityNetworkAssociations

Provides the ability to navigate and view associated objects from a layer or table associated within the [pop-up](popupInfo.md).

Show JSON schema
{
   "title": "PopupElementUtilityNetworkAssociations",
   "description": "Provides the ability to navigate and view associated objects from a layer or table associated within the [pop-up](popupInfo.md).",
   "type": "object",
   "properties": {
      "associatedAssetGroup": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The id of the asset group to filter utility network associations.",
         "title": "Associatedassetgroup"
      },
      "associatedAssetType": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The id of the asset type to filter utility network associations.",
         "title": "Associatedassettype"
      },
      "associationsType": {
         "anyOf": [
            {
               "$ref": "#/$defs/AssociationType"
            },
            {
               "type": "null"
            }
         ],
         "description": "String value indicating which type of utility network associations to use."
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "displayCount": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An integer that indicates the maximum number of records to display.",
         "title": "Displaycount"
      },
      "orderByFields": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/OrderByField"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of `orderByField` objects indicating the display order for the related records, and whether they should be sorted in ascending `'asc'` or descending `'desc'` order. If `orderByFields` is not provided, the popupElement will display whatever is specified directly in the `popupInfo.relatedRecordsInfo.orderByFields` property.",
         "title": "Orderbyfields"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value indicating what the element represents.",
         "title": "Title"
      },
      "type": {
         "const": "utilityNetworkAssociations",
         "default": "utilityNetworkAssociations",
         "description": "String value indicating which type of element to use.",
         "enum": [
            "utilityNetworkAssociations"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "AssociationType": {
         "enum": [
            "connectivity",
            "containment",
            "structural"
         ],
         "title": "AssociationType",
         "type": "string"
      },
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of\nthe field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "allOf": [
                  {
                     "$ref": "#/$defs/Order"
                  }
               ],
               "description": "Indicates whether features are sorted in ascending or descending order of the field values."
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      }
   },
   "required": [
      "associationsType"
   ]
}

field associated_asset_group = None (alias 'associatedAssetGroup')

The id of the asset group to filter utility network associations.

field associated_asset_type = None (alias 'associatedAssetType')

The id of the asset type to filter utility network associations.

field associations_type [Required] (alias 'associationsType')

String value indicating which type of utility network associations to use.

field description = None

A string that describes the element in detail.

field display_count = None (alias 'displayCount')

An integer that indicates the maximum number of records to display.

field order_by_fields = None (alias 'orderByFields')

Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending ‘asc’ or descending ‘desc’ order. If orderByFields is not provided, the popupElement will display whatever is specified directly in the popupInfo.relatedRecordsInfo.orderByFields property.

field title = None

A string value indicating what the element represents.

field type = 'utilityNetworkAssociations'

String value indicating which type of element to use.

PopupExpressionInfo

pydantic model arcgis.map.popups.PopupExpressionInfo

An Arcade expression that defines the pop-up element content. The return type will always be a dictionary that defines the desired pop-up element as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).

Show JSON schema
{
   "title": "PopupExpressionInfo",
   "description": "An Arcade expression that defines the pop-up element content. The return type will always be a `dictionary` that defines the desired pop-up element as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
   "type": "object",
   "properties": {
      "expression": {
         "description": "The Arcade expression.",
         "title": "Expression",
         "type": "string"
      },
      "returnType": {
         "anyOf": [
            {
               "$ref": "#/$defs/ArcadeReturnType"
            },
            {
               "type": "null"
            }
         ],
         "default": "string",
         "description": "Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be `double`. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts."
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Title of the expression.",
         "title": "Title"
      }
   },
   "$defs": {
      "ArcadeReturnType": {
         "description": "Return type of the Arcade expression, can be a number or string.\nNumber values are assumed to be `double`.\nKnowing the `ArcadeReturnType` allows the authoring client to present\nfields in relevant contexts. For example, numeric fields in numeric\ncontexts such as chart values.",
         "enum": [
            "number",
            "string"
         ],
         "title": "ArcadeReturnType",
         "type": "string"
      }
   },
   "required": [
      "expression"
   ]
}

field expression [Required]

The Arcade expression.

field return_type = 'string' (alias 'returnType')

Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be double. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts.

field title = None

Title of the expression.

PopupInfo

pydantic model arcgis.map.popups.PopupInfo

Defines the look and feel of popup windows when a user clicks or queries a feature.

Show JSON schema
{
   "title": "PopupInfo",
   "description": "Defines the look and feel of popup windows when a user clicks or queries a feature.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that appears in the body of the popup window as a description. A basic subset of HTML may also be used to enrich the text. The supported HTML for ArcGIS Online can be seen in the [Supported HTML](https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm) page.",
         "title": "Description"
      },
      "expressionInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/PopupExpressionInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "List of Arcade expressions added to the pop-up.",
         "title": "Expressioninfos"
      },
      "fieldInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/FieldInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of FieldInfo information properties. This information is provided by the service layer definition. When the description uses name/value pairs, the order of the array is how the fields display in the editable Map Viewer popup and the resulting popup. It is also possible to specify HTML-formatted content.",
         "title": "Fieldinfos"
      },
      "layerOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LayerOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional options that can be defined for the popup layer."
      },
      "mediaInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/MediaInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of various mediaInfo to display. Can be of type `image`, `piechart`, `barchart`, `columnchart`, or `linechart`. The order given is the order in which is displays.",
         "title": "Mediainfos"
      },
      "popupElements": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/PopupElementAttachments"
                     },
                     {
                        "$ref": "#/$defs/PopupElementExpression"
                     },
                     {
                        "$ref": "#/$defs/PopupElementFields"
                     },
                     {
                        "$ref": "#/$defs/PopupElementMedia"
                     },
                     {
                        "$ref": "#/$defs/PopupElementRelationship"
                     },
                     {
                        "$ref": "#/$defs/PopupElementText"
                     },
                     {
                        "$ref": "#/$defs/PopupElementUtilityNetworkAssociations"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of popupElement objects that represent an ordered list of popup elements.",
         "title": "Popupelements"
      },
      "relatedRecordsInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/RelatedRecordsInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Applicable only when the pop-up contains a relationship content element. This is needed for backward compatibility for some web maps."
      },
      "showAttachments": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates whether attachments will be loaded for feature layers that have attachments.",
         "title": "Showattachments"
      },
      "showLastEditInfo": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Indicates whether popup will display information about when and who last edited the feature. Applicable only to layers that have been configured to keep track of such information.",
         "title": "Showlasteditinfo"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that appears at the top of the popup window as a title.",
         "title": "Title"
      }
   },
   "$defs": {
      "ArcadeReturnType": {
         "description": "Return type of the Arcade expression, can be a number or string.\nNumber values are assumed to be `double`.\nKnowing the `ArcadeReturnType` allows the authoring client to present\nfields in relevant contexts. For example, numeric fields in numeric\ncontexts such as chart values.",
         "enum": [
            "number",
            "string"
         ],
         "title": "ArcadeReturnType",
         "type": "string"
      },
      "AssociationType": {
         "enum": [
            "connectivity",
            "containment",
            "structural"
         ],
         "title": "AssociationType",
         "type": "string"
      },
      "AttachmentDisplayType": {
         "description": "This property applies to elements of type `attachments`. A string value\nindicating how to display the attachment. If `list` is specified, attachments\nshow as links. If `preview` is specified, attachments expand to the width of\nthe pop-up. The default `auto` setting allows applications to choose the most\nsuitable default experience.",
         "enum": [
            "auto",
            "list",
            "preview"
         ],
         "title": "AttachmentDisplayType",
         "type": "string"
      },
      "DateFormat": {
         "description": "A string used with date fields to specify how the date should be formatted.",
         "enum": [
            "dayShortMonthYear",
            "dayShortMonthYearLongTime",
            "dayShortMonthYearLongTime24",
            "dayShortMonthYearShortTime",
            "dayShortMonthYearShortTime24",
            "longDate",
            "longDateLongTime",
            "longDateLongTime24",
            "longDateShortTime",
            "longDateShortTime24",
            "longMonthDayYear",
            "longMonthDayYearLongTime",
            "longMonthDayYearLongTime24",
            "longMonthDayYearShortTime",
            "longMonthDayYearShortTime24",
            "longMonthYear",
            "shortDate",
            "shortDateLE",
            "shortDateLELongTime",
            "shortDateLELongTime24",
            "shortDateLEShortTime",
            "shortDateLEShortTime24",
            "shortDateLongTime",
            "shortDateLongTime24",
            "shortDateShortTime",
            "shortDateShortTime24",
            "shortMonthYear",
            "year"
         ],
         "title": "DateFormat",
         "type": "string"
      },
      "FieldInfo": {
         "description": "Defines how a field in the dataset participates (or does not participate) in a popup window.",
         "properties": {
            "fieldName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string containing the field name as defined by the service.",
               "title": "Fieldname"
            },
            "format": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Format"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A format object used with numerical or date fields to provide more detail about how the value should be displayed in a web map popup window."
            },
            "isEditable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "A Boolean determining whether users can edit this field. Not applicable to Arcade expressions.",
               "title": "Iseditable"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string containing the field alias. This can be overridden by the web map author. Not applicable to Arcade expressions as `title` is used instead.",
               "title": "Label"
            },
            "statisticType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StatisticType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used in a 1:many or many:many relationship to compute the statistics on the field to show in the popup."
            },
            "stringFieldOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StringFieldOption"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string determining what type of input box editors see when editing the field. Applies only to string fields. Not applicable to Arcade expressions."
            },
            "tooltip": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string providing an editing hint for editors of the field. Not applicable to Arcade expressions.",
               "title": "Tooltip"
            },
            "visible": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Boolean determining whether the field is visible in the popup window.",
               "title": "Visible"
            }
         },
         "title": "FieldInfo",
         "type": "object"
      },
      "Format": {
         "description": "The format object can be used with numerical or date fields to provide\nmore detail about how values should be formatted for display.",
         "properties": {
            "dateFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DateFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string used with date fields to specify how the date should be formatted."
            },
            "digitSeparator": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Boolean used with numerical fields. If True, allows the number to have a digit (or thousands) separator. Depending on the locale, this separator is a decimal point or a comma. If False, means that no separator will be used.",
               "title": "Digitseparator"
            },
            "places": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer used with numerical fields to specify the number of decimal places. Any places beyond this value are rounded.",
               "title": "Places"
            }
         },
         "title": "Format",
         "type": "object"
      },
      "LayerOptions": {
         "description": "Additional options available for the popup layer.",
         "properties": {
            "returnTopmostRaster": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether or not only the topmost raster should be displayed.",
               "title": "Returntopmostraster"
            },
            "showNoDataRecords": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether or not the NoData records should be displayed.",
               "title": "Shownodatarecords"
            }
         },
         "title": "LayerOptions",
         "type": "object"
      },
      "MediaInfo": {
         "description": "Defines an image or a chart to be displayed in a popup window.",
         "properties": {
            "altText": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string providing the alternate text for the media.",
               "title": "Alttext"
            },
            "caption": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string caption describing the media.",
               "title": "Caption"
            },
            "refreshInterval": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled. If the property does not exist, it's equivalent to having a value of 0. Only applicable when `type` is set to `image`.",
               "title": "Refreshinterval"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string title for the media.",
               "title": "Title"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MediaType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string defining the type of media."
            },
            "value": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Value"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value object containing information about how the image should be retrieved or how the chart should be constructed."
            }
         },
         "title": "MediaInfo",
         "type": "object"
      },
      "MediaType": {
         "description": "A string defining the type of media.",
         "enum": [
            "barchart",
            "columnchart",
            "image",
            "linechart",
            "piechart"
         ],
         "title": "MediaType",
         "type": "string"
      },
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of\nthe field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "allOf": [
                  {
                     "$ref": "#/$defs/Order"
                  }
               ],
               "description": "Indicates whether features are sorted in ascending or descending order of the field values."
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      },
      "PopupElementAttachments": {
         "description": "Configures attachments in popup elements.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value describing the element in detail.",
               "title": "Description"
            },
            "displayType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AttachmentDisplayType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property applies to elements of type `attachments`. A string value indicating how to display the attachment. If `list` is specified, attachments show as links. If `preview` is specified, attachments expand to the width of the pop-up. The default `auto` setting allows applications to choose the most suitable default experience."
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value indicating what the element represents.",
               "title": "Title"
            },
            "type": {
               "const": "attachments",
               "default": "attachments",
               "enum": [
                  "attachments"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "PopupElementAttachments",
         "type": "object"
      },
      "PopupElementExpression": {
         "description": "A pop-up element defined by an arcade expression.",
         "properties": {
            "expressionInfo": {
               "allOf": [
                  {
                     "$ref": "#/$defs/PopupExpressionInfo"
                  }
               ],
               "description": "An Arcade expression that defines the pop-up element content. The return type will always be `dictionary` as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element)."
            },
            "type": {
               "const": "expression",
               "default": "expression",
               "description": "Specifies the type of element.",
               "enum": [
                  "expression"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "expressionInfo"
         ],
         "title": "PopupElementExpression",
         "type": "object"
      },
      "PopupElementFields": {
         "description": "Configures fields in popup elements.",
         "properties": {
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when an element of type `fields` is being returned inside an element of type `expression` and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into `fields` elements. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
               "title": "Attributes"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value describing the element in detail.",
               "title": "Description"
            },
            "fieldInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/FieldInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is an array of `fieldInfo` objects representing a field/value pair displayed as a table within the popupElement. If the `fieldInfos` property is not provided, the popupElement will display whatever is specified directly in the `popupInfo.fieldInfos` property.",
               "title": "Fieldinfos"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value indicating what the element represents.",
               "title": "Title"
            },
            "type": {
               "const": "fields",
               "default": "fields",
               "description": "Specifies the type of element.",
               "enum": [
                  "fields"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "PopupElementFields",
         "type": "object"
      },
      "PopupElementMedia": {
         "description": "Configures media in popup elements.",
         "properties": {
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values.  This property is only used when an element of type  `media` is being returned inside an element of type `expression` and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into `mediaInfos` such as charts. More details can be found [here](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
               "title": "Attributes"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value describing the element in detail.",
               "title": "Description"
            },
            "mediaInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/MediaInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of `mediaInfo` objects representing an image or chart for display. If no `mediaInfos` property is provided, the popupElement will display whatever is specified in the `popupInfo.mediaInfos` property.",
               "title": "Mediainfos"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An optional string value indicating what the element represents.",
               "title": "Title"
            },
            "type": {
               "const": "media",
               "default": "media",
               "enum": [
                  "media"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "PopupElementMedia",
         "type": "object"
      },
      "PopupElementRelationship": {
         "description": "Provides the ability to navigate and view related records from a layer or table associated within the popup.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "displayCount": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer that indicates the maximum number of records to display.",
               "title": "Displaycount"
            },
            "displayType": {
               "const": "list",
               "default": "list",
               "description": "A string that defines how the related records should be displayed.",
               "enum": [
                  "list"
               ],
               "title": "Displaytype",
               "type": "string"
            },
            "orderByFields": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OrderByField"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array of `orderByField` objects indicating the display order for the related records, and whether they should be sorted in ascending `'asc'` or descending `'desc'` order. If `orderByFields` is not provided, the popupElement will display whatever is specified directly in the `popupInfo.relatedRecordsInfo.orderByFields` property.",
               "title": "Orderbyfields"
            },
            "relationshipId": {
               "description": "The id of the relationship as defined in the feature layer definition",
               "title": "Relationshipid",
               "type": "integer"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Title"
            },
            "type": {
               "const": "relationship",
               "default": "relationship",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "relationship"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "relationshipId"
         ],
         "title": "PopupElementRelationship",
         "type": "object"
      },
      "PopupElementText": {
         "description": "Configures text in popup elements.",
         "properties": {
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the text to be displayed within the popupElement. If no `text` property is provided, the popupElement will display whatever is set in the popupInfo.description property.",
               "title": "Text"
            },
            "type": {
               "const": "text",
               "default": "text",
               "enum": [
                  "text"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "PopupElementText",
         "type": "object"
      },
      "PopupElementUtilityNetworkAssociations": {
         "description": "Provides the ability to navigate and view associated objects from a layer or table associated within the [pop-up](popupInfo.md).",
         "properties": {
            "associatedAssetGroup": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The id of the asset group to filter utility network associations.",
               "title": "Associatedassetgroup"
            },
            "associatedAssetType": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The id of the asset type to filter utility network associations.",
               "title": "Associatedassettype"
            },
            "associationsType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AssociationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "String value indicating which type of utility network associations to use."
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "displayCount": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer that indicates the maximum number of records to display.",
               "title": "Displaycount"
            },
            "orderByFields": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OrderByField"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array of `orderByField` objects indicating the display order for the related records, and whether they should be sorted in ascending `'asc'` or descending `'desc'` order. If `orderByFields` is not provided, the popupElement will display whatever is specified directly in the `popupInfo.relatedRecordsInfo.orderByFields` property.",
               "title": "Orderbyfields"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Title"
            },
            "type": {
               "const": "utilityNetworkAssociations",
               "default": "utilityNetworkAssociations",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "utilityNetworkAssociations"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "associationsType"
         ],
         "title": "PopupElementUtilityNetworkAssociations",
         "type": "object"
      },
      "PopupExpressionInfo": {
         "description": "An Arcade expression that defines the pop-up element content. The return type will always be a `dictionary` that defines the desired pop-up element as outlined [in the Arcade documentation](https://developers.arcgis.com/arcade/guide/profiles/#popup-element).",
         "properties": {
            "expression": {
               "description": "The Arcade expression.",
               "title": "Expression",
               "type": "string"
            },
            "returnType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArcadeReturnType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "string",
               "description": "Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be `double`. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts."
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Title of the expression.",
               "title": "Title"
            }
         },
         "required": [
            "expression"
         ],
         "title": "PopupExpressionInfo",
         "type": "object"
      },
      "RelatedRecordsInfo": {
         "description": "Applicable only when popupInfo contains a relationship content element. This is needed for backward compatibility for some web maps.",
         "properties": {
            "orderByFields": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OrderByField"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array of orderByField objects indicating the field display order for the related records, and whether they should be sorted in ascending (asc) or descending (desc) order.",
               "title": "Orderbyfields"
            },
            "showRelatedRecords": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Required boolean value indicating whether to display related records. If True, client should let the user navigate to the related records. Defaults to True if the layer participates in a relationship AND the related layer/table has already been added to the map (either as an operationalLayer or as a table).",
               "title": "Showrelatedrecords"
            }
         },
         "title": "RelatedRecordsInfo",
         "type": "object"
      },
      "StatisticType": {
         "description": "Used in a 1:many or many:many relationship to compute the statistics on\nthe field to show in the popup.",
         "enum": [
            "avg",
            "count",
            "max",
            "min",
            "stddev",
            "sum",
            "var"
         ],
         "title": "StatisticType",
         "type": "string"
      },
      "StringFieldOption": {
         "description": "A string determining what type of input box editors see when editing the\nfield. Applies only to string fields. Not applicable to Arcade expressions.",
         "enum": [
            "richtext",
            "textarea",
            "textbox"
         ],
         "title": "StringFieldOption",
         "type": "string"
      },
      "Value": {
         "description": "The value object contains information for popup windows about how images should be retrieved or charts constructed.",
         "properties": {
            "colors": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "maximum": 255,
                           "minimum": 0,
                           "type": "integer"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional array of colors where each `color` sequentially corresponds to a field in the `fields` property. When the value for `mediaInfo.type` is `linechart`, the first color in the array will drive the line color. If `colors` is longer than `fields`, unmatched colors are ignored. If `colors` is shorter than `fields` or `colors` isn't specified, a default color ramp is applied.",
               "title": "Colors"
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An array of strings, with each string containing the name of a field to display in the chart.",
               "title": "Fields"
            },
            "linkURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing a URL to be launched in a browser when a user clicks the image.",
               "title": "Linkurl"
            },
            "normalizeField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.",
               "title": "Normalizefield"
            },
            "sourceURL": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Used with images. A string containing the URL to the image.",
               "title": "Sourceurl"
            },
            "tooltipField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not used. It is used for showing tooltips from another field in the same layer or related layer/table.",
               "title": "Tooltipfield"
            }
         },
         "title": "Value",
         "type": "object"
      }
   }
}

field description = None

A string that appears in the body of the popup window as a description. A basic subset of HTML may also be used to enrich the text. The supported HTML for ArcGIS Online can be seen in the [Supported HTML](https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm) page.

field expression_infos = None (alias 'expressionInfos')

List of Arcade expressions added to the pop-up.

field field_infos = None (alias 'fieldInfos')

Array of FieldInfo information properties. This information is provided by the service layer definition. When the description uses name/value pairs, the order of the array is how the fields display in the editable Map Viewer popup and the resulting popup. It is also possible to specify HTML-formatted content.

field layer_options = None (alias 'layerOptions')

Additional options that can be defined for the popup layer.

field media_infos = None (alias 'mediaInfos')

Array of various mediaInfo to display. Can be of type image, piechart, barchart, columnchart, or linechart. The order given is the order in which is displays.

field popup_elements = None (alias 'popupElements')

An array of popupElement objects that represent an ordered list of popup elements.

field related_records_info = None (alias 'relatedRecordsInfo')

Applicable only when the pop-up contains a relationship content element. This is needed for backward compatibility for some web maps.

field show_attachments = None (alias 'showAttachments')

Indicates whether attachments will be loaded for feature layers that have attachments.

field show_last_edit_info = True (alias 'showLastEditInfo')

Indicates whether popup will display information about when and who last edited the feature. Applicable only to layers that have been configured to keep track of such information.

field title = None

A string that appears at the top of the popup window as a title.

RelatedRecordsInfo

pydantic model arcgis.map.popups.RelatedRecordsInfo

Applicable only when popupInfo contains a relationship content element. This is needed for backward compatibility for some web maps.

Show JSON schema
{
   "title": "RelatedRecordsInfo",
   "description": "Applicable only when popupInfo contains a relationship content element. This is needed for backward compatibility for some web maps.",
   "type": "object",
   "properties": {
      "orderByFields": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/OrderByField"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of orderByField objects indicating the field display order for the related records, and whether they should be sorted in ascending (asc) or descending (desc) order.",
         "title": "Orderbyfields"
      },
      "showRelatedRecords": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Required boolean value indicating whether to display related records. If True, client should let the user navigate to the related records. Defaults to True if the layer participates in a relationship AND the related layer/table has already been added to the map (either as an operationalLayer or as a table).",
         "title": "Showrelatedrecords"
      }
   },
   "$defs": {
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of\nthe field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "allOf": [
                  {
                     "$ref": "#/$defs/Order"
                  }
               ],
               "description": "Indicates whether features are sorted in ascending or descending order of the field values."
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      }
   }
}

field order_by_fields = None (alias 'orderByFields')

Array of orderByField objects indicating the field display order for the related records, and whether they should be sorted in ascending (asc) or descending (desc) order.

Required boolean value indicating whether to display related records. If True, client should let the user navigate to the related records. Defaults to True if the layer participates in a relationship AND the related layer/table has already been added to the map (either as an operationalLayer or as a table).

StatisticType

class arcgis.map.popups.StatisticType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Used in a 1:many or many:many relationship to compute the statistics on the field to show in the popup.

avg = 'avg'
count = 'count'
max = 'max'
min = 'min'
stddev = 'stddev'
sum = 'sum'
var = 'var'

StringFieldOption

class arcgis.map.popups.StringFieldOption(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

A string determining what type of input box editors see when editing the field. Applies only to string fields. Not applicable to Arcade expressions.

richtext = 'richtext'
textarea = 'textarea'
textbox = 'textbox'

Value

pydantic model arcgis.map.popups.Value

The value object contains information for popup windows about how images should be retrieved or charts constructed.

Show JSON schema
{
   "title": "Value",
   "description": "The value object contains information for popup windows about how images should be retrieved or charts constructed.",
   "type": "object",
   "properties": {
      "colors": {
         "anyOf": [
            {
               "items": {
                  "items": {
                     "maximum": 255,
                     "minimum": 0,
                     "type": "integer"
                  },
                  "type": "array"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used with charts. An optional array of colors where each `color` sequentially corresponds to a field in the `fields` property. When the value for `mediaInfo.type` is `linechart`, the first color in the array will drive the line color. If `colors` is longer than `fields`, unmatched colors are ignored. If `colors` is shorter than `fields` or `colors` isn't specified, a default color ramp is applied.",
         "title": "Colors"
      },
      "fields": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used with charts. An array of strings, with each string containing the name of a field to display in the chart.",
         "title": "Fields"
      },
      "linkURL": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used with images. A string containing a URL to be launched in a browser when a user clicks the image.",
         "title": "Linkurl"
      },
      "normalizeField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.",
         "title": "Normalizefield"
      },
      "sourceURL": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used with images. A string containing the URL to the image.",
         "title": "Sourceurl"
      },
      "tooltipField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not used. It is used for showing tooltips from another field in the same layer or related layer/table.",
         "title": "Tooltipfield"
      }
   }
}

field colors = None

Used with charts. An optional array of colors where each color sequentially corresponds to a field in the fields property. When the value for mediaInfo.type is linechart, the first color in the array will drive the line color. If colors is longer than fields, unmatched colors are ignored. If colors is shorter than fields or colors isn’t specified, a default color ramp is applied.

field fields = None

Used with charts. An array of strings, with each string containing the name of a field to display in the chart.

Used with images. A string containing a URL to be launched in a browser when a user clicks the image.

field normalize_field = None (alias 'normalizeField')

Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.

field source_url = None (alias 'sourceURL')

Used with images. A string containing the URL to the image.

field tooltip_field = None (alias 'tooltipField')

String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not used. It is used for showing tooltips from another field in the same layer or related layer/table.

Symbols

Anchor

class arcgis.map.symbols.Anchor(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

bottom = 'bottom'
bottom_left = 'bottomLeft'
bottom_right = 'bottomRight'
center = 'center'
left = 'left'
origin = 'origin'
relative = 'relative'
right = 'right'
top = 'top'
top_left = 'topLeft'
top_right = 'topRight'

Border

pydantic model arcgis.map.symbols.Border

Optional border on the line that is used to improve the contrast of the line color against various background colors.

Show JSON schema
{
   "title": "Border",
   "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
   "type": "object",
   "properties": {
      "color": {
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "color",
         "type": "array"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      }
   },
   "required": [
      "color"
   ]
}

field color [Required]

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field transparency = None

A value between 100 (full transparency) and 0 (full opacity).

Callout

pydantic model arcgis.map.symbols.Callout

Callout configuration for a symbol.

Show JSON schema
{
   "title": "Callout",
   "description": "Callout configuration for a symbol.",
   "type": "object",
   "properties": {
      "border": {
         "anyOf": [
            {
               "$ref": "#/$defs/Border"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "color": {
         "description": "The color of the line.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "color",
         "type": "array"
      },
      "size": {
         "description": "The width of the line in points.",
         "minimum": 0.0,
         "title": "Size",
         "type": "number"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      },
      "type": {
         "const": "line",
         "default": "line",
         "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
         "enum": [
            "line"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      }
   },
   "required": [
      "color",
      "size"
   ]
}

field border = None
field color [Required]

The color of the line.

field size [Required]

The width of the line in points.

Constraints:
  • ge = 0.0

field transparency = None

A value between 100 (full transparency) and 0 (full opacity).

field type = 'line'

The type of the callout. A callout of type line connects an offset symbol or label with its location.

CimSymbolReference

pydantic model arcgis.map.symbols.CimSymbolReference

Represents a symbol reference that contains a CIM symbol. In addition to type listed below, a symbol reference will contain additional properties.

Show JSON schema
{
   "title": "CimSymbolReference",
   "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
   "type": "object",
   "properties": {
      "type": {
         "const": "CIMSymbolReference",
         "default": "CIMSymbolReference",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "CIMSymbolReference"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "additionalProperties": true
}

field type = 'CIMSymbolReference'

Specifies the type of symbol used.

Decoration

class arcgis.map.symbols.Decoration(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text decoration.

line_through = 'line-through'
none = 'none'
underline = 'underline'

ExtrudeSymbol3DLayer

pydantic model arcgis.map.symbols.ExtrudeSymbol3DLayer

ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.

Show JSON schema
{
   "title": "ExtrudeSymbol3DLayer",
   "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
   "type": "object",
   "properties": {
      "castShadows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
         "title": "Castshadows"
      },
      "edges": {
         "anyOf": [
            {
               "$ref": "#/$defs/SketchEdges"
            },
            {
               "$ref": "#/$defs/SolidEdges"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies an edge visualization style.",
         "title": "Edges"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "size": {
         "description": "Extrusion height in meters.",
         "title": "Size",
         "type": "number"
      },
      "type": {
         "const": "Extrude",
         "default": "Extrude",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Extrude"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      }
   },
   "required": [
      "size"
   ]
}

field cast_shadows = True (alias 'castShadows')

Boolean to control the shadow casting behavior of the rendered geometries.

field edges = None

Specifies an edge visualization style.

field enable = None
field material = None
field size [Required]

Extrusion height in meters.

field type = 'Extrude'

Specifies the type of symbol used.

FillSymbol3DLayer

pydantic model arcgis.map.symbols.FillSymbol3DLayer

FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.

Show JSON schema
{
   "title": "FillSymbol3DLayer",
   "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
   "type": "object",
   "properties": {
      "castShadows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
         "title": "Castshadows"
      },
      "edges": {
         "anyOf": [
            {
               "$ref": "#/$defs/SketchEdges"
            },
            {
               "$ref": "#/$defs/SolidEdges"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
         "title": "Edges"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/Outline"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
      },
      "pattern": {
         "anyOf": [
            {
               "$ref": "#/$defs/Pattern"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "Fill",
         "default": "Fill",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Fill"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "Outline": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      }
   }
}

field cast_shadows = True (alias 'castShadows')

Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).

field edges = None

Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.

field enable = None
field material = None
field outline = None

The outline of the symbol layer (only applies to PolygonSymbol3D).

field pattern = None
field type = 'Fill'

Specifies the type of symbol used.

Font

pydantic model arcgis.map.symbols.Font

Font used for text symbols.

Show JSON schema
{
   "title": "Font",
   "description": "Font used for text symbols.",
   "type": "object",
   "properties": {
      "decoration": {
         "anyOf": [
            {
               "$ref": "#/$defs/Decoration"
            },
            {
               "type": "null"
            }
         ],
         "default": "none",
         "description": "The text decoration."
      },
      "family": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The font family.",
         "title": "Family"
      },
      "size": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
         "title": "Size"
      },
      "style": {
         "anyOf": [
            {
               "$ref": "#/$defs/Style"
            },
            {
               "type": "null"
            }
         ],
         "default": "normal",
         "description": "The text style."
      },
      "weight": {
         "anyOf": [
            {
               "$ref": "#/$defs/Weight"
            },
            {
               "type": "null"
            }
         ],
         "default": "normal",
         "description": "The text weight."
      }
   },
   "$defs": {
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      }
   }
}

field decoration = Decoration.none

The text decoration.

field family = None

The font family.

field size = None

The font size in points. Ignored when font is used on TextSymbol3DLayer.

field style = Style.normal

The text style.

Validated by:
  • check_style

field weight = Weight.normal

The text weight.

Halo

pydantic model arcgis.map.symbols.Halo

Halo definition.

Show JSON schema
{
   "title": "Halo",
   "description": "Halo definition.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "color"
      },
      "size": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Width of the halo in points.",
         "title": "Size"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      }
   }
}

field color = None

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field size = None

Width of the halo in points.

field transparency = None

A value between 100 (full transparency) and 0 (full opacity).

HorizontalAlignment

class arcgis.map.symbols.HorizontalAlignment(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

One of the following string values representing the horizontal alignment of the text.

center = 'center'
justify = 'justify'
left = 'left'
right = 'right'

IconSymbol3DLayer

pydantic model arcgis.map.symbols.IconSymbol3DLayer

IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.

Show JSON schema
{
   "title": "IconSymbol3DLayer",
   "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
   "type": "object",
   "properties": {
      "anchor": {
         "anyOf": [
            {
               "$ref": "#/$defs/Anchor"
            },
            {
               "type": "null"
            }
         ],
         "default": "center"
      },
      "anchorPosition": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "maxItems": 2,
               "minItems": 2,
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
         "title": "Anchorposition"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/Outline"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets properties of the outline of the IconSymbol3DLayer."
      },
      "resource": {
         "anyOf": [
            {
               "$ref": "#/$defs/IconSymbol3DLayerResource"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "title": "IconSymbol3DLayer Resource"
      },
      "size": {
         "description": "Icon size in points, positive only",
         "minimum": 0.0,
         "title": "Size",
         "type": "number"
      },
      "type": {
         "const": "Icon",
         "default": "Icon",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Icon"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "Outline": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      }
   },
   "required": [
      "size"
   ]
}

field anchor = 'center'
field anchor_position = None (alias 'anchorPosition')

When anchor equals relative, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: positionInIcon = (0.5 + anchorPosition) * size, where size is the original size of the icon resource.

Constraints:
  • min_length = 2

  • max_length = 2

field enable = None
field material = None
field outline = None

Sets properties of the outline of the IconSymbol3DLayer.

field resource = None

The shape (primitive) or image URL (href) used to visualize the features.

field size [Required]

Icon size in points, positive only

Constraints:
  • ge = 0.0

field type = 'Icon'

Specifies the type of symbol used.

IconSymbol3DLayerResource

pydantic model arcgis.map.symbols.IconSymbol3DLayerResource

The shape (primitive) or image URL (href) used to visualize the features.

Show JSON schema
{
   "title": "IconSymbol3DLayerResource",
   "description": "The shape (primitive) or image URL (href) used to visualize the features.",
   "type": "object",
   "properties": {
      "dataURI": {
         "anyOf": [
            {
               "pattern": "^data:image/(.|\\n|\\r)+$",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "an image encoded as base64 string, starting with `data:image/`",
         "title": "Datauri"
      },
      "href": {
         "anyOf": [
            {
               "pattern": "^https?://.+$",
               "type": "string"
            },
            {
               "pattern": "^\\./.+$",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "URL to the returned image.",
         "title": "Href"
      },
      "primitive": {
         "anyOf": [
            {
               "$ref": "#/$defs/Primitive"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies the type of symbol used."
      }
   },
   "$defs": {
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      }
   }
}

field data_uri = None (alias 'dataURI')

an image encoded as base64 string, starting with data:image/

field href = None

URL to the returned image.

field primitive = None

Specifies the type of symbol used.

Join

class arcgis.map.symbols.Join(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Shape of the intersection of two line segments.

bevel = 'bevel'
miter = 'miter'
round = 'round'

LineCap

class arcgis.map.symbols.LineCap(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.

butt = 'butt'
round = 'round'
square = 'square'

Pattern

pydantic model arcgis.map.symbols.Pattern

The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).

Show JSON schema
{
   "title": "Pattern",
   "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
   "type": "object",
   "properties": {
      "style": {
         "$ref": "#/$defs/PolygonStyle"
      },
      "type": {
         "const": "style",
         "default": "style",
         "description": "The type of pattern applied to the polygon fill.",
         "enum": [
            "style"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      }
   },
   "required": [
      "style"
   ]
}

field style [Required]

String value representing predefined styles that can be set as polygon fills.

Validated by:
  • check_style

field type = 'style'

The type of pattern applied to the polygon fill.

Style

class arcgis.map.symbols.Style(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text style.

italic = 'italic'
normal = 'normal'
oblique = 'oblique'

LineSymbol3D

pydantic model arcgis.map.symbols.LineSymbol3D

LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.

Show JSON schema
{
   "title": "LineSymbol3D",
   "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
   "type": "object",
   "properties": {
      "styleOrigin": {
         "anyOf": [
            {
               "$ref": "#/$defs/StyleOrigin"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "title": "styleOrigin"
      },
      "symbolLayers": {
         "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/LineSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/PathSymbol3DLayer"
               }
            ]
         },
         "title": "Symbollayers",
         "type": "array"
      },
      "type": {
         "const": "LineSymbol3D",
         "default": "LineSymbol3D",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "LineSymbol3D"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      }
   },
   "required": [
      "symbolLayers"
   ]
}

field style_origin = None (alias 'styleOrigin')

The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.

field symbol_layers [Required] (alias 'symbolLayers')

A Collection of Symbol3DLayer objects used to visualize the graphic or feature.

field type = 'LineSymbol3D'

Specifies the type of symbol used.

LineSymbol3DLayer

pydantic model arcgis.map.symbols.LineSymbol3DLayer

LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.

Show JSON schema
{
   "title": "LineSymbol3DLayer",
   "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
   "type": "object",
   "properties": {
      "cap": {
         "anyOf": [
            {
               "$ref": "#/$defs/LineCap"
            },
            {
               "type": "null"
            }
         ],
         "default": "butt"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "join": {
         "anyOf": [
            {
               "$ref": "#/$defs/Join"
            },
            {
               "type": "null"
            }
         ],
         "default": "miter",
         "description": "Shape of the intersection of two line segments."
      },
      "marker": {
         "anyOf": [
            {
               "$ref": "#/$defs/LineMarker"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "pattern": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinePattern"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "size": {
         "description": "Line width in points, positive only",
         "minimum": 0.0,
         "title": "Size",
         "type": "number"
      },
      "type": {
         "const": "Line",
         "default": "Line",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Line"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      }
   },
   "required": [
      "size"
   ]
}

field cap = LineCap.butt
field enable = None
field join = 'miter'

Shape of the intersection of two line segments.

field marker = None
field material = None
field pattern = None
field size [Required]

Line width in points, positive only

Constraints:
  • ge = 0.0

field type = 'Line'

Specifies the type of symbol used.

Marker

pydantic model arcgis.map.symbols.Marker

Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.

Show JSON schema
{
   "title": "Marker",
   "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
   "type": "object",
   "properties": {
      "placement": {
         "anyOf": [
            {
               "$ref": "#/$defs/MarkerPlacement"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates where the marker is placed."
      },
      "style": {
         "anyOf": [
            {
               "const": "arrow",
               "enum": [
                  "arrow"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Style of the marker.",
         "title": "Style"
      }
   },
   "$defs": {
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      }
   }
}

field placement = None

Indicates where the marker is placed.

field style = None

Style of the marker.

Validated by:
  • check_style

MarkerPlacement

class arcgis.map.symbols.MarkerPlacement(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Indicates where the marker is placed.

begin = 'begin'
begin_end = 'begin-end'
end = 'end'

MarkerStyle

class arcgis.map.symbols.MarkerStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Style of the marker.

arrow = 'arrow'
circle = 'circle'
cross = 'cross'
diamond = 'diamond'
square = 'square'
x = 'x'

Material

pydantic model arcgis.map.symbols.Material

The material used to shade the geometry.

Show JSON schema
{
   "title": "Material",
   "description": "The material used to shade the geometry.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "color"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
         "title": "Transparency"
      }
   }
}

field color = None

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field transparency = None

A value between 100 (full transparency) and 0 (full opacity). Ignored if no color is specified.

MeshSymbol3D

pydantic model arcgis.map.symbols.MeshSymbol3D

MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.

Show JSON schema
{
   "title": "MeshSymbol3D",
   "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
   "type": "object",
   "properties": {
      "styleOrigin": {
         "anyOf": [
            {
               "$ref": "#/$defs/StyleOrigin"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "title": "styleOrigin"
      },
      "symbolLayers": {
         "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
         "items": {
            "$ref": "#/$defs/FillSymbol3DLayer"
         },
         "title": "Symbollayers",
         "type": "array"
      },
      "type": {
         "const": "MeshSymbol3D",
         "default": "MeshSymbol3D",
         "description": "Specifies the type of symbol used",
         "enum": [
            "MeshSymbol3D"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Outline"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "Outline": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      }
   },
   "required": [
      "symbolLayers"
   ]
}

field style_origin = None (alias 'styleOrigin')

The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.

field symbol_layers [Required] (alias 'symbolLayers')

A Collection of Symbol3DLayer objects used to visualize the graphic or feature.

field type = 'MeshSymbol3D'

Specifies the type of symbol used

ObjectSymbol3DLayer

pydantic model arcgis.map.symbols.ObjectSymbol3DLayer

ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.

Show JSON schema
{
   "title": "ObjectSymbol3DLayer",
   "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
   "type": "object",
   "properties": {
      "anchor": {
         "anyOf": [
            {
               "$ref": "#/$defs/Anchor"
            },
            {
               "type": "null"
            }
         ],
         "default": "origin",
         "description": "The positioning of the object relative to the geometry."
      },
      "anchorPosition": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "maxItems": 3,
               "minItems": 3,
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
         "title": "Anchorposition"
      },
      "castShadows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
         "title": "Castshadows"
      },
      "depth": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Object depth in meters, positive only",
         "title": "Depth"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "heading": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
         "title": "Heading"
      },
      "height": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Object height in meters, positive only",
         "title": "Height"
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "resource": {
         "anyOf": [
            {
               "$ref": "#/$defs/ObjectSymbol3DLayerResource"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "title": "ObjectSymbol3DLayer Resource"
      },
      "roll": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
         "title": "Roll"
      },
      "tilt": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
         "title": "Tilt"
      },
      "type": {
         "const": "Object",
         "default": "Object",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Object"
         ],
         "title": "Type",
         "type": "string"
      },
      "width": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Object width in meters, positive only",
         "title": "Width"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      }
   }
}

field anchor = 'origin'

The positioning of the object relative to the geometry.

field anchor_position = None (alias 'anchorPosition')

When anchor equals relative, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer’s bounding box. Otherwise it is ignored.

Constraints:
  • min_length = 3

  • max_length = 3

field cast_shadows = True (alias 'castShadows')

Boolean to control the shadow casting behavior of the rendered geometries.

field depth = None

Object depth in meters, positive only

field enable = None
field heading = None

Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).

field height = None

Object height in meters, positive only

field material = None
field resource = None

The primitive shape (primitive) or external 3D model (href) used to visualize the points.

field roll = None

Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).

field tilt = None

Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).

field type = 'Object'

Specifies the type of symbol used.

field width = None

Object width in meters, positive only

ObjectSymbol3DLayerResource

pydantic model arcgis.map.symbols.ObjectSymbol3DLayerResource

The primitive shape (primitive) or external 3D model (href) used to visualize the points.

Show JSON schema
{
   "title": "ObjectSymbol3DLayerResource",
   "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
   "type": "object",
   "properties": {
      "href": {
         "anyOf": [
            {
               "pattern": "^https?://.+$",
               "type": "string"
            },
            {
               "pattern": "^\\./.+$",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Href"
      },
      "primitive": {
         "$ref": "#/$defs/Primitive"
      }
   },
   "$defs": {
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      }
   },
   "required": [
      "primitive"
   ]
}

field href = None
field primitive [Required]

Outline

pydantic model arcgis.map.symbols.Outline

Sets properties of the outline of the IconSymbol3DLayer.

Show JSON schema
{
   "title": "Outline",
   "description": "Sets properties of the outline of the IconSymbol3DLayer.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "color"
      },
      "pattern": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinePattern"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "patternCap": {
         "anyOf": [
            {
               "$ref": "#/$defs/LineCap"
            },
            {
               "type": "null"
            }
         ],
         "default": "butt"
      },
      "size": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Outline size in points, positive only",
         "title": "Size"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      }
   },
   "$defs": {
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      }
   }
}

field color = None

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field pattern = None
field pattern_cap = LineCap.butt (alias 'patternCap')
field size = None

Outline size in points, positive only

field transparency = None

The value has to lie between 100 (full transparency) and 0 (full opacity).

PathCap

class arcgis.map.symbols.PathCap(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Shape of the tips at the start and end of each path geometry.

butt = 'butt'
none = 'none'
round = 'round'
square = 'square'

PathSymbol3DLayer

pydantic model arcgis.map.symbols.PathSymbol3DLayer

PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.

Show JSON schema
{
   "title": "PathSymbol3DLayer",
   "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
   "type": "object",
   "properties": {
      "anchor": {
         "anyOf": [
            {
               "$ref": "#/$defs/Anchor"
            },
            {
               "type": "null"
            }
         ],
         "default": "center",
         "description": "The position of the extrusion profile with respect to the polyline geometry."
      },
      "cap": {
         "anyOf": [
            {
               "$ref": "#/$defs/PathCap"
            },
            {
               "type": "null"
            }
         ],
         "default": "butt"
      },
      "castShadows": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
         "title": "Castshadows"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "height": {
         "description": "Path height in meters. If unspecified, it is equal to `width`.",
         "minimum": 0.0,
         "title": "Height",
         "type": "number"
      },
      "join": {
         "anyOf": [
            {
               "$ref": "#/$defs/Join"
            },
            {
               "type": "null"
            }
         ],
         "default": "miter",
         "description": "Shape of the intersection of two line segments."
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "profile": {
         "anyOf": [
            {
               "$ref": "#/$defs/Profile"
            },
            {
               "type": "null"
            }
         ],
         "default": "circle",
         "description": "The shape which is extruded along the line."
      },
      "profileRotation": {
         "anyOf": [
            {
               "$ref": "#/$defs/ProfileRotation"
            },
            {
               "type": "null"
            }
         ],
         "default": "all",
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
      },
      "size": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
         "title": "Size"
      },
      "type": {
         "const": "Path",
         "default": "Path",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Path"
         ],
         "title": "Type",
         "type": "string"
      },
      "width": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Path width in meters. If unspecified, it is equal to `height`.",
         "title": "Width"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      }
   },
   "required": [
      "height"
   ]
}

field anchor = 'center'

The position of the extrusion profile with respect to the polyline geometry.

field cap = 'butt'
field cast_shadows = True (alias 'castShadows')

Boolean to control the shadow casting behavior of the rendered geometries.

field enable = None
field height [Required]

Path height in meters. If unspecified, it is equal to width.

Constraints:
  • ge = 0.0

field join = 'miter'

Shape of the intersection of two line segments.

field material = None
field profile = 'circle'

The shape which is extruded along the line.

field profile_rotation = 'all' (alias 'profileRotation')

Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.

field size = None

Path size (diameter) in meters. Ignored if either width or height are present.

field type = 'Path'

Specifies the type of symbol used.

field width = None

Path width in meters. If unspecified, it is equal to height.

Pattern

pydantic model arcgis.map.symbols.Pattern

The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).

Show JSON schema
{
   "title": "Pattern",
   "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
   "type": "object",
   "properties": {
      "style": {
         "$ref": "#/$defs/PolygonStyle"
      },
      "type": {
         "const": "style",
         "default": "style",
         "description": "The type of pattern applied to the polygon fill.",
         "enum": [
            "style"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      }
   },
   "required": [
      "style"
   ]
}

field style [Required]

String value representing predefined styles that can be set as polygon fills.

Validated by:
  • check_style

field type = 'style'

The type of pattern applied to the polygon fill.

PictureFillSymbolsEsriPFS

pydantic model arcgis.map.symbols.PictureFillSymbolsEsriPFS

Picture fill symbols can be used to symbolize polygon geometries.

Show JSON schema
{
   "title": "PictureFillSymbolsEsriPFS",
   "description": "Picture fill symbols can be used to symbolize polygon geometries.",
   "type": "object",
   "properties": {
      "angle": {
         "anyOf": [
            {
               "maximum": 360.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
         "title": "Angle"
      },
      "contentType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the content type for the image.",
         "title": "Contenttype"
      },
      "height": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
         "title": "Height"
      },
      "imageData": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the base64 encoded data.",
         "title": "Imagedata"
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets the outline of the symbol."
      },
      "type": {
         "const": "esriPFS",
         "default": "esriPFS",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "esriPFS"
         ],
         "title": "Type",
         "type": "string"
      },
      "url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
         "title": "Url"
      },
      "width": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
         "title": "Width"
      },
      "xoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the x-axis in points.",
         "title": "Xoffset"
      },
      "xscale": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the scale factor in x direction.",
         "title": "Xscale"
      },
      "yoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the y-axis in points.",
         "title": "Yoffset"
      },
      "yscale": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the scale factor in y direction.",
         "title": "Yscale"
      }
   },
   "$defs": {
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      }
   }
}

field angle = None

Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0� axis.

field content_type = None (alias 'contentType')

String value indicating the content type for the image.

field height = None

Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.

field image_data = None (alias 'imageData')

String value indicating the base64 encoded data.

field outline = None

Sets the outline of the symbol.

field type = 'esriPFS'

Specifies the type of symbol used.

field url = None

String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.

field width = None

Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.

field xoffset = None

Numeric value indicating the offset on the x-axis in points.

field xscale = None

Numeric value indicating the scale factor in x direction.

field yoffset = None

Numeric value indicating the offset on the y-axis in points.

field yscale = None

Numeric value indicating the scale factor in y direction.

PictureMarkerSymbolEsriPMS

pydantic model arcgis.map.symbols.PictureMarkerSymbolEsriPMS

Picture marker symbols can be used to symbolize point geometries.

Show JSON schema
{
   "title": "PictureMarkerSymbolEsriPMS",
   "description": "Picture marker symbols can be used to symbolize point geometries.",
   "type": "object",
   "properties": {
      "angle": {
         "anyOf": [
            {
               "maximum": 360.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
         "title": "Angle"
      },
      "contentType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the content type for the image.",
         "title": "Contenttype"
      },
      "height": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
         "title": "Height"
      },
      "imageData": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the base64 encoded data.",
         "title": "Imagedata"
      },
      "type": {
         "const": "esriPMS",
         "default": "esriPMS",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "esriPMS"
         ],
         "title": "Type",
         "type": "string"
      },
      "url": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
         "title": "Url"
      },
      "width": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
         "title": "Width"
      },
      "xoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the x-axis in points.",
         "title": "Xoffset"
      },
      "yoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the y-axis in points.",
         "title": "Yoffset"
      }
   }
}

field angle = None

Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0� axis.

field content_type = None (alias 'contentType')

String value indicating the content type for the image.

field height = None

Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.

field image_data = None (alias 'imageData')

String value indicating the base64 encoded data.

field type = 'esriPMS'

Specifies the type of symbol used.

field url = None

String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.

field width = None

Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.

field xoffset = None

Numeric value indicating the offset on the x-axis in points.

field yoffset = None

Numeric value indicating the offset on the y-axis in points.

Placement

class arcgis.map.symbols.Placement(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Indicates where the marker is placed.

begin = 'begin'
begin_end = 'begin-end'
end = 'end'

PointSymbol3D

pydantic model arcgis.map.symbols.PointSymbol3D

PointSymbol3D is used to render features with Point geometry in a 3D SceneView.

Show JSON schema
{
   "title": "PointSymbol3D",
   "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
   "type": "object",
   "properties": {
      "callout": {
         "anyOf": [
            {
               "$ref": "#/$defs/Callout"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "styleOrigin": {
         "anyOf": [
            {
               "$ref": "#/$defs/StyleOrigin"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "title": "styleOrigin"
      },
      "symbolLayers": {
         "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/IconSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/ObjectSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/TextSymbol3DLayer"
               }
            ]
         },
         "title": "Symbollayers",
         "type": "array"
      },
      "type": {
         "const": "PointSymbol3D",
         "default": "PointSymbol3D",
         "description": "Specifies the type of symbol used",
         "enum": [
            "PointSymbol3D"
         ],
         "title": "Type",
         "type": "string"
      },
      "verticalOffset": {
         "anyOf": [
            {
               "$ref": "#/$defs/VerticalOffset"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Outline"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "Outline": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      }
   },
   "required": [
      "symbolLayers"
   ]
}

field callout = None
field style_origin = None (alias 'styleOrigin')

The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.

field symbol_layers [Required] (alias 'symbolLayers')

A Collection of Symbol3DLayer objects used to visualize the graphic or feature.

field type = 'PointSymbol3D'

Specifies the type of symbol used

field vertical_offset = None (alias 'verticalOffset')

PolygonStyle

class arcgis.map.symbols.PolygonStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

String value representing predefined styles that can be set as polygon fills.

backward_diagonal = 'backward-diagonal'
cross = 'cross'
diagonal_cross = 'diagonal-cross'
forward_diagonal = 'forward-diagonal'
horizontal = 'horizontal'
none = 'none'
solid = 'solid'
vertical = 'vertical'

PolygonSymbol3D

pydantic model arcgis.map.symbols.PolygonSymbol3D

PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.

Show JSON schema
{
   "title": "PolygonSymbol3D",
   "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
   "type": "object",
   "properties": {
      "styleOrigin": {
         "anyOf": [
            {
               "$ref": "#/$defs/StyleOrigin"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "title": "styleOrigin"
      },
      "symbolLayers": {
         "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/ExtrudeSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/IconSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/LineSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/ObjectSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/TextSymbol3DLayer"
               },
               {
                  "$ref": "#/$defs/WaterSymbol3DLayer"
               }
            ]
         },
         "title": "Symbollayers",
         "type": "array"
      },
      "type": {
         "const": "PolygonSymbol3D",
         "default": "PolygonSymbol3D",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "PolygonSymbol3D"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "symbolLayers"
   ]
}

field style_origin = None (alias 'styleOrigin')

The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.

field symbol_layers [Required] (alias 'symbolLayers')

A Collection of Symbol3DLayer objects used to visualize the graphic or feature.

field type = 'PolygonSymbol3D'

Specifies the type of symbol used.

Primitive

class arcgis.map.symbols.Primitive(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

circle = 'circle'
cone = 'cone'
cross = 'cross'
cube = 'cube'
cylinder = 'cylinder'
diamond = 'diamond'
inverted_cone = 'invertedCone'
kite = 'kite'
sphere = 'sphere'
square = 'square'
tetrahedron = 'tetrahedron'
triangle = 'triangle'
x = 'x'

Profile

class arcgis.map.symbols.Profile(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The shape which is extruded along the line.

circle = 'circle'
quad = 'quad'

ProfileRotation

class arcgis.map.symbols.ProfileRotation(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.

all = 'all'
heading = 'heading'

SimpleFillSymbolEsriSFS

pydantic model arcgis.map.symbols.SimpleFillSymbolEsriSFS

Simple fill symbols that can be used to symbolize polygon geometries.

Show JSON schema
{
   "title": "SimpleFillSymbolEsriSFS",
   "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "Color"
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets the outline of the fill symbol."
      },
      "style": {
         "$ref": "#/$defs/SimpleFillSymbolStyle"
      },
      "type": {
         "const": "esriSFS",
         "default": "esriSFS",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "esriSFS"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      }
   },
   "required": [
      "style"
   ]
}

field color = None

Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field outline = None

Sets the outline of the fill symbol.

field style [Required]

String value representing the simple fill symbol type.

Validated by:
  • check_style

field type = 'esriSFS'

Specifies the type of symbol used.

SimpleFillSymbolStyle

class arcgis.map.symbols.SimpleFillSymbolStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

String value representing the simple fill symbol type.

esri_sfs_backward_diagonal = 'esriSFSBackwardDiagonal'
esri_sfs_cross = 'esriSFSCross'
esri_sfs_diagonal_cross = 'esriSFSDiagonalCross'
esri_sfs_forward_diagonal = 'esriSFSForwardDiagonal'
esri_sfs_horizontal = 'esriSFSHorizontal'
esri_sfs_null = 'esriSFSNull'
esri_sfs_solid = 'esriSFSSolid'
esri_sfs_vertical = 'esriSFSVertical'

SimpleLineSymbolEsriSLS

pydantic model arcgis.map.symbols.SimpleLineSymbolEsriSLS

Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.

Show JSON schema
{
   "title": "SimpleLineSymbolEsriSLS",
   "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "Color"
      },
      "marker": {
         "anyOf": [
            {
               "$ref": "#/$defs/Marker"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "style": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolStyle"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value representing the simple line symbol type."
      },
      "type": {
         "anyOf": [
            {
               "const": "esriSLS",
               "enum": [
                  "esriSLS"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "esriSLS",
         "description": "Specifies the type of symbol used.",
         "title": "Type"
      },
      "width": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the width of the line in points.",
         "title": "Width"
      }
   },
   "$defs": {
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      }
   }
}

field color = None

Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field marker = None
field style = None

String value representing the simple line symbol type.

Validated by:
  • check_style

field type = 'esriSLS'

Specifies the type of symbol used.

field width = None

Numeric value indicating the width of the line in points.

SimpleLineSymbolStyle

class arcgis.map.symbols.SimpleLineSymbolStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

String value representing the simple line symbol type.

esri_sls_dash = 'esriSLSDash'
esri_sls_dash_dot = 'esriSLSDashDot'
esri_sls_dash_dot_dot = 'esriSLSDashDotDot'
esri_sls_dot = 'esriSLSDot'
esri_sls_long_dash = 'esriSLSLongDash'
esri_sls_long_dash_dot = 'esriSLSLongDashDot'
esri_sls_null = 'esriSLSNull'
esri_sls_short_dash = 'esriSLSShortDash'
esri_sls_short_dash_dot = 'esriSLSShortDashDot'
esri_sls_short_dash_dot_dot = 'esriSLSShortDashDotDot'
esri_sls_short_dot = 'esriSLSShortDot'
esri_sls_solid = 'esriSLSSolid'

SimpleMarkerSymbolEsriSMS

pydantic model arcgis.map.symbols.SimpleMarkerSymbolEsriSMS

Simple marker symbols can be used to symbolize point geometries.

Show JSON schema
{
   "title": "SimpleMarkerSymbolEsriSMS",
   "description": "Simple marker symbols can be used to symbolize point geometries.",
   "type": "object",
   "properties": {
      "angle": {
         "anyOf": [
            {
               "maximum": 360.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
         "title": "Angle"
      },
      "color": {
         "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "Color",
         "type": "array"
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets the outline of the marker symbol."
      },
      "size": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric size of the symbol given in points.",
         "title": "Size"
      },
      "style": {
         "$ref": "#/$defs/SimpleMarkerSymbolStyle"
      },
      "type": {
         "const": "esriSMS",
         "default": "esriSMS",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "esriSMS"
         ],
         "title": "Type",
         "type": "string"
      },
      "xoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the x-axis in points.",
         "title": "Xoffset"
      },
      "yoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the y-axis in points.",
         "title": "Yoffset"
      }
   },
   "$defs": {
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      }
   },
   "required": [
      "color",
      "style"
   ]
}

field angle = None

Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.

field color [Required]

Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field outline = None

Sets the outline of the marker symbol.

field size = None

Numeric size of the symbol given in points.

field style [Required]

String value representing the simple marker type.

Validated by:
  • check_style

field type = 'esriSMS'

Specifies the type of symbol used.

field xoffset = None

Numeric value indicating the offset on the x-axis in points.

field yoffset = None

Numeric value indicating the offset on the y-axis in points.

SimpleMarkerSymbolStyle

class arcgis.map.symbols.SimpleMarkerSymbolStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

String value representing the simple marker type.

esri_sms_circle = 'esriSMSCircle'
esri_sms_cross = 'esriSMSCross'
esri_sms_diamond = 'esriSMSDiamond'
esri_sms_square = 'esriSMSSquare'
esri_sms_triangle = 'esriSMSTriangle'
esri_smsx = 'esriSMSX'

SketchEdges

pydantic model arcgis.map.symbols.SketchEdges

The sketch edge rendering configuration of a symbol layer. Edges of type sketch are rendered with a hand-drawn look in mind.

Show JSON schema
{
   "title": "SketchEdges",
   "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
   "type": "object",
   "properties": {
      "color": {
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "color",
         "type": "array"
      },
      "extensionLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A size in points by which to extend edges beyond their original end points.",
         "title": "Extensionlength"
      },
      "size": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Edge size in points, positive only",
         "title": "Size"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      },
      "type": {
         "const": "sketch",
         "default": "sketch",
         "description": "The type of edge visualization.",
         "enum": [
            "sketch"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "color"
   ]
}

field color [Required]

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field extension_length = None (alias 'extensionLength')

A size in points by which to extend edges beyond their original end points.

field size = None

Edge size in points, positive only

field transparency = None

The value has to lie between 100 (full transparency) and 0 (full opacity).

field type = 'sketch'

The type of edge visualization.

SolidEdges

pydantic model arcgis.map.symbols.SolidEdges

The solid edge rendering configuration of a symbol layer. Edges of type solid are rendered in a single color, unaffected by scene lighting.

Show JSON schema
{
   "title": "SolidEdges",
   "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
   "type": "object",
   "properties": {
      "color": {
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "color",
         "type": "array"
      },
      "extensionLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A size in points by which to extend edges beyond their original end points.",
         "title": "Extensionlength"
      },
      "size": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Edge size in points, positive only",
         "title": "Size"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      },
      "type": {
         "const": "solid",
         "default": "solid",
         "description": "The type of edge visualization.",
         "enum": [
            "solid"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "color"
   ]
}

field color [Required]

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field extension_length = None (alias 'extensionLength')

A size in points by which to extend edges beyond their original end points.

field size = None

Edge size in points, positive only

field transparency = None

The value has to lie between 100 (full transparency) and 0 (full opacity).

field type = 'solid'

The type of edge visualization.

Style

class arcgis.map.symbols.Style(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text style.

italic = 'italic'
normal = 'normal'
oblique = 'oblique'

StyleOrigin

pydantic model arcgis.map.symbols.StyleOrigin

The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.

Show JSON schema
{
   "title": "StyleOrigin",
   "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Identifies a symbol in the style by name.",
         "title": "Name",
         "type": "string"
      },
      "styleName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A registered web style name, such as `EsriThematicShapesStyle`",
         "title": "Stylename"
      },
      "styleUrl": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "pattern": "^\\./.+$",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "URL to a style definition.",
         "title": "Styleurl"
      }
   },
   "required": [
      "name"
   ]
}

field name [Required]

Identifies a symbol in the style by name.

field style_name = None (alias 'styleName')

A registered web style name, such as EsriThematicShapesStyle

field style_url = None (alias 'styleUrl')

URL to a style definition.

TextBackground

pydantic model arcgis.map.symbols.TextBackground

Text background definition.

Show JSON schema
{
   "title": "TextBackground",
   "description": "Text background definition.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "color"
      },
      "transparency": {
         "anyOf": [
            {
               "maximum": 100,
               "minimum": 0,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A value between `100` (full transparency) and `0` (full opacity).",
         "title": "Transparency"
      }
   }
}

field color = None

Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field transparency = None

A value between 100 (full transparency) and 0 (full opacity).

TextDecoration

class arcgis.map.symbols.TextDecoration(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text decoration.

line_through = 'line-through'
none = 'none'
underline = 'underline'

TextFont

pydantic model arcgis.map.symbols.TextFont

Font used for text symbols

Show JSON schema
{
   "title": "TextFont",
   "description": "Font used for text symbols",
   "type": "object",
   "properties": {
      "decoration": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextDecoration"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text decoration."
      },
      "family": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The font family.",
         "title": "Family"
      },
      "size": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The font size in points.",
         "title": "Size"
      },
      "style": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextStyle"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text style."
      },
      "weight": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextWeight"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text weight."
      }
   },
   "$defs": {
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      }
   }
}

field decoration = None

The text decoration.

field family = None

The font family.

field size = None

The font size in points.

field style = None

The text style.

Validated by:
  • check_style

field weight = None

The text weight.

TextStyle

class arcgis.map.symbols.TextStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text style.

italic = 'italic'
normal = 'normal'
oblique = 'oblique'

TextSymbol3DLayer

pydantic model arcgis.map.symbols.TextSymbol3DLayer

Symbol layer for text and font definitions.

Show JSON schema
{
   "title": "TextSymbol3DLayer",
   "description": "Symbol layer for text and font definitions.",
   "type": "object",
   "properties": {
      "background": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextBackground"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "font": {
         "anyOf": [
            {
               "$ref": "#/$defs/Font"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "halo": {
         "anyOf": [
            {
               "$ref": "#/$defs/Halo"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "horizontalAlignment": {
         "anyOf": [
            {
               "$ref": "#/$defs/HorizontalAlignment"
            },
            {
               "type": "null"
            }
         ],
         "default": "center",
         "description": "One of the following string values representing the horizontal alignment of the text."
      },
      "lineHeight": {
         "anyOf": [
            {
               "maximum": 4.0,
               "minimum": 0.1,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 1,
         "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
         "title": "Lineheight"
      },
      "material": {
         "anyOf": [
            {
               "$ref": "#/$defs/Material"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "size": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Font size in points, positive only",
         "title": "Size"
      },
      "text": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
         "title": "Text"
      },
      "type": {
         "const": "Text",
         "default": "Text",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Text"
         ],
         "title": "Type",
         "type": "string"
      },
      "verticalAlignment": {
         "anyOf": [
            {
               "$ref": "#/$defs/VerticalAlignment"
            },
            {
               "type": "null"
            }
         ],
         "default": "baseline",
         "description": "One of the following string values representing the vertical alignment of the text."
      }
   },
   "$defs": {
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      }
   }
}

field background = None
field enable = None
field font = None
field halo = None
field horizontal_alignment = HorizontalAlignment.center (alias 'horizontalAlignment')

One of the following string values representing the horizontal alignment of the text.

field line_height = 1 (alias 'lineHeight')

Multiplier to scale the vertical distance between the baselines of text with multiple lines.

field material = None
field size = None

Font size in points, positive only

field text = None

Text content in the label. Typically this property is not set, as text content is read from labeling field.

field type = 'Text'

Specifies the type of symbol used.

field vertical_alignment = VerticalAlignment.baseline (alias 'verticalAlignment')

One of the following string values representing the vertical alignment of the text.

TextSymbolEsriTS

pydantic model arcgis.map.symbols.TextSymbolEsriTS

Text symbols are used to add text to a feature (labeling).

Show JSON schema
{
   "title": "TextSymbolEsriTS",
   "description": "Text symbols are used to add text to a feature (labeling).",
   "type": "object",
   "properties": {
      "angle": {
         "anyOf": [
            {
               "maximum": 360.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
         "title": "Angle"
      },
      "backgroundColor": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "Backgroundcolor"
      },
      "borderLineColor": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "Borderlinecolor"
      },
      "borderLineSize": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the the size of the border line in points.",
         "title": "Borderlinesize"
      },
      "color": {
         "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "Color",
         "type": "array"
      },
      "font": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextFont"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object specifying the font used for the text symbol."
      },
      "haloColor": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Color of the halo around the text.",
         "title": "Halocolor"
      },
      "haloSize": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the point size of a halo around the text symbol.",
         "title": "Halosize"
      },
      "horizontalAlignment": {
         "anyOf": [
            {
               "$ref": "#/$defs/HorizontalAlignment"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "One of the following string values representing the horizontal alignment of the text."
      },
      "kerning": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
         "title": "Kerning"
      },
      "rightToLeft": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
         "title": "Righttoleft"
      },
      "rotated": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Boolean value indicating whether every character in the text string is rotated.",
         "title": "Rotated"
      },
      "text": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "only applicable when specified as a client-side graphic.",
         "title": "Text"
      },
      "type": {
         "const": "esriTS",
         "default": "esriTS",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "esriTS"
         ],
         "title": "Type",
         "type": "string"
      },
      "verticalAlignment": {
         "anyOf": [
            {
               "$ref": "#/$defs/VerticalAlignment"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "One of the following string values representing the vertical alignment of the text."
      },
      "xoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the x-axis in points.",
         "title": "Xoffset"
      },
      "yoffset": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Numeric value indicating the offset on the y-axis in points.",
         "title": "Yoffset"
      }
   },
   "$defs": {
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      }
   },
   "required": [
      "color"
   ]
}

field angle = None

A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0� axis.

field background_color = None (alias 'backgroundColor')

Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field border_line_color = None (alias 'borderLineColor')

Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field border_line_size = None (alias 'borderLineSize')

Numeric value indicating the the size of the border line in points.

field color [Required]

Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field font = None

An object specifying the font used for the text symbol.

field halo_color = None (alias 'haloColor')

Color of the halo around the text.

field halo_size = None (alias 'haloSize')

Numeric value indicating the point size of a halo around the text symbol.

field horizontal_alignment = None (alias 'horizontalAlignment')

One of the following string values representing the horizontal alignment of the text.

field kerning = None

Boolean value indicating whether to adjust the spacing between characters in the text string.

field right_to_left = None (alias 'rightToLeft')

Boolean value, set to true if using Hebrew or Arabic fonts.

field rotated = None

Boolean value indicating whether every character in the text string is rotated.

field text = None

only applicable when specified as a client-side graphic.

field type = 'esriTS'

Specifies the type of symbol used.

field vertical_alignment = None (alias 'verticalAlignment')

One of the following string values representing the vertical alignment of the text.

field xoffset = None

Numeric value indicating the offset on the x-axis in points.

field yoffset = None

Numeric value indicating the offset on the y-axis in points.

TextWeight

class arcgis.map.symbols.TextWeight(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text weight.

bold = 'bold'
bolder = 'bolder'
lighter = 'lighter'
normal = 'normal'

VerticalAlignment

VerticalOffset

pydantic model arcgis.map.symbols.VerticalOffset

Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.

Show JSON schema
{
   "title": "VerticalOffset",
   "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
   "type": "object",
   "properties": {
      "maxWorldLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
         "title": "Maxworldlength"
      },
      "minWorldLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
         "title": "Minworldlength"
      },
      "screenLength": {
         "description": "Maximal screen length of lift in points.",
         "title": "Screenlength",
         "type": "number"
      }
   },
   "required": [
      "screenLength"
   ]
}

field max_world_length = None (alias 'maxWorldLength')

The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.

field min_world_length = 0 (alias 'minWorldLength')

The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.

field screen_length [Required] (alias 'screenLength')

Maximal screen length of lift in points.

WaterbodySize

class arcgis.map.symbols.WaterbodySize(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.

large = 'large'
medium = 'medium'
small = 'small'

WaterSymbol3DLayer

pydantic model arcgis.map.symbols.WaterSymbol3DLayer

Symbol Layer that describes a water appearance on surfaces in a SceneView.

Show JSON schema
{
   "title": "WaterSymbol3DLayer",
   "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": [
            0,
            119,
            190
         ],
         "description": "The dominant water color.",
         "title": "color"
      },
      "enable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Enable"
      },
      "type": {
         "const": "Water",
         "default": "Water",
         "description": "Specifies the type of symbol used.",
         "enum": [
            "Water"
         ],
         "title": "Type",
         "type": "string"
      },
      "waterbodySize": {
         "anyOf": [
            {
               "$ref": "#/$defs/WaterbodySize"
            },
            {
               "type": "null"
            }
         ],
         "default": "medium",
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
      },
      "waveDirection": {
         "anyOf": [
            {
               "maximum": 360.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
         "title": "Wavedirection"
      },
      "waveStrength": {
         "anyOf": [
            {
               "$ref": "#/$defs/WaveStrength"
            },
            {
               "type": "null"
            }
         ],
         "default": "moderate",
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
      }
   },
   "$defs": {
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      }
   }
}

field color = [0, 119, 190]

The dominant water color.

field enable = None
field type = 'Water'

Specifies the type of symbol used.

field waterbody_size = 'medium' (alias 'waterbodySize')

Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.

field wave_direction = None (alias 'waveDirection')

Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as ‘geographic’ rotation, i.e. clockwise starting from north.

field wave_strength = 'moderate' (alias 'waveStrength')

The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.

WaveStrength

class arcgis.map.symbols.WaveStrength(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.

calm = 'calm'
moderate = 'moderate'
rippled = 'rippled'
slight = 'slight'

Weight

class arcgis.map.symbols.Weight(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The text weight.

bold = 'bold'
bolder = 'bolder'
lighter = 'lighter'
normal = 'normal'

Renderers

AttributeColorInfo

pydantic model arcgis.map.renderers.AttributeColorInfo

The following is a list of properties found on the attributeColorInfo object. This object defines colors used to represent numeric fields in a dotDensity renderer or a pieChart renderer.

Show JSON schema
{
   "title": "AttributeColorInfo",
   "description": "The following is a list of properties found on the attributeColorInfo object. This object defines colors used to represent numeric fields in a dotDensity renderer or a pieChart renderer.",
   "type": "object",
   "properties": {
      "color": {
         "description": "The color used to represent the field or valueExpression when rendering dots in a dotDensity renderer or slices in a pieChart renderer. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "Color",
         "type": "array"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The name of a numeric attribute field.",
         "title": "Field"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The label used to describe the field or attribute in the legend.",
         "title": "Label"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a numeric value in lieu of a value provided by an attribute `field`.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      }
   },
   "required": [
      "color"
   ]
}

field color [Required]

The color used to represent the field or valueExpression when rendering dots in a dotDensity renderer or slices in a pieChart renderer. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field field = None

The name of a numeric attribute field.

field label = None

The label used to describe the field or attribute in the legend.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a numeric value in lieu of a value provided by an attribute field.

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

AuthoringInfo

pydantic model arcgis.map.renderers.AuthoringInfo

The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.

Show JSON schema
{
   "title": "AuthoringInfo",
   "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
   "type": "object",
   "properties": {
      "classificationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/ClassificationMethod"
            },
            {
               "type": "null"
            }
         ],
         "default": "esriClassifyManual",
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
      },
      "colorRamp": {
         "anyOf": [
            {
               "$ref": "#/$defs/ColorRamp"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "fadeRatio": {
         "anyOf": [
            {
               "maximum": 1.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
         "title": "Faderatio"
      },
      "field1": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfoField"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "field2": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfoField"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "fields": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of string values representing field names used for creating predominance renderers.",
         "title": "Fields"
      },
      "flowTheme": {
         "anyOf": [
            {
               "$ref": "#/$defs/FlowTheme"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Theme to be used only when working with renderers of type `flow`."
      },
      "focus": {
         "anyOf": [
            {
               "$ref": "#/$defs/Focus"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
      },
      "isAutoGenerated": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
         "title": "Isautogenerated"
      },
      "maxSliderValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
         "title": "Maxslidervalue"
      },
      "minSliderValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
         "title": "Minslidervalue"
      },
      "numClasses": {
         "anyOf": [
            {
               "maximum": 4,
               "minimum": 2,
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
         "title": "Numclasses"
      },
      "standardDeviationInterval": {
         "anyOf": [
            {
               "$ref": "#/$defs/StandardDeviationInterval"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
      },
      "statistics": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfoStatistics"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
      },
      "type": {
         "anyOf": [
            {
               "$ref": "#/$defs/RendererType"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "univariateSymbolStyle": {
         "anyOf": [
            {
               "$ref": "#/$defs/UnivariateSymbolStyle"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
      },
      "univariateTheme": {
         "anyOf": [
            {
               "$ref": "#/$defs/UnivariateTheme"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AuthoringInfoVisualVariable"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   }
}

field classification_method = ClassificationMethod.esri_classify_manual (alias 'classificationMethod')

Used for classed color or size. The default value is esriClassifyManual. The esriClassifyDefinedInterval method is only applicable to raster class breaks renderer only.

field color_ramp = None (alias 'colorRamp')
field fade_ratio = 0 (alias 'fadeRatio')

The degree with which to fade colors in a heatmap. A value of 0 indicates all color stops in the heatmap have an alpha of 1. A value of 1 indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer’s color stops.

field field1 = None
field field2 = None
field fields = None

An array of string values representing field names used for creating predominance renderers.

field flow_theme = None (alias 'flowTheme')

Theme to be used only when working with renderers of type flow.

field focus = None

Optional. Used for Relationship renderer. If not set, the legend will default to being square.

field is_auto_generated = None (alias 'isAutoGenerated')

Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API’s rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.

field max_slider_value = None (alias 'maxSliderValue')

Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.

field min_slider_value = None (alias 'minSliderValue')

Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.

field num_classes = None (alias 'numClasses')

Number of classes to be associated with the relationship. Used for Relationship renderer.

field standard_deviation_interval = None (alias 'standardDeviationInterval')

Use this property if the classificationMethod is esriClassifyStandardDeviation.

field statistics = None

Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type univariateColorSize with an ‘above-and-below’ univariateTheme.

field type = None
field univariate_symbol_style = None (alias 'univariateSymbolStyle')

Symbol style or symbol pair used when creating a renderer of type univariateColorSize with an above-and-below univariateTheme. The custom style indicates the renderer uses a custom symbol pair not provided by the authoring application.

field univariate_theme = None (alias 'univariateTheme')

Theme to be used only when working with renderers of type univariateColorSize.

field visual_variables = None (alias 'visualVariables')

An array of visualVariable objects containing additional information needed when authoring the renderer.

AuthoringInfoClassBreakInfo

pydantic model arcgis.map.renderers.AuthoringInfoClassBreakInfo

The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.

Show JSON schema
{
   "title": "AuthoringInfoClassBreakInfo",
   "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
   "type": "object",
   "properties": {
      "maxValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value used to specify the maximum value for a break.",
         "title": "Maxvalue"
      },
      "minValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value used to specify the minimum value for a break.",
         "title": "Minvalue"
      }
   }
}

field max_value = None (alias 'maxValue')

A numeric value used to specify the maximum value for a break.

field min_value = None (alias 'minValue')

A numeric value used to specify the minimum value for a break.

AuthoringInfoField

pydantic model arcgis.map.renderers.AuthoringInfoField

Contains information about an attribute field relating to Relationship renderers.

Show JSON schema
{
   "title": "AuthoringInfoField",
   "description": "Contains information about an attribute field relating to Relationship renderers.",
   "type": "object",
   "properties": {
      "classBreakInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Classbreakinfos"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for renderer.",
         "title": "Field"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The label used to describe the field or attribute in the legend.",
         "title": "Label"
      },
      "normalizationField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used to normalize the data.",
         "title": "Normalizationfield"
      }
   },
   "$defs": {
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      }
   }
}

field class_break_infos = None (alias 'classBreakInfos')
field field = None

Attribute field used for renderer.

field label = None

The label used to describe the field or attribute in the legend.

field normalization_field = None (alias 'normalizationField')

Attribute field used to normalize the data.

AuthoringInfoStatistics

pydantic model arcgis.map.renderers.AuthoringInfoStatistics

Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer’s configuration. Only applies to univariateColorSize styles with an above-and-below univariateTheme.

Show JSON schema
{
   "title": "AuthoringInfoStatistics",
   "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
   "type": "object",
   "properties": {
      "max": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
         "title": "Max"
      },
      "min": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
         "title": "Min"
      }
   }
}

field max = None

A numeric value indicating the maximum value of the data represented by the renderer.

field min = None

A numeric value indicating the minimum value of the data represented by the renderer.

AuthoringInfoVisualVariable

pydantic model arcgis.map.renderers.AuthoringInfoVisualVariable

This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.

Show JSON schema
{
   "title": "AuthoringInfoVisualVariable",
   "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
   "type": "object",
   "properties": {
      "endTime": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
         "title": "Endtime"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The attribute field.",
         "title": "Field"
      },
      "maxSliderValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value indicating the maximum value displayed.",
         "title": "Maxslidervalue"
      },
      "minSliderValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value indicating the minimum value displayed.",
         "title": "Minslidervalue"
      },
      "startTime": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
         "title": "Starttime"
      },
      "style": {
         "anyOf": [
            {
               "$ref": "#/$defs/RatioStyle"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
      },
      "theme": {
         "anyOf": [
            {
               "$ref": "#/$defs/Theme"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
      },
      "type": {
         "anyOf": [
            {
               "$ref": "#/$defs/VisualVariableType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value specifying the type of renderer's visual variable."
      },
      "units": {
         "anyOf": [
            {
               "$ref": "#/$defs/TimeUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Units for `start_time` and `end_time`."
      }
   },
   "$defs": {
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   }
}

field end_time = None (alias 'endTime')

A Unix stamp. Both start_time or end_time can be fields. If this is the case, their names must be different.

field field = None

The attribute field.

field max_slider_value = None (alias 'maxSliderValue')

A numeric value indicating the maximum value displayed.

field min_slider_value = None (alias 'minSliderValue')

A numeric value indicating the minimum value displayed.

field start_time = None (alias 'startTime')

A Unix time stamp. Both start_time or end_time can be fields. If this is the case, their names must be different.

field style = None

It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.

Validated by:
  • check_style

field theme = None

Theme to be used only when working with visual variables of type colorInfo or sizeInfo. Default is high-to-low. The centered-on, and extremes themes only apply to colorInfo visual variables.

field type = None

A string value specifying the type of renderer’s visual variable.

field units = None

Units for start_time and end_time.

ClassBreakInfo

pydantic model arcgis.map.renderers.ClassBreakInfo

The classBreaksInfo object provides information about the class breaks associated with the renderer.

Show JSON schema
{
   "title": "ClassBreakInfo",
   "description": "The classBreaksInfo object provides information about the class breaks associated with the renderer.",
   "type": "object",
   "properties": {
      "alternateSymbols": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CimSymbolReference"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visibile at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
         "title": "Alternatesymbols"
      },
      "classMaxValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value used to specify the maximum value for a break.",
         "title": "Classmaxvalue"
      },
      "classMinValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A numeric value used to specify discontinuous class breaks. If this value is null or is missing, the map server will calculate the minimum value based on the preceding class' maximum value.",
         "title": "Classminvalue"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to describe the drawn symbol.",
         "title": "Description"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to label the drawn symbol.",
         "title": "Label"
      },
      "symbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            }
         ],
         "description": "An object used to display the value.",
         "title": "Symbol"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "symbol"
   ]
}

field alternate_symbols = None (alias 'alternateSymbols')

An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map’s scale first before it iterates through alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visibile at current map scale. A symbol is visible if the map scale is greater than symbol’s maximum scale and less than or equal to symbol’s minimum scale.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field class_max_value = None (alias 'classMaxValue')

A numeric value used to specify the maximum value for a break.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field class_min_value = None (alias 'classMinValue')

A numeric value used to specify discontinuous class breaks. If this value is null or is missing, the map server will calculate the minimum value based on the preceding class’ maximum value.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field description = None

String value used to describe the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field label = None

String value used to label the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field symbol [Required]

An object used to display the value.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

ClassBreaksRenderer

pydantic model arcgis.map.renderers.ClassBreaksRenderer

A class breaks renderer symbolizes based on the value of some numeric attribute. The classBreakInfo define the values at which the symbology changes.

Show JSON schema
{
   "title": "ClassBreaksRenderer",
   "description": "A class breaks renderer symbolizes based on the value of some numeric attribute. The classBreakInfo define the values at which the symbology changes.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "backgroundFillSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolsEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers."
      },
      "classBreakInfos": {
         "description": "Array of classBreakInfo objects.",
         "items": {
            "$ref": "#/$defs/ClassBreakInfo"
         },
         "title": "Classbreakinfos",
         "type": "array"
      },
      "classificationMethod": {
         "anyOf": [
            {
               "$ref": "#/$defs/ClassificationMethod"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Determines the classification method that was used to generate class breaks. This has been replaced by AuthoringInfo."
      },
      "defaultLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Label for the default symbol used to draw unspecified values.",
         "title": "Defaultlabel"
      },
      "defaultSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Symbol used when a value cannot be classified.",
         "title": "Defaultsymbol"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for renderer.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A legend containing one title, which is a string describing the renderer in the legend."
      },
      "minValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum numeric data value needed to begin class breaks.",
         "title": "Minvalue"
      },
      "normalizationField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used when normalizationType is field. The string value indicating the attribute field by which the data value is normalized.",
         "title": "Normalizationfield"
      },
      "normalizationTotal": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Used when normalizationType is percent-of-total, this number property contains the total of all data values.",
         "title": "Normalizationtotal"
      },
      "normalizationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/NormalizationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Determine how the data was normalized."
      },
      "rotationExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.  Rotation is set using a visual variable of type `rotationInfo` with a specified `field` or `valueExpression` property.",
         "title": "Rotationexpression"
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string property which controls the origin and direction of rotation. If the rotationType is defined as `arithmetic`, the symbol is rotated from East in a couter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
      },
      "type": {
         "const": "classBreaks",
         "default": "classBreaks",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "classBreaks"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects used to set rendering properties.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "ClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the renderer.",
         "properties": {
            "alternateSymbols": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CimSymbolReference"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visibile at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
               "title": "Alternatesymbols"
            },
            "classMaxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Classmaxvalue"
            },
            "classMinValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify discontinuous class breaks. If this value is null or is missing, the map server will calculate the minimum value based on the preceding class' maximum value.",
               "title": "Classminvalue"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to describe the drawn symbol.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to label the drawn symbol.",
               "title": "Label"
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  }
               ],
               "description": "An object used to display the value.",
               "title": "Symbol"
            }
         },
         "required": [
            "symbol"
         ],
         "title": "ClassBreakInfo",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "NormalizationType": {
         "description": "Determine how the data was normalized.",
         "enum": [
            "esriNormalizeByField",
            "esriNormalizeByLog",
            "esriNormalizeByPercentOfTotal"
         ],
         "title": "NormalizationType",
         "type": "string"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SimpleFillSymbolStyle"
                  }
               ],
               "description": "String value representing the simple fill symbol type."
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "classBreakInfos"
   ]
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field background_fill_symbol = None (alias 'backgroundFillSymbol')

A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolsEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field class_break_infos [Required] (alias 'classBreakInfos')

Array of classBreakInfo objects.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field classification_method = None (alias 'classificationMethod')

Determines the classification method that was used to generate class breaks. This has been replaced by AuthoringInfo.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_label = None (alias 'defaultLabel')

Label for the default symbol used to draw unspecified values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_symbol = None (alias 'defaultSymbol')

Symbol used when a value cannot be classified.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field field = None

Attribute field used for renderer.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field legend_options = None (alias 'legendOptions')

A legend containing one title, which is a string describing the renderer in the legend.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field min_value = None (alias 'minValue')

The minimum numeric data value needed to begin class breaks.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field normalization_field = None (alias 'normalizationField')

Used when normalizationType is field. The string value indicating the attribute field by which the data value is normalized.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field normalization_total = None (alias 'normalizationTotal')

Used when normalizationType is percent-of-total, this number property contains the total of all data values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field normalization_type = None (alias 'normalizationType')

Determine how the data was normalized.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_expression = None (alias 'rotationExpression')

A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it’s enclosed in square brackets. Rotation is set using a visual variable of type rotationInfo with a specified field or valueExpression property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_type = None (alias 'rotationType')

A string property which controls the origin and direction of rotation. If the rotationType is defined as arithmetic, the symbol is rotated from East in a couter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field type = 'classBreaks'

Specifies the type of renderer used.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field visual_variables = None (alias 'visualVariables')

An array of objects used to set rendering properties.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

ClassificationMethod

class arcgis.map.renderers.ClassificationMethod(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Used for classed color or size. The default value is esriClassifyManual. The esriClassifyDefinedInterval method is only applicable to raster class breaks renderer only.

esri_classify_defined_interval = 'esriClassifyDefinedInterval'
esri_classify_equal_interval = 'esriClassifyEqualInterval'
esri_classify_manual = 'esriClassifyManual'
esri_classify_natural_breaks = 'esriClassifyNaturalBreaks'
esri_classify_quantile = 'esriClassifyQuantile'
esri_classify_standard_deviation = 'esriClassifyStandardDeviation'

ColorInfoVisualVariable

pydantic model arcgis.map.renderers.ColorInfoVisualVariable

The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.

Show JSON schema
{
   "title": "ColorInfoVisualVariable",
   "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
   "type": "object",
   "properties": {
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for color rendering if no valueExpression is provided.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "normalizationField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used to normalize the data.",
         "title": "Normalizationfield"
      },
      "stops": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ColorStop"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of stop objects.",
         "title": "Stops"
      },
      "type": {
         "const": "colorInfo",
         "default": "colorInfo",
         "description": "Specifies the type of visual variable.",
         "enum": [
            "colorInfo"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      }
   },
   "$defs": {
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      }
   }
}

field field = None

Attribute field used for color rendering if no valueExpression is provided.

field legend_options = None (alias 'legendOptions')
field normalization_field = None (alias 'normalizationField')

Attribute field used to normalize the data.

field stops = None

An array of stop objects.

field type = 'colorInfo'

Specifies the type of visual variable.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute field.

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

ColorRamp

pydantic model arcgis.map.renderers.ColorRamp

A colorRamp object is used to specify a range of colors that are applied to a group of symbols.

Show JSON schema
{
   "$defs": {
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      }
   },
   "allOf": [
      {
         "$ref": "#/$defs/ColorRamp"
      }
   ]
}

field algorithm = None

Algorithm used for calculating the ramp.

field color_ramps = None (alias 'colorRamps')

A multipart color ramp is defined by a list of constituent color ramps.

field from_color = None (alias 'fromColor')

Array representing the initial color to start the ramp from.

field to_color = None (alias 'toColor')

Array representing the final color to end the ramp with.

field type = None

Value indicating the type of colorRamp.

ColorRampType

class arcgis.map.renderers.ColorRampType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Value indicating the type of colorRamp.

algorithmic = 'algorithmic'
multipart = 'multipart'

ColorStop

pydantic model arcgis.map.renderers.ColorStop

A colorStop object describes the renderer’s color ramp with more specificity than just colors.

Show JSON schema
{
   "title": "ColorStop",
   "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
   "type": "object",
   "properties": {
      "color": {
         "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "Color",
         "type": "array"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Value if a label is needed on the legend for a stop.",
         "title": "Label"
      },
      "value": {
         "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
         "title": "Value",
         "type": "number"
      }
   },
   "required": [
      "color",
      "value"
   ]
}

field color [Required]

A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.

field label = None

Value if a label is needed on the legend for a stop.

field value [Required]

The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore maxPixelIntensity and minPixelIntensity properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting minPixelIntensity or maxPixelIntensity, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.

DictionaryRenderer

pydantic model arcgis.map.renderers.DictionaryRenderer

A renderer where symbols are drawn from a dictionary style.

Show JSON schema
{
   "title": "DictionaryRenderer",
   "description": "A renderer where symbols are drawn from a dictionary style.",
   "type": "object",
   "properties": {
      "configuration": {
         "anyOf": [
            {
               "patternProperties": {
                  ".*": {
                     "type": "string"
                  }
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object representing the configuration properties for a symbol.",
         "title": "Configuration"
      },
      "dictionaryName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The name of the symbol dictionary.",
         "title": "Dictionaryname"
      },
      "fieldMap": {
         "anyOf": [
            {
               "patternProperties": {
                  ".*": {
                     "type": "string"
                  }
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object with key/ value pairs representing expected field name and actual field name.",
         "title": "Fieldmap"
      },
      "scalingExpressionInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/ExpressionInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional expression script object specifying the scaling ratio as a number. A return value of 1 means no scaling, a return value of 2 means scale 2 times etc. Absence of this object also results in no scaling. Expected return type from the Arcade expression is number"
      },
      "type": {
         "const": "dictionary",
         "default": "dictionary",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "dictionary"
         ],
         "title": "Type",
         "type": "string"
      },
      "url": {
         "description": "The URL to dictionary web style.",
         "title": "Url",
         "type": "string"
      }
   },
   "$defs": {
      "ArcadeReturnType": {
         "description": "Return type of the Arcade expression, can be a number or string.\nNumber values are assumed to be `double`.\nKnowing the `ArcadeReturnType` allows the authoring client to present\nfields in relevant contexts. For example, numeric fields in numeric\ncontexts such as chart values.",
         "enum": [
            "number",
            "string"
         ],
         "title": "ArcadeReturnType",
         "type": "string"
      },
      "ExpressionInfo": {
         "description": "Defines a script expression that can be used to compute values. Depending on the context, the script may refer to external data which will be available when the expression is being evaluated.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional expression in the [Arcade expression](https://developers.arcgis.com/arcade/) language. If no expression is provided, then the default empty expression produces a null, empty string, zero or false when evaluated (depending on usage and context).",
               "title": "Expression"
            },
            "returnType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ArcadeReturnType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "string",
               "description": "Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be `double`. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts."
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional title of the expression. Typically used when presenting the expression to end-users e.g. in dialogs, table-of-contents or editing tools.",
               "title": "Title"
            }
         },
         "title": "ExpressionInfo",
         "type": "object"
      }
   },
   "required": [
      "url"
   ]
}

field configuration = None

An object representing the configuration properties for a symbol.

field dictionary_name = None (alias 'dictionaryName')

The name of the symbol dictionary.

field field_map = None (alias 'fieldMap')

An object with key/ value pairs representing expected field name and actual field name.

field scaling_expression_info = None (alias 'scalingExpressionInfo')

Optional expression script object specifying the scaling ratio as a number. A return value of 1 means no scaling, a return value of 2 means scale 2 times etc. Absence of this object also results in no scaling. Expected return type from the Arcade expression is number

field type = 'dictionary'

Specifies the type of renderer used.

field url [Required]

The URL to dictionary web style.

DotDensityRenderer

pydantic model arcgis.map.renderers.DotDensityRenderer

This renderer allows you to create dot density visualizations for polygon layers. Dot density visualizations randomly draw dots within each polygon to visualize the density of a population or some other variable. Each dot represents a fixed numeric value of an attribute or a subset of attributes.

Show JSON schema
{
   "title": "DotDensityRenderer",
   "description": "This renderer allows you to create dot density visualizations for polygon layers. Dot density visualizations randomly draw dots within each polygon to visualize the density of a population or some other variable. Each dot represents a fixed numeric value of an attribute or a subset of attributes.",
   "type": "object",
   "properties": {
      "attributes": {
         "description": "An array of AttributeColorInfo objects defining the dot colors.",
         "items": {
            "$ref": "#/$defs/AttributeColorInfo"
         },
         "title": "Attributes",
         "type": "array"
      },
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "backgroundColor": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The color used to shade the polygon fill behind the dots. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
         "title": "Backgroundcolor"
      },
      "dotBlendingEnabled": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Only applicable when two or more `attributes` are specified. When `true`, indicates that colors for overlapping dots will blend.",
         "title": "Dotblendingenabled"
      },
      "dotSize": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 1,
         "description": "Defines the size of each dot in points. The default is `1` in maps that don't persist `dotSize`.",
         "title": "Dotsize"
      },
      "dotValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines the dot value used for visualizing density. For example, if set to `100`, each dot will represent 100 units. If a `referenceScale` is provided, this value indicates the value of each dot at the view.scale matching the value in `referenceScale`.",
         "title": "Dotvalue"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Options for describing the renderer in the legend. This includes the title and the units describing the `dotValue`."
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets the outline of the polygon."
      },
      "referenceScale": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "When defined, the renderer will recalculate the dot value linearly based on the change in the view's scale. The rendering will maintain the density of points as drawn at the provided scale across various scales.",
         "title": "Referencescale"
      },
      "seed": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": "1",
         "description": "The reference to a specific rendering of dots. This value ensures you can view the same dot density rendering for each draw.",
         "title": "Seed"
      },
      "type": {
         "const": "dotDensity",
         "default": "dotDensity",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "dotDensity"
         ],
         "title": "Type",
         "type": "string"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of sizeInfo objects used to vary the outline width based on the view.scale.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "AttributeColorInfo": {
         "description": "The following is a list of properties found on the attributeColorInfo object. This object defines colors used to represent numeric fields in a dotDensity renderer or a pieChart renderer.",
         "properties": {
            "color": {
               "description": "The color used to represent the field or valueExpression when rendering dots in a dotDensity renderer or slices in a pieChart renderer. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of a numeric attribute field.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a numeric value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "required": [
            "color"
         ],
         "title": "AttributeColorInfo",
         "type": "object"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   },
   "required": [
      "attributes"
   ]
}

field attributes [Required]

An array of AttributeColorInfo objects defining the dot colors.

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

field background_color = None (alias 'backgroundColor')

The color used to shade the polygon fill behind the dots. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.

field dot_blending_enabled = None (alias 'dotBlendingEnabled')

Only applicable when two or more attributes are specified. When true, indicates that colors for overlapping dots will blend.

field dot_size = 1 (alias 'dotSize')

Defines the size of each dot in points. The default is 1 in maps that don’t persist dotSize.

field dot_value = None (alias 'dotValue')

Defines the dot value used for visualizing density. For example, if set to 100, each dot will represent 100 units. If a referenceScale is provided, this value indicates the value of each dot at the view.scale matching the value in referenceScale.

field legend_options = None (alias 'legendOptions')

Options for describing the renderer in the legend. This includes the title and the units describing the dotValue.

field outline = None

Sets the outline of the polygon.

field reference_scale = None (alias 'referenceScale')

When defined, the renderer will recalculate the dot value linearly based on the change in the view’s scale. The rendering will maintain the density of points as drawn at the provided scale across various scales.

field seed = '1'

The reference to a specific rendering of dots. This value ensures you can view the same dot density rendering for each draw.

field type = 'dotDensity'

Specifies the type of renderer used.

field visual_variables = None (alias 'visualVariables')

An array of sizeInfo objects used to vary the outline width based on the view.scale.

ExpressionInfo

pydantic model arcgis.map.renderers.ExpressionInfo

Defines a script expression that can be used to compute values. Depending on the context, the script may refer to external data which will be available when the expression is being evaluated.

Show JSON schema
{
   "title": "ExpressionInfo",
   "description": "Defines a script expression that can be used to compute values. Depending on the context, the script may refer to external data which will be available when the expression is being evaluated.",
   "type": "object",
   "properties": {
      "expression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional expression in the [Arcade expression](https://developers.arcgis.com/arcade/) language. If no expression is provided, then the default empty expression produces a null, empty string, zero or false when evaluated (depending on usage and context).",
         "title": "Expression"
      },
      "returnType": {
         "anyOf": [
            {
               "$ref": "#/$defs/ArcadeReturnType"
            },
            {
               "type": "null"
            }
         ],
         "default": "string",
         "description": "Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be `double`. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts."
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Optional title of the expression. Typically used when presenting the expression to end-users e.g. in dialogs, table-of-contents or editing tools.",
         "title": "Title"
      }
   },
   "$defs": {
      "ArcadeReturnType": {
         "description": "Return type of the Arcade expression, can be a number or string.\nNumber values are assumed to be `double`.\nKnowing the `ArcadeReturnType` allows the authoring client to present\nfields in relevant contexts. For example, numeric fields in numeric\ncontexts such as chart values.",
         "enum": [
            "number",
            "string"
         ],
         "title": "ArcadeReturnType",
         "type": "string"
      }
   }
}

field expression = None

Optional expression in the [Arcade expression](https://developers.arcgis.com/arcade/) language. If no expression is provided, then the default empty expression produces a null, empty string, zero or false when evaluated (depending on usage and context).

field return_type = 'string' (alias 'returnType')

Optional return type of the Arcade expression. Defaults to string value. Number values are assumed to be double. This can be determined by the authoring client by executing the expression using a sample feature, although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts.

field title = None

Optional title of the expression. Typically used when presenting the expression to end-users e.g. in dialogs, table-of-contents or editing tools.

FlowRenderer

pydantic model arcgis.map.renderers.FlowRenderer

A flow renderer is a renderer that uses animated streamlines to visualize U-V or Magnitude-Direction raster data. This renderer works with ImageryLayers and ImageryTileLayers.

Show JSON schema
{
   "title": "FlowRenderer",
   "description": "A flow renderer is a renderer that uses animated streamlines to visualize U-V or Magnitude-Direction raster data. This renderer works with ImageryLayers and ImageryTileLayers.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": [
            255,
            255,
            255,
            255
         ],
         "description": "The color of the streamlines.",
         "title": "Color"
      },
      "density": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 0.8,
         "description": "The density of the streamlines. Accepted values are between 0 and 1, where 0 is the least dense and 1 is the most dense.",
         "title": "Density"
      },
      "flowRepresentation": {
         "anyOf": [
            {
               "$ref": "#/$defs/FlowRepresentation"
            },
            {
               "type": "null"
            }
         ],
         "default": "flow-from",
         "description": "Sets the flow direction of the data."
      },
      "flowSpeed": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 10,
         "description": "The speed of the animated streamlines, relative to simulation time. This serves as a multiple of the magnitude from the imagery layer. If the magnitude is 2 m/s, and flowSpeed is 10, then the actual speed of a streamline will be 20 pts/s. A speed of 0 will result in no animation.",
         "title": "Flowspeed"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A legend containing one title, which is a string describing the renderer in the legend."
      },
      "maxPathLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 200,
         "description": "The maximum length the streamlines will travel in points.",
         "title": "Maxpathlength"
      },
      "trailCap": {
         "anyOf": [
            {
               "$ref": "#/$defs/TrailCap"
            },
            {
               "type": "null"
            }
         ],
         "default": "butt",
         "description": "The style of the streamline's cap. The 'round' cap will only be applied if trailWidth is greater than 3pts."
      },
      "trailLength": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 100,
         "description": "The approximate visible length of the streamline in points. This will be longer where the particle is moving faster, and shorter where the particle is moving slower.",
         "title": "Traillength"
      },
      "trailWidth": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 1.5,
         "description": "The width of the streamlines in points.",
         "title": "Trailwidth"
      },
      "type": {
         "const": "flowRenderer",
         "default": "flowRenderer",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "flowRenderer"
         ],
         "title": "Type",
         "type": "string"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects used to set rendering properties. Supports color, size, and opacity visual variables.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "FlowRepresentation": {
         "description": "Sets the flow direction of the data.",
         "enum": [
            "flow_from",
            "flow_to"
         ],
         "title": "FlowRepresentation",
         "type": "string"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TrailCap": {
         "description": "The style of the streamline's cap. The 'round' cap will only be applied if trailWidth is greater than 3pts.",
         "enum": [
            "butt",
            "round"
         ],
         "title": "TrailCap",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   }
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

field color = [255, 255, 255, 255]

The color of the streamlines.

field density = 0.8

The density of the streamlines. Accepted values are between 0 and 1, where 0 is the least dense and 1 is the most dense.

field flow_representation = 'flow-from' (alias 'flowRepresentation')

Sets the flow direction of the data.

field flow_speed = 10 (alias 'flowSpeed')

The speed of the animated streamlines, relative to simulation time. This serves as a multiple of the magnitude from the imagery layer. If the magnitude is 2 m/s, and flowSpeed is 10, then the actual speed of a streamline will be 20 pts/s. A speed of 0 will result in no animation.

field legend_options = None (alias 'legendOptions')

A legend containing one title, which is a string describing the renderer in the legend.

field max_path_length = 200 (alias 'maxPathLength')

The maximum length the streamlines will travel in points.

field trail_cap = 'butt' (alias 'trailCap')

The style of the streamline’s cap. The ‘round’ cap will only be applied if trailWidth is greater than 3pts.

field trail_length = 100 (alias 'trailLength')

The approximate visible length of the streamline in points. This will be longer where the particle is moving faster, and shorter where the particle is moving slower.

field trail_width = 1.5 (alias 'trailWidth')

The width of the streamlines in points.

field type = 'flowRenderer'

Specifies the type of renderer used.

field visual_variables = None (alias 'visualVariables')

An array of objects used to set rendering properties. Supports color, size, and opacity visual variables.

FlowRepresentation

class arcgis.map.renderers.FlowRepresentation(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Sets the flow direction of the data.

flow_from = 'flow_from'
flow_to = 'flow_to'

FlowTheme

class arcgis.map.renderers.FlowTheme(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Theme to be used only when working with renderers of type flow.

flow_line = 'flow-line'
wave_front = 'wave-front'

Focus

class arcgis.map.renderers.Focus(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Optional. Used for Relationship renderer. If not set, the legend will default to being square.

hh = 'HH'
hl = 'HL'
lh = 'LH'
ll = 'LL'

HeatmapColorStop

pydantic model arcgis.map.renderers.HeatmapColorStop

A colorStop object describes the renderer’s color ramp with more specificity than just colors.

Show JSON schema
{
   "title": "HeatmapColorStop",
   "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
   "type": "object",
   "properties": {
      "color": {
         "items": {
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
         },
         "title": "Color",
         "type": "array"
      },
      "ratio": {
         "description": "A number between 0-1. Describes what portion along the gradient the colorStop is added.",
         "title": "Ratio",
         "type": "number"
      }
   },
   "required": [
      "color",
      "ratio"
   ]
}

field color [Required]
field ratio [Required]

A number between 0-1. Describes what portion along the gradient the colorStop is added.

HeatmapRenderer

pydantic model arcgis.map.renderers.HeatmapRenderer

The HeatmapRenderer renders point data into a raster visualization that emphasizes areas of higher density or weighted values.

Show JSON schema
{
   "title": "HeatmapRenderer",
   "description": "The HeatmapRenderer renders point data into a raster visualization that emphasizes areas of higher density or weighted values.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "colorStops": {
         "description": "An array of colorStop objects describing the renderer's color ramp with more specificity than just colors.",
         "items": {
            "$ref": "#/$defs/HeatmapColorStop"
         },
         "title": "Colorstops",
         "type": "array"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This is optional as this renderer can be created if no field is specified. Each feature gets the same value/importance/weight or with a field where each feature is weighted by the field's value.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Options for describing the heatmap in the legend."
      },
      "maxDensity": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The density value assigned to the final color in the `colorStops`. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with `radius` and `minDensity`.",
         "title": "Maxdensity"
      },
      "minDensity": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The density value assigned to the first color in the `colorStops`. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with `radius` and `maxDensity`.",
         "title": "Mindensity"
      },
      "radius": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The radius (in points) of the circle representing each point. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with `minDensity` and `maxDensity`.",
         "title": "Radius"
      },
      "referenceScale": {
         "anyOf": [
            {
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "When defined, the heatmap will maintain a consistent, fixed rendering across all scales according to its configuration at the scale defined here. The heatmap will not dynamically update as the user zooms in and out. For example, when a referenceScale is defined, the same geographic areas appearing hot/dense will always appear hot/dense as the user zooms in and out.",
         "title": "Referencescale"
      },
      "type": {
         "const": "heatmap",
         "default": "heatmap",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "heatmap"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "HeatmapColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "ratio": {
               "description": "A number between 0-1. Describes what portion along the gradient the colorStop is added.",
               "title": "Ratio",
               "type": "number"
            }
         },
         "required": [
            "color",
            "ratio"
         ],
         "title": "HeatmapColorStop",
         "type": "object"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   },
   "required": [
      "colorStops"
   ]
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

field color_stops [Required] (alias 'colorStops')

An array of colorStop objects describing the renderer’s color ramp with more specificity than just colors.

field field = None

This is optional as this renderer can be created if no field is specified. Each feature gets the same value/importance/weight or with a field where each feature is weighted by the field’s value.

field legend_options = None (alias 'legendOptions')

Options for describing the heatmap in the legend.

field max_density = None (alias 'maxDensity')

The density value assigned to the final color in the colorStops. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with radius and minDensity.

field min_density = None (alias 'minDensity')

The density value assigned to the first color in the colorStops. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with radius and maxDensity.

field radius = None

The radius (in points) of the circle representing each point. Only used for heatmaps calculated with kernel density. This value must be set in conjunction with minDensity and maxDensity.

field reference_scale = 0 (alias 'referenceScale')

When defined, the heatmap will maintain a consistent, fixed rendering across all scales according to its configuration at the scale defined here. The heatmap will not dynamically update as the user zooms in and out. For example, when a referenceScale is defined, the same geographic areas appearing hot/dense will always appear hot/dense as the user zooms in and out.

field type = 'heatmap'

Specifies the type of renderer used.

InputOutputUnit

class arcgis.map.renderers.InputOutputUnit(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Input unit for Magnitude.

esri_feet_per_second = 'esriFeetPerSecond'
esri_kilometers_per_hour = 'esriKilometersPerHour'
esri_knots = 'esriKnots'
esri_meters_per_second = 'esriMetersPerSecond'
esri_miles_per_hour = 'esriMilesPerHour'

LegendOptions

pydantic model arcgis.map.renderers.LegendOptions

Options available for the legend.

Show JSON schema
{
   "title": "LegendOptions",
   "description": "Options available for the legend.",
   "type": "object",
   "properties": {
      "dotLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
         "title": "Dotlabel"
      },
      "maxLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
         "title": "Maxlabel"
      },
      "minLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
         "title": "Minlabel"
      },
      "order": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOrder"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates the order in which the legend is displayed."
      },
      "showLegend": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
         "title": "Showlegend"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title of the legend.",
         "title": "Title"
      },
      "unit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
         "title": "Unit"
      }
   },
   "$defs": {
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      }
   }
}

field dot_label = None (alias 'dotLabel')

The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word ‘Dot’. Only applicable to dot density renderers.

field max_label = None (alias 'maxLabel')

Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for ‘High’ will display on the legend.

field min_label = None (alias 'minLabel')

Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for ‘Low’ will display on the legend.

field order = None

Indicates the order in which the legend is displayed.

field show_legend = None (alias 'showLegend')

Indicates whether to show the color/size/opacity ramp in the legend. This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.

field title = None

The title of the legend.

field unit = None

Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.

LegendOrder

class arcgis.map.renderers.LegendOrder(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Indicates the order in which the legend is displayed.

ascending_values = 'ascendingValues'
descending_values = 'descendingValues'

NormalizationType

class arcgis.map.renderers.NormalizationType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Determine how the data was normalized.

esri_normalize_by_field = 'esriNormalizeByField'
esri_normalize_by_log = 'esriNormalizeByLog'
esri_normalize_by_percent_of_total = 'esriNormalizeByPercentOfTotal'

OthersThresholdColorInfo

pydantic model arcgis.map.renderers.OthersThresholdColorInfo

Defines the rules for how to aggregate small categories to a generic “others” category for categorical chart renderers, such as pie charts.

Show JSON schema
{
   "title": "OthersThresholdColorInfo",
   "description": "Defines the rules for how to aggregate small categories to a generic \"others\" category for categorical chart renderers, such as pie charts.",
   "type": "object",
   "properties": {
      "color": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines the color used to represent all categories smaller than the percentage defined by `threshold`. This is typically used to represent a generic \"others\" category where categories would otherwise be too small to read.",
         "title": "Color"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The label used to describe the \"others\" category in the legend. When not specified, the legend will display a localized version of \"Others\".",
         "title": "Label"
      },
      "threshold": {
         "anyOf": [
            {
               "maximum": 1.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "Represents the minimum size of individual categories as a percentage of all categories combined. All categories that make up a smaller percentage than the threshold will automatically be aggregated to an \"others\" category represented by the color specified in `color`. For example, if the threshold is 0.05, then all categories that make up less than 5% of all categories will be represented with `color`.",
         "title": "Threshold"
      }
   }
}

field color = None

Defines the color used to represent all categories smaller than the percentage defined by threshold. This is typically used to represent a generic “others” category where categories would otherwise be too small to read.

field label = None

The label used to describe the “others” category in the legend. When not specified, the legend will display a localized version of “Others”.

field threshold = 0

Represents the minimum size of individual categories as a percentage of all categories combined. All categories that make up a smaller percentage than the threshold will automatically be aggregated to an “others” category represented by the color specified in color. For example, if the threshold is 0.05, then all categories that make up less than 5% of all categories will be represented with color.

PieChartRenderer

pydantic model arcgis.map.renderers.PieChartRenderer

This renderer allows you to create pie charts to compare numeric values between categories within the same group.

Show JSON schema
{
   "title": "PieChartRenderer",
   "description": "This renderer allows you to create pie charts to compare numeric values between categories within the same group.",
   "type": "object",
   "properties": {
      "attributes": {
         "description": "An array of AttributeColorInfo objects defining the color of each slice.",
         "items": {
            "$ref": "#/$defs/AttributeColorInfo"
         },
         "title": "Attributes",
         "type": "array"
      },
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "backgroundFillSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The symbols used to represent the polygon fill behind the pie charts."
      },
      "defaultColor": {
         "anyOf": [
            {
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines the color used to represent features where all values of attributes are either null or zero. This is typically used to represent areas with 'no data' or 'no values' in the legend.",
         "title": "Defaultcolor"
      },
      "defaultLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text used to describe the `defaultColor` in the legend. Typically, this label will be something similar to 'No data' or 'No values'.",
         "title": "Defaultlabel"
      },
      "holePercentage": {
         "anyOf": [
            {
               "maximum": 1.0,
               "minimum": 0.0,
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": 0,
         "description": "Defines the size of the hole to cut from the center of the chart as a percentage of the size of the chart. For example, a value of `0` will render a full pie chart. A value of `0.5` will remove 50% of the center of the pie. This property is used to create a donut chart.",
         "title": "Holepercentage"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Options for describing the renderer in the legend."
      },
      "othersCategory": {
         "anyOf": [
            {
               "$ref": "#/$defs/OthersThresholdColorInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines how to aggregate small pie slices to a generic \"others\" category."
      },
      "outline": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Sets the outline of the pie chart. The outline width is applied to the outer outline of the pie (and inner outline in the case of donut charts). The outline color is applied to the outer and inner outlines, and the boundaries of the slices."
      },
      "size": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 12,
         "description": "The diameter of the pie chart in points.",
         "title": "Size"
      },
      "type": {
         "const": "pieChart",
         "default": "pieChart",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "pieChart"
         ],
         "title": "Type",
         "type": "string"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SizeInfoVisualVariable"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of sizeInfo objects used to vary the size of the pie charts.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "AttributeColorInfo": {
         "description": "The following is a list of properties found on the attributeColorInfo object. This object defines colors used to represent numeric fields in a dotDensity renderer or a pieChart renderer.",
         "properties": {
            "color": {
               "description": "The color used to represent the field or valueExpression when rendering dots in a dotDensity renderer or slices in a pieChart renderer. Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The name of a numeric attribute field.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a numeric value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "required": [
            "color"
         ],
         "title": "AttributeColorInfo",
         "type": "object"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "OthersThresholdColorInfo": {
         "description": "Defines the rules for how to aggregate small categories to a generic \"others\" category for categorical chart renderers, such as pie charts.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Defines the color used to represent all categories smaller than the percentage defined by `threshold`. This is typically used to represent a generic \"others\" category where categories would otherwise be too small to read.",
               "title": "Color"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the \"others\" category in the legend. When not specified, the legend will display a localized version of \"Others\".",
               "title": "Label"
            },
            "threshold": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "Represents the minimum size of individual categories as a percentage of all categories combined. All categories that make up a smaller percentage than the threshold will automatically be aggregated to an \"others\" category represented by the color specified in `color`. For example, if the threshold is 0.05, then all categories that make up less than 5% of all categories will be represented with `color`.",
               "title": "Threshold"
            }
         },
         "title": "OthersThresholdColorInfo",
         "type": "object"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      }
   },
   "required": [
      "attributes"
   ]
}

field attributes [Required]

An array of AttributeColorInfo objects defining the color of each slice.

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

field background_fill_symbol = None (alias 'backgroundFillSymbol')

The symbols used to represent the polygon fill behind the pie charts.

field default_color = None (alias 'defaultColor')

Defines the color used to represent features where all values of attributes are either null or zero. This is typically used to represent areas with ‘no data’ or ‘no values’ in the legend.

field default_label = None (alias 'defaultLabel')

The text used to describe the defaultColor in the legend. Typically, this label will be something similar to ‘No data’ or ‘No values’.

field hole_percentage = 0 (alias 'holePercentage')

Defines the size of the hole to cut from the center of the chart as a percentage of the size of the chart. For example, a value of 0 will render a full pie chart. A value of 0.5 will remove 50% of the center of the pie. This property is used to create a donut chart.

field legend_options = None (alias 'legendOptions')

Options for describing the renderer in the legend.

field others_category = None (alias 'othersCategory')

Defines how to aggregate small pie slices to a generic “others” category.

field outline = None

Sets the outline of the pie chart. The outline width is applied to the outer outline of the pie (and inner outline in the case of donut charts). The outline color is applied to the outer and inner outlines, and the boundaries of the slices.

field size = 12

The diameter of the pie chart in points.

field type = 'pieChart'

Specifies the type of renderer used.

field visual_variables = None (alias 'visualVariables')

An array of sizeInfo objects used to vary the size of the pie charts.

PredominanceRenderer

pydantic model arcgis.map.renderers.PredominanceRenderer

This renderer is a type of UniqueValue renderer which is based off the valueExpression property rather than field. Optionally, size and/or transparency visual variables may be included with valueExpression. Note that this renderer is supported for ArcGIS Online hosted feature services and feature collections.

Show JSON schema
{
   "title": "PredominanceRenderer",
   "description": "This renderer is a type of UniqueValue renderer which is based off the `valueExpression` property rather than `field`. Optionally, `size` and/or `transparency` visual variables may be included with `valueExpression`. Note that this renderer is supported for ArcGIS Online hosted feature services and feature collections.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "backgroundFillSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolsEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers."
      },
      "defaultLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Default label for the default symbol used to draw unspecified values.",
         "title": "Defaultlabel"
      },
      "defaultSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Symbol used when a value cannot be classified.",
         "title": "Defaultsymbol"
      },
      "rotationExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.  Rotation is set using a visual variable of type `rotationInfo` with a specified `field` or `valueExpression` property",
         "title": "Rotationexpression"
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value which controls the origin and direction of rotation on point features. If the rotationType is defined as `arithmetic`, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
      },
      "type": {
         "const": "uniqueValue",
         "default": "uniqueValue",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "uniqueValue"
         ],
         "title": "Type",
         "type": "string"
      },
      "uniqueValueInfos": {
         "description": "An array of uniqueValueInfo objects.",
         "items": {
            "$ref": "#/$defs/UniqueValueInfo"
         },
         "title": "Uniquevalueinfos",
         "type": "array"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      },
      "visualVariables": {
         "description": "An array of objects used to set rendering properties.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/ColorInfoVisualVariable"
               },
               {
                  "$ref": "#/$defs/RotationInfoVisualVariable"
               },
               {
                  "$ref": "#/$defs/SizeInfoVisualVariable"
               },
               {
                  "$ref": "#/$defs/TransparencyInfoVisualVariable"
               }
            ]
         },
         "title": "Visualvariables",
         "type": "array"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SimpleFillSymbolStyle"
                  }
               ],
               "description": "String value representing the simple fill symbol type."
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolStyle"
                  }
               ],
               "description": "String value representing the simple marker type."
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UniqueValueInfo": {
         "description": "The following is a list of properties found on the uniqueValueInfo object, which is one of the properties on the renderer object. The uniqueValueInfo object contains the symbology for each uniquely drawn value in the renderer.",
         "properties": {
            "alternateSymbols": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CimSymbolReference"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
               "title": "Alternatesymbols"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to describe the drawn symbol.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to label the drawn symbol.",
               "title": "Label"
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object used to display the value.",
               "title": "Symbol"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the unique value.",
               "title": "Value"
            }
         },
         "title": "UniqueValueInfo",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "uniqueValueInfos",
      "visualVariables"
   ]
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field background_fill_symbol = None (alias 'backgroundFillSymbol')

A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolsEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_label = None (alias 'defaultLabel')

Default label for the default symbol used to draw unspecified values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_symbol = None (alias 'defaultSymbol')

Symbol used when a value cannot be classified.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_expression = None (alias 'rotationExpression')

A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it’s enclosed in square brackets. Rotation is set using a visual variable of type rotationInfo with a specified field or valueExpression property

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_type = None (alias 'rotationType')

String value which controls the origin and direction of rotation on point features. If the rotationType is defined as arithmetic, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field type = 'uniqueValue'

Specifies the type of renderer used.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field unique_value_infos [Required] (alias 'uniqueValueInfos')

An array of uniqueValueInfo objects.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field visual_variables [Required] (alias 'visualVariables')

An array of objects used to set rendering properties.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

RampAlgorithm

class arcgis.map.renderers.RampAlgorithm(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Algorithm used for calculating the ramp.

esri_cie_lab_algorithm = 'esriCIELabAlgorithm'
esri_hsv_algorithm = 'esriHSVAlgorithm'
esri_lab_l_ch_algorithm = 'esriLabLChAlgorithm'

RatioStyle

class arcgis.map.renderers.RatioStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.

percent = 'percent'
percent_total = 'percentTotal'
ratio = 'ratio'

RendererType

class arcgis.map.renderers.RendererType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

classed_color = 'classedColor'
classed_size = 'classedSize'
dot_density = 'dotDensity'
flow = 'flow'
predominance = 'predominance'
relationship = 'relationship'
univariate_color_size = 'univariateColorSize'

RotationInfoVisualVariable

pydantic model arcgis.map.renderers.RotationInfoVisualVariable

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.

Show JSON schema
{
   "title": "RotationInfoVisualVariable",
   "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.",
   "type": "object",
   "properties": {
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": "geographic",
         "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."
      },
      "type": {
         "const": "rotationInfo",
         "default": "rotationInfo",
         "description": "A string value indicating the type of visual variable used for the renderer.",
         "enum": [
            "rotationInfo"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      }
   },
   "$defs": {
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      }
   }
}

field field = None

Attribute field used for setting the rotation of a symbol if no valueExpression is provided.

field legend_options = None (alias 'legendOptions')
field rotation_type = 'geographic' (alias 'rotationType')

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.

field type = 'rotationInfo'

A string value indicating the type of visual variable used for the renderer.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the valueExpression property.

RotationType

class arcgis.map.renderers.RotationType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

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.

arithmetic = 'arithmetic'
geographic = 'geographic'

SimpleRenderer

pydantic model arcgis.map.renderers.SimpleRenderer

A simple renderer is a renderer that uses one symbol only.

Show JSON schema
{
   "title": "SimpleRenderer",
   "description": "A simple renderer is a renderer that uses one symbol only.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Description of the renderer.",
         "title": "Description"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text string that is displayed in the table of contents.",
         "title": "Label"
      },
      "rotationExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.  Rotation is set using a visual variable of type `rotationInfo` with a specified `field` or `valueExpression` property",
         "title": "Rotationexpression"
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value which controls the origin and direction of rotation on point features. If the rotationType is defined as `arithmetic`, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
      },
      "symbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            }
         ],
         "description": "An object that represents how all features will be drawn.",
         "title": "Symbol"
      },
      "type": {
         "const": "simple",
         "default": "simple",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "simple"
         ],
         "title": "Type",
         "type": "string"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects used to set rendering properties.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "symbol"
   ]
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field description = None

Description of the renderer.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field label = None

The text string that is displayed in the table of contents.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_expression = None (alias 'rotationExpression')

A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it’s enclosed in square brackets. Rotation is set using a visual variable of type rotationInfo with a specified field or valueExpression property

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_type = None (alias 'rotationType')

String value which controls the origin and direction of rotation on point features. If the rotationType is defined as arithmetic, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field symbol [Required]

An object that represents how all features will be drawn.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field type = 'simple'

Specifies the type of renderer used.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field visual_variables = None (alias 'visualVariables')

An array of objects used to set rendering properties.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

Size

pydantic model arcgis.map.renderers.Size

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

Show JSON schema
{
   "title": "Size",
   "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
   "type": "object",
   "properties": {
      "expression": {
         "default": null,
         "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
         "title": "Expression",
         "type": "string"
      },
      "stops": {
         "description": "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.",
         "items": {
            "$ref": "#/$defs/SizeStop"
         },
         "title": "Stops",
         "type": "array"
      },
      "type": {
         "const": "sizeInfo",
         "default": "sizeInfo",
         "description": "Value indicating the type of rendering.",
         "enum": [
            "sizeInfo"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
         "title": "Valueexpression"
      }
   },
   "$defs": {
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      }
   },
   "required": [
      "stops"
   ]
}

field expression = None

The value which allows a size to be defined based on the map scale. Currently the only supported expression is view.scale.

field stops [Required]

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.

field type = 'sizeInfo'

Value indicating the type of rendering.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

SizeInfoVisualVariable

pydantic model arcgis.map.renderers.SizeInfoVisualVariable

The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify minSize and maxSize or stops to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.

Show JSON schema
{
   "title": "SizeInfoVisualVariable",
   "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
   "type": "object",
   "properties": {
      "expression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
         "title": "Expression"
      },
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for size rendering if no valueExpression is provided.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "maxDataValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum data value.",
         "title": "Maxdatavalue"
      },
      "maxSize": {
         "anyOf": [
            {
               "$ref": "#/$defs/Size"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
         "title": "Maxsize"
      },
      "minDataValue": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum data value.",
         "title": "Mindatavalue"
      },
      "minSize": {
         "anyOf": [
            {
               "$ref": "#/$defs/Size"
            },
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
         "title": "Minsize"
      },
      "normalizationField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used to normalize the data.",
         "title": "Normalizationfield"
      },
      "stops": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
         "title": "Stops"
      },
      "target": {
         "anyOf": [
            {
               "const": "outline",
               "enum": [
                  "outline"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Only used when sizeInfo is used for polygon outlines.",
         "title": "Target"
      },
      "type": {
         "const": "sizeInfo",
         "default": "sizeInfo",
         "description": "Specifies the type of visual variable.",
         "enum": [
            "sizeInfo"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      },
      "valueUnit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "unknown",
         "description": "A string value indicating the required unit of measurement.",
         "title": "Valueunit"
      }
   },
   "$defs": {
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      }
   }
}

field expression = None

Deprecated, please use valueExpression in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, view.scale.

field field = None

Attribute field used for size rendering if no valueExpression is provided.

field legend_options = None (alias 'legendOptions')
field max_data_value = None (alias 'maxDataValue')

The maximum data value.

field max_size = None (alias 'maxSize')

Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.

field min_data_value = None (alias 'minDataValue')

The minimum data value.

field min_size = None (alias 'minSize')

Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.

field normalization_field = None (alias 'normalizationField')

Attribute field used to normalize the data.

field stops = None

An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the value property in each stop. This property is required if minDataValue, maxDataValue, minSize, and maxSize are not defined. This property is also required when setting a size visual variable to the minSize or maxSize properties based on expression (e.g. expression: ‘view.scale’).

field target = None

Only used when sizeInfo is used for polygon outlines.

field type = 'sizeInfo'

Specifies the type of visual variable.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to $view.scale. This is used in combination with the target outline propery where the outline looks thinner at smaller scales and thicker at larger scales.

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

field value_unit = 'unknown' (alias 'valueUnit')

A string value indicating the required unit of measurement.

SizeStop

pydantic model arcgis.map.renderers.SizeStop

A sizeStop object describes the size of the symbol at various values of the expression.

Show JSON schema
{
   "title": "SizeStop",
   "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
   "type": "object",
   "properties": {
      "size": {
         "description": "Specifies the marker size to use for the specified value.",
         "title": "Size",
         "type": "number"
      },
      "value": {
         "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
         "title": "Value",
         "type": "number"
      }
   },
   "required": [
      "size",
      "value"
   ]
}

field size [Required]

Specifies the marker size to use for the specified value.

field value [Required]

The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.

StandardDeviationInterval

class arcgis.map.renderers.StandardDeviationInterval(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Use this property if the classificationMethod is esriClassifyStandardDeviation.

number_0_25 = 0.25
number_0_33 = 0.33
number_0_5 = 0.5
number_1 = 1

StretchRenderer

pydantic model arcgis.map.renderers.StretchRenderer

This renderer displays continuous raster cell values across a gradual ramp of colors. Use this renderer to draw a single band of continuous data. This renderer works well when you have a large range of values to display, such as with imagery or scientific data.

Show JSON schema
{
   "title": "StretchRenderer",
   "description": "This renderer displays continuous raster cell values across a gradual ramp of colors. Use this renderer to draw a single band of continuous data. This renderer works well when you have a large range of values to display, such as with imagery or scientific data.",
   "type": "object",
   "properties": {
      "colorRamp": {
         "anyOf": [
            {
               "$ref": "#/$defs/ColorRamp"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "computeGamma": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates if gamma values should be computed by default.",
         "title": "Computegamma"
      },
      "dra": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates if Dynamic Range Adjustment should be applied.",
         "title": "Dra"
      },
      "gamma": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "type": "array"
            },
            {
               "items": {
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The list of Gamma value(s).",
         "title": "Gamma"
      },
      "max": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The current maximum output value.",
         "title": "Max"
      },
      "maxPercent": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The current maximum percent value.",
         "title": "Maxpercent"
      },
      "min": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The current minimum output value.",
         "title": "Min"
      },
      "minPercent": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The current minimum percent value.",
         "title": "Minpercent"
      },
      "numberOfStandardDeviations": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The number of standard deviations for standard deviation stretch.",
         "title": "Numberofstandarddeviations"
      },
      "sigmoidStrengthLevel": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Set this from (1 to 6) to adjust the curvature of Sigmoid curve used in color stretch.",
         "title": "Sigmoidstrengthlevel"
      },
      "statistics": {
         "anyOf": [
            {
               "items": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The custom raster stretch statistics.",
         "title": "Statistics"
      },
      "stretchType": {
         "anyOf": [
            {
               "$ref": "#/$defs/StretchType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The stretch types for stretch raster function."
      },
      "type": {
         "anyOf": [
            {
               "const": "rasterStretch",
               "enum": [
                  "rasterStretch"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies the type of renderer used.",
         "title": "Type"
      },
      "useGamma": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates if the renderer applies Gamma stretch.",
         "title": "Usegamma"
      }
   },
   "$defs": {
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "StretchType": {
         "description": "The stretch types for stretch raster function.",
         "enum": [
            "histogramEqualization",
            "minMax",
            "none",
            "percentClip",
            "sigmoid",
            "standardDeviation"
         ],
         "title": "StretchType",
         "type": "string"
      }
   }
}

field color_ramp = None (alias 'colorRamp')
field compute_gamma = None (alias 'computeGamma')

Indicates if gamma values should be computed by default.

field dra = None

Indicates if Dynamic Range Adjustment should be applied.

field gamma = None

The list of Gamma value(s).

field max = None

The current maximum output value.

field max_percent = None (alias 'maxPercent')

The current maximum percent value.

field min = None

The current minimum output value.

field min_percent = None (alias 'minPercent')

The current minimum percent value.

field number_of_standard_deviations = None (alias 'numberOfStandardDeviations')

The number of standard deviations for standard deviation stretch.

field sigmoid_strength_level = None (alias 'sigmoidStrengthLevel')

Set this from (1 to 6) to adjust the curvature of Sigmoid curve used in color stretch.

field statistics = None

The custom raster stretch statistics.

field stretch_type = None (alias 'stretchType')

The stretch types for stretch raster function.

field type = None

Specifies the type of renderer used.

field use_gamma = None (alias 'useGamma')

Indicates if the renderer applies Gamma stretch.

StretchType

class arcgis.map.renderers.StretchType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The stretch types for stretch raster function.

histogram_equalization = 'histogramEqualization'
min_max = 'minMax'
none = 'none'
percent_clip = 'percentClip'
sigmoid = 'sigmoid'
standard_deviation = 'standardDeviation'

TemporalRenderer

pydantic model arcgis.map.renderers.TemporalRenderer

Temporal renderers provide time-based rendering of features in a feature layer. It can be useful to visualize historic or real-time data such as earthquake or hurricane occurrences. You can use a temporal renderer to define how observations (regular, historic, latest) and tracks are rendered. You can also show aging of features with respect to the map’s time extent.

Show JSON schema
{
   "title": "TemporalRenderer",
   "description": "Temporal renderers provide time-based rendering of features in a feature layer. It can be useful to visualize historic or real-time data such as earthquake or hurricane occurrences. You can use a temporal renderer to define how observations (regular, historic, latest) and tracks are rendered. You can also show aging of features with respect to the map's time extent.",
   "type": "object",
   "properties": {
      "latestObservationRenderer": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleRenderer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Simple renderer used to symbolize point geometries for the most current observations."
      },
      "observationalRenderer": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleRenderer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Simple renderer used to symbolize regular/historic observations."
      },
      "trackRenderer": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleRenderer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Simple renderer used to symbolize the tracks."
      },
      "type": {
         "anyOf": [
            {
               "const": "temporal",
               "enum": [
                  "temporal"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Specifies the type of renderer used.",
         "title": "Type"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "SimpleRenderer": {
         "description": "A simple renderer is a renderer that uses one symbol only.",
         "properties": {
            "authoringInfo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Description of the renderer.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text string that is displayed in the table of contents.",
               "title": "Label"
            },
            "rotationExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.  Rotation is set using a visual variable of type `rotationInfo` with a specified `field` or `valueExpression` property",
               "title": "Rotationexpression"
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value which controls the origin and direction of rotation on point features. If the rotationType is defined as `arithmetic`, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  }
               ],
               "description": "An object that represents how all features will be drawn.",
               "title": "Symbol"
            },
            "type": {
               "const": "simple",
               "default": "simple",
               "description": "Specifies the type of renderer used.",
               "enum": [
                  "simple"
               ],
               "title": "Type",
               "type": "string"
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/ColorInfoVisualVariable"
                           },
                           {
                              "$ref": "#/$defs/RotationInfoVisualVariable"
                           },
                           {
                              "$ref": "#/$defs/SizeInfoVisualVariable"
                           },
                           {
                              "$ref": "#/$defs/TransparencyInfoVisualVariable"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects used to set rendering properties.",
               "title": "Visualvariables"
            }
         },
         "required": [
            "symbol"
         ],
         "title": "SimpleRenderer",
         "type": "object"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   }
}

field latest_observation_renderer = None (alias 'latestObservationRenderer')

Simple renderer used to symbolize point geometries for the most current observations.

field observational_renderer = None (alias 'observationalRenderer')

Simple renderer used to symbolize regular/historic observations.

field track_renderer = None (alias 'trackRenderer')

Simple renderer used to symbolize the tracks.

field type = None

Specifies the type of renderer used.

Theme

class arcgis.map.renderers.Theme(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Theme to be used only when working with visual variables of type colorInfo or sizeInfo. Default is high-to-low. The centered-on, and extremes themes only apply to colorInfo visual variables.

above = 'above'
above_and_below = 'above-and-below'
below = 'below'
centered_on = 'centered-on'
extremes = 'extremes'
high_to_low = 'high-to-low'

TimeUnits

class arcgis.map.renderers.TimeUnits(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Units for startTime and endTime.

days = 'days'
hours = 'hours'
minutes = 'minutes'
months = 'months'
seconds = 'seconds'
years = 'years'

TrailCap

class arcgis.map.renderers.TrailCap(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The style of the streamline’s cap. The ‘round’ cap will only be applied if trailWidth is greater than 3pts.

butt = 'butt'
round = 'round'

TransparencyInfoVisualVariable

pydantic model arcgis.map.renderers.TransparencyInfoVisualVariable

The transparencyInfo visual variable defines the transparency, or opacity, of each feature’s symbol based on a numeric attribute field value.

Show JSON schema
{
   "title": "TransparencyInfoVisualVariable",
   "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
   "type": "object",
   "properties": {
      "field": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
         "title": "Field"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "normalizationField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field used to normalize the data.",
         "title": "Normalizationfield"
      },
      "stops": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/TransparencyStop"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of transparencyStop objects.",
         "title": "Stops"
      },
      "type": {
         "const": "transparencyInfo",
         "default": "transparencyInfo",
         "description": "Specifies the type of visual variable.",
         "enum": [
            "transparencyInfo"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      }
   },
   "$defs": {
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      }
   }
}

field field = None

Attribute field used for setting the transparency of a feature if no valueExpression is provided.

field legend_options = None (alias 'legendOptions')
field normalization_field = None (alias 'normalizationField')

Attribute field used to normalize the data.

field stops = None

An array of transparencyStop objects.

field type = 'transparencyInfo'

Specifies the type of visual variable.

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

TransparencyStop

pydantic model arcgis.map.renderers.TransparencyStop

The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the value property in each stop.

Show JSON schema
{
   "title": "TransparencyStop",
   "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
   "type": "object",
   "properties": {
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value used to label the stop in the legend.",
         "title": "Label"
      },
      "transparency": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "number"
            }
         ],
         "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
         "title": "Transparency"
      },
      "value": {
         "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
         "title": "Value",
         "type": "number"
      }
   },
   "required": [
      "transparency",
      "value"
   ]
}

field label = None

A string value used to label the stop in the legend.

field transparency [Required]

A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.

field value [Required]

The pixel intensity value. Describes the pixel intensity value that the color should be associated with.

UniqueValueClass

pydantic model arcgis.map.renderers.UniqueValueClass

The following is a list of properties found on the uniqueValueClass object. The uniqueValueClass object contains the symbology for grouped unique values in the renderer.

Show JSON schema
{
   "title": "UniqueValueClass",
   "description": "The following is a list of properties found on the uniqueValueClass object. The uniqueValueClass object contains the symbology for grouped unique values in the renderer.",
   "type": "object",
   "properties": {
      "alternateSymbols": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CimSymbolReference"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
         "title": "Alternatesymbols"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to describe the drawn symbol.",
         "title": "Description"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to label the drawn symbol.",
         "title": "Label"
      },
      "symbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            }
         ],
         "description": "An object used to display the value.",
         "title": "Symbol"
      },
      "values": {
         "description": "A list of unique values that should be rendered with the same symbol. Each item in the list represents a set of value combinations represented by the given symbol. The inner array must contain only one value if only field1 is specified, two values if field1 and field2 are specified, or three values if field1, field2, and field3 are specified. The inner arrays must not contain more than three values.",
         "items": {
            "items": {
               "type": "string"
            },
            "type": "array"
         },
         "title": "Values",
         "type": "array"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "symbol",
      "values"
   ]
}

field alternate_symbols = None (alias 'alternateSymbols')

An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map’s scale first before it iterates through alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol’s maximum scale and less than or equal to symbol’s minimum scale.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field description = None

String value used to describe the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field label = None

String value used to label the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field symbol [Required]

An object used to display the value.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field values [Required]

A list of unique values that should be rendered with the same symbol. Each item in the list represents a set of value combinations represented by the given symbol. The inner array must contain only one value if only field1 is specified, two values if field1 and field2 are specified, or three values if field1, field2, and field3 are specified. The inner arrays must not contain more than three values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

UniqueValueGroup

pydantic model arcgis.map.renderers.UniqueValueGroup

Represents a group of unique value classes (i.e. symbols). This is used to group symbols under a common heading and/or when representing multiple unique values with a single symbol.

Show JSON schema
{
   "title": "UniqueValueGroup",
   "description": "Represents a group of unique value classes (i.e. symbols). This is used to group symbols under a common heading and/or when representing multiple unique values with a single symbol.",
   "type": "object",
   "properties": {
      "classes": {
         "description": "Specifies the classes (i.e. symbols) to group under a common heading. Classes may be included here without a heading when representing multiple values with a single symbol.",
         "items": {
            "$ref": "#/$defs/UniqueValueClass"
         },
         "title": "Classes",
         "type": "array"
      },
      "heading": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The heading to be displayed for the collection of classes defined in this group.",
         "title": "Heading"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "UniqueValueClass": {
         "description": "The following is a list of properties found on the uniqueValueClass object. The uniqueValueClass object contains the symbology for grouped unique values in the renderer.",
         "properties": {
            "alternateSymbols": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CimSymbolReference"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
               "title": "Alternatesymbols"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to describe the drawn symbol.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to label the drawn symbol.",
               "title": "Label"
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  }
               ],
               "description": "An object used to display the value.",
               "title": "Symbol"
            },
            "values": {
               "description": "A list of unique values that should be rendered with the same symbol. Each item in the list represents a set of value combinations represented by the given symbol. The inner array must contain only one value if only field1 is specified, two values if field1 and field2 are specified, or three values if field1, field2, and field3 are specified. The inner arrays must not contain more than three values.",
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "symbol",
            "values"
         ],
         "title": "UniqueValueClass",
         "type": "object"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "classes"
   ]
}

field classes [Required]

Specifies the classes (i.e. symbols) to group under a common heading. Classes may be included here without a heading when representing multiple values with a single symbol.

field heading = None

The heading to be displayed for the collection of classes defined in this group.

UniqueValueInfo

pydantic model arcgis.map.renderers.UniqueValueInfo

The following is a list of properties found on the uniqueValueInfo object, which is one of the properties on the renderer object. The uniqueValueInfo object contains the symbology for each uniquely drawn value in the renderer.

Show JSON schema
{
   "title": "UniqueValueInfo",
   "description": "The following is a list of properties found on the uniqueValueInfo object, which is one of the properties on the renderer object. The uniqueValueInfo object contains the symbology for each uniquely drawn value in the renderer.",
   "type": "object",
   "properties": {
      "alternateSymbols": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CimSymbolReference"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
         "title": "Alternatesymbols"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to describe the drawn symbol.",
         "title": "Description"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value used to label the drawn symbol.",
         "title": "Label"
      },
      "symbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object used to display the value.",
         "title": "Symbol"
      },
      "value": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value indicating the unique value.",
         "title": "Value"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "$ref": "#/$defs/SimpleFillSymbolStyle"
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "$ref": "#/$defs/SimpleMarkerSymbolStyle"
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   }
}

field alternate_symbols = None (alias 'alternateSymbols')

An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map’s scale first before it iterates through alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol’s maximum scale and less than or equal to symbol’s minimum scale.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field description = None

String value used to describe the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field label = None

String value used to label the drawn symbol.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field symbol = None

An object used to display the value.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value = None

String value indicating the unique value.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

UniqueValueRenderer

pydantic model arcgis.map.renderers.UniqueValueRenderer

This renderer symbolizes features based on one or more matching string attributes.

Show JSON schema
{
   "title": "UniqueValueRenderer",
   "description": "This renderer symbolizes features based on one or more matching string attributes.",
   "type": "object",
   "properties": {
      "authoringInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/AuthoringInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it."
      },
      "backgroundFillSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers."
      },
      "defaultLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Default label for the default symbol used to draw unspecified values.",
         "title": "Defaultlabel"
      },
      "defaultSymbol": {
         "anyOf": [
            {
               "$ref": "#/$defs/CimSymbolReference"
            },
            {
               "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
            },
            {
               "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
            },
            {
               "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
            },
            {
               "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
            },
            {
               "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
            },
            {
               "$ref": "#/$defs/TextSymbolEsriTS"
            },
            {
               "$ref": "#/$defs/PointSymbol3D"
            },
            {
               "$ref": "#/$defs/LineSymbol3D"
            },
            {
               "$ref": "#/$defs/PolygonSymbol3D"
            },
            {
               "$ref": "#/$defs/MeshSymbol3D"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Symbol used when a value cannot be matched.",
         "title": "Defaultsymbol"
      },
      "drawInClassOrder": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": false,
         "description": "Indicates whether the order of the classes in the renderer definition should be used for the feature drawing order of the layer. If `orderBy` is set in the layerDefinition, then that will take precedence over this property.",
         "title": "Drawinclassorder"
      },
      "field1": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Attribute field renderer uses to match values.",
         "title": "Field1"
      },
      "field2": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "If needed, specify an additional attribute field the renderer uses to match values.",
         "title": "Field2"
      },
      "field3": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "If needed, specify an additional attribute field the renderer uses to match values.",
         "title": "Field3"
      },
      "fieldDelimiter": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": ", ",
         "description": "String inserted between the values if multiple attribute fields are specified.",
         "title": "Fielddelimiter"
      },
      "legendOptions": {
         "anyOf": [
            {
               "$ref": "#/$defs/LegendOptions"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Allows the user to override the layer title with a more descriptive title of the renderer."
      },
      "rotationExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.  Rotation is set using a visual variable of type `rotationInfo` with a specified `field` or `valueExpression` property.",
         "title": "Rotationexpression"
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String property which controls the origin and direction of rotation. If the rotationType is defined as `arithmetic` the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
      },
      "type": {
         "const": "uniqueValue",
         "default": "uniqueValue",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "uniqueValue"
         ],
         "title": "Type",
         "type": "string"
      },
      "uniqueValueGroups": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/UniqueValueGroup"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of uniqueValueGroup objects. If present, then `uniqueValueGroups` should be used in favor of `uniqueValueInfos`.",
         "title": "Uniquevaluegroups"
      },
      "uniqueValueInfos": {
         "description": "An array of uniqueValueInfo objects. If `uniqueValueGroups` is present, then this property should be ignored during webmap reading. In the future, this property will be deprecated and eventually removed.",
         "items": {
            "$ref": "#/$defs/UniqueValueInfo"
         },
         "title": "Uniquevalueinfos",
         "type": "array"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.",
         "title": "Valueexpression"
      },
      "valueExpressionTitle": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
         "title": "Valueexpressiontitle"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects used to set rendering properties.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "Anchor": {
         "enum": [
            "bottom",
            "bottomLeft",
            "bottomRight",
            "center",
            "left",
            "origin",
            "relative",
            "right",
            "top",
            "topLeft",
            "topRight"
         ],
         "title": "Anchor",
         "type": "string"
      },
      "AuthoringInfo": {
         "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it. Properties for color/size/transparency sliders, theme selection, classification information, and additional properties are saved within this object.",
         "properties": {
            "classificationMethod": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassificationMethod"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriClassifyManual",
               "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only."
            },
            "colorRamp": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRamp"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fadeRatio": {
               "anyOf": [
                  {
                     "maximum": 1.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The degree with which to fade colors in a `heatmap`. A value of `0` indicates all color stops in the heatmap have an alpha of 1. A value of `1` indicates the color stop representing the highest density has an alpha value of 1, but all other color stops decrease in opacity significantly. Values between 0 and 1 will result in less transparent alpha values for each color stop. When the renderer is persisted, these alpha values will be persisted in the renderer's color stops.",
               "title": "Faderatio"
            },
            "field1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "field2": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoField"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fields": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of string values representing field names used for creating predominance renderers.",
               "title": "Fields"
            },
            "flowTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FlowTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `flow`."
            },
            "focus": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Focus"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square."
            },
            "isAutoGenerated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only applicable to FeatureReductionCluster renderers. Indicates whether the renderer was automatically created internally in behalf of the user by the JS API's rendering engine. When a user manually creates a FeatureReductionCluster renderer, this option should be ignored.",
               "title": "Isautogenerated"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the maximum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.",
               "title": "Minslidervalue"
            },
            "numClasses": {
               "anyOf": [
                  {
                     "maximum": 4,
                     "minimum": 2,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Number of classes to be associated with the relationship. Used for Relationship renderer.",
               "title": "Numclasses"
            },
            "standardDeviationInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StandardDeviationInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`."
            },
            "statistics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AuthoringInfoStatistics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Statistics used by the legend to avoid representing data values that are beyond the dataset max and min. Only applies to renderers of type `univariateColorSize` with an 'above-and-below' `univariateTheme`."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RendererType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "univariateSymbolStyle": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application."
            },
            "univariateTheme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/UnivariateTheme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with renderers of type `univariateColorSize`."
            },
            "visualVariables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoVisualVariable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of visualVariable objects containing additional information needed when authoring the renderer.",
               "title": "Visualvariables"
            }
         },
         "title": "AuthoringInfo",
         "type": "object"
      },
      "AuthoringInfoClassBreakInfo": {
         "description": "The classBreaksInfo object provides information about the class breaks associated with the Relationship renderer.",
         "properties": {
            "maxValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the maximum value for a break.",
               "title": "Maxvalue"
            },
            "minValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value used to specify the minimum value for a break.",
               "title": "Minvalue"
            }
         },
         "title": "AuthoringInfoClassBreakInfo",
         "type": "object"
      },
      "AuthoringInfoField": {
         "description": "Contains information about an attribute field relating to Relationship renderers.",
         "properties": {
            "classBreakInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/AuthoringInfoClassBreakInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Classbreakinfos"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for renderer.",
               "title": "Field"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The label used to describe the field or attribute in the legend.",
               "title": "Label"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            }
         },
         "title": "AuthoringInfoField",
         "type": "object"
      },
      "AuthoringInfoStatistics": {
         "description": "Statistics queried from the layer to be used by the legend. The statistics can be used by the legend to avoid displaying data values that fall outside the data range despite the renderer's configuration. Only applies to `univariateColorSize` styles with an `above-and-below` `univariateTheme`.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value of the data represented by the renderer.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value of the data represented by the renderer.",
               "title": "Min"
            }
         },
         "title": "AuthoringInfoStatistics",
         "type": "object"
      },
      "AuthoringInfoVisualVariable": {
         "description": "This visual variable pertains specifically to authoringInfo and is different from visual variables directly on the renderer.",
         "properties": {
            "endTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Endtime"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The attribute field.",
               "title": "Field"
            },
            "maxSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the maximum value displayed.",
               "title": "Maxslidervalue"
            },
            "minSliderValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value indicating the minimum value displayed.",
               "title": "Minslidervalue"
            },
            "startTime": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A Unix time stamp. Both `start_time` or `end_time` can be fields. If this is the case, their names must be different.",
               "title": "Starttime"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RatioStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage."
            },
            "theme": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Theme"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables."
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VisualVariableType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value specifying the type of renderer's visual variable."
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Units for `start_time` and `end_time`."
            }
         },
         "title": "AuthoringInfoVisualVariable",
         "type": "object"
      },
      "Border": {
         "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "required": [
            "color"
         ],
         "title": "Border",
         "type": "object"
      },
      "Callout": {
         "description": "Callout configuration for a symbol.",
         "properties": {
            "border": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Border"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "color": {
               "description": "The color of the line.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "size": {
               "description": "The width of the line in points.",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "line",
               "default": "line",
               "description": "The type of the callout. A callout of type `line` connects an offset symbol or label with its location.",
               "enum": [
                  "line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color",
            "size"
         ],
         "title": "Callout",
         "type": "object"
      },
      "CimSymbolReference": {
         "additionalProperties": true,
         "description": "Represents a symbol reference that contains a CIM symbol. In addition to `type` listed below, a symbol reference will contain additional properties.",
         "properties": {
            "type": {
               "const": "CIMSymbolReference",
               "default": "CIMSymbolReference",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "CIMSymbolReference"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "CimSymbolReference",
         "type": "object"
      },
      "ClassificationMethod": {
         "description": "Used for classed color or size. The default value is `esriClassifyManual`. The `esriClassifyDefinedInterval` method is only applicable to raster class breaks renderer only.",
         "enum": [
            "esriClassifyDefinedInterval",
            "esriClassifyEqualInterval",
            "esriClassifyManual",
            "esriClassifyNaturalBreaks",
            "esriClassifyQuantile",
            "esriClassifyStandardDeviation"
         ],
         "title": "ClassificationMethod",
         "type": "string"
      },
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorRamp": {
         "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols.",
         "properties": {
            "algorithm": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RampAlgorithm"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Algorithm used for calculating the ramp."
            },
            "colorRamps": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorRamp"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A multipart color ramp is defined by a list of constituent color ramps.",
               "title": "Colorramps"
            },
            "fromColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the initial color to start the ramp from.",
               "title": "Fromcolor"
            },
            "toColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array representing the final color to end the ramp with.",
               "title": "Tocolor"
            },
            "type": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ColorRampType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value indicating the type of colorRamp."
            }
         },
         "title": "ColorRamp",
         "type": "object"
      },
      "ColorRampType": {
         "description": "Value indicating the type of colorRamp.",
         "enum": [
            "algorithmic",
            "multipart"
         ],
         "title": "ColorRampType",
         "type": "string"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "Decoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "Decoration",
         "type": "string"
      },
      "ExtrudeSymbol3DLayer": {
         "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Extrusion height in meters.",
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Extrude",
               "default": "Extrude",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Extrude"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "ExtrudeSymbol3DLayer",
         "type": "object"
      },
      "FillSymbol3DLayer": {
         "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.",
         "properties": {
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries (only applies to MeshSymbol3D).",
               "title": "Castshadows"
            },
            "edges": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SketchEdges"
                  },
                  {
                     "$ref": "#/$defs/SolidEdges"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies an edge visualization style (only applies to MeshSymbol3D). Edges describe the style applied to visually important edges of 3D objects.",
               "title": "Edges"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__2"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The outline of the symbol layer (only applies to PolygonSymbol3D)."
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Pattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Fill",
               "default": "Fill",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Fill"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FillSymbol3DLayer",
         "type": "object"
      },
      "FlowTheme": {
         "description": "Theme to be used only when working with renderers of type `flow`.",
         "enum": [
            "flow-line",
            "wave-front"
         ],
         "title": "FlowTheme",
         "type": "string"
      },
      "Focus": {
         "description": "Optional. Used for Relationship renderer. If not set, the legend will default to being square.",
         "enum": [
            "HH",
            "HL",
            "LH",
            "LL"
         ],
         "title": "Focus",
         "type": "string"
      },
      "Font": {
         "description": "Font used for text symbols.",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Decoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "none",
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points. Ignored when font is used on TextSymbol3DLayer.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Style"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Weight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "normal",
               "description": "The text weight."
            }
         },
         "title": "Font",
         "type": "object"
      },
      "Halo": {
         "description": "Halo definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Width of the halo in points.",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Halo",
         "type": "object"
      },
      "HorizontalAlignment": {
         "description": "One of the following string values representing the horizontal alignment of the text.",
         "enum": [
            "center",
            "justify",
            "left",
            "right"
         ],
         "title": "HorizontalAlignment",
         "type": "string"
      },
      "IconSymbol3DLayer": {
         "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center"
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 2,
                     "minItems": 2,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
               "title": "Anchorposition"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/arcgis__map__symbols__Outline__1"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets properties of the outline of the IconSymbol3DLayer."
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/IconSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The shape (primitive) or image URL (href) used to visualize the features.",
               "title": "IconSymbol3DLayer Resource"
            },
            "size": {
               "description": "Icon size in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Icon",
               "default": "Icon",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Icon"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "IconSymbol3DLayer",
         "type": "object"
      },
      "IconSymbol3DLayerResource": {
         "description": "The shape (primitive) or image URL (href) used to visualize the features.",
         "properties": {
            "dataURI": {
               "anyOf": [
                  {
                     "pattern": "^data:image/(.|\\n|\\r)+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "an image encoded as base64 string, starting with `data:image/`",
               "title": "Datauri"
            },
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to the returned image.",
               "title": "Href"
            },
            "primitive": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Primitive"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the type of symbol used."
            }
         },
         "title": "IconSymbol3DLayerResource",
         "type": "object"
      },
      "Join": {
         "description": "Shape of the intersection of two line segments.",
         "enum": [
            "bevel",
            "miter",
            "round"
         ],
         "title": "Join",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "LineCap": {
         "description": "Shape of the tips at the start and end of each line geometry. This also applies to the tips of each pattern segment along the line.",
         "enum": [
            "butt",
            "round",
            "square"
         ],
         "title": "LineCap",
         "type": "string"
      },
      "LineMarker": {
         "description": "Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An option to color the markers differently from the line. By default the markers inherit the line's color.",
               "title": "color"
            },
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Placement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker."
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of marker applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "LineMarker",
         "type": "object"
      },
      "LinePattern": {
         "description": "A pattern used to render a line.",
         "properties": {
            "style": {
               "$ref": "#/$defs/LineStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to a line.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "LinePattern",
         "type": "object"
      },
      "LineStyle": {
         "description": "String value representing the pattern used to render a line.",
         "enum": [
            "dash",
            "dash-dot",
            "dash-dot-dot",
            "dot",
            "long-dash",
            "long-dash-dot",
            "null",
            "short-dash",
            "short-dash-dot",
            "short-dash-dot-dot",
            "short-dot",
            "solid"
         ],
         "title": "LineStyle",
         "type": "string"
      },
      "LineSymbol3D": {
         "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/PathSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "LineSymbol3D",
               "default": "LineSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "LineSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "LineSymbol3D",
         "type": "object"
      },
      "LineSymbol3DLayer": {
         "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.",
         "properties": {
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineMarker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "description": "Line width in points, positive only",
               "minimum": 0.0,
               "title": "Size",
               "type": "number"
            },
            "type": {
               "const": "Line",
               "default": "Line",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Line"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "size"
         ],
         "title": "LineSymbol3DLayer",
         "type": "object"
      },
      "Marker": {
         "description": "Represents markers placed along the line. Markers will have the same color as the line, and their size will be proportional to the width of the line.",
         "properties": {
            "placement": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/MarkerPlacement"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates where the marker is placed."
            },
            "style": {
               "anyOf": [
                  {
                     "const": "arrow",
                     "enum": [
                        "arrow"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Style of the marker.",
               "title": "Style"
            }
         },
         "title": "Marker",
         "type": "object"
      },
      "MarkerPlacement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "MarkerPlacement",
         "type": "string"
      },
      "MarkerStyle": {
         "description": "Style of the marker.",
         "enum": [
            "arrow",
            "circle",
            "cross",
            "diamond",
            "square",
            "x"
         ],
         "title": "MarkerStyle",
         "type": "string"
      },
      "Material": {
         "description": "The material used to shade the geometry.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity). Ignored if no color is specified.",
               "title": "Transparency"
            }
         },
         "title": "Material",
         "type": "object"
      },
      "MeshSymbol3D": {
         "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "$ref": "#/$defs/FillSymbol3DLayer"
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "MeshSymbol3D",
               "default": "MeshSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "MeshSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "MeshSymbol3D",
         "type": "object"
      },
      "ObjectSymbol3DLayer": {
         "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a Symbol3D in a SceneView.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "origin",
               "description": "The positioning of the object relative to the geometry."
            },
            "anchorPosition": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "maxItems": 3,
                     "minItems": 3,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "When `anchor` equals `relative`, this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
               "title": "Anchorposition"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "depth": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object depth in meters, positive only",
               "title": "Depth"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Z axis in degrees. At 0 degrees, the model points in the direction of the Y-axis. Positive values indicate clockwise rotation (when looked at from the top). [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Heading"
            },
            "height": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object height in meters, positive only",
               "title": "Height"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "resource": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ObjectSymbol3DLayerResource"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
               "title": "ObjectSymbol3DLayer Resource"
            },
            "roll": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around Y axis in degrees. At 0 degrees, the model is level. A positive value lifts the left part and lowers the right part of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Roll"
            },
            "tilt": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Rotation angle around X axis in degrees. At 0 degrees, the model is level. A positive value lifts the front and lowers the back of the model. [Detailed description](static/objectSymbolLayerOrientation.md).",
               "title": "Tilt"
            },
            "type": {
               "const": "Object",
               "default": "Object",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Object"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Object width in meters, positive only",
               "title": "Width"
            }
         },
         "title": "ObjectSymbol3DLayer",
         "type": "object"
      },
      "ObjectSymbol3DLayerResource": {
         "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.",
         "properties": {
            "href": {
               "anyOf": [
                  {
                     "pattern": "^https?://.+$",
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Href"
            },
            "primitive": {
               "$ref": "#/$defs/Primitive"
            }
         },
         "required": [
            "primitive"
         ],
         "title": "ObjectSymbol3DLayerResource",
         "type": "object"
      },
      "PathCap": {
         "description": "Shape of the tips at the start and end of each path geometry.",
         "enum": [
            "butt",
            "none",
            "round",
            "square"
         ],
         "title": "PathCap",
         "type": "string"
      },
      "PathSymbol3DLayer": {
         "description": "PathSymbol3DLayer renders polyline geometries by extruding a 2D profile along the line, resulting in visualizations like tubes, walls, etc.",
         "properties": {
            "anchor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Anchor"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "The position of the extrusion profile with respect to the polyline geometry."
            },
            "cap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PathCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "castShadows": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
               "title": "Castshadows"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "height": {
               "description": "Path height in meters. If unspecified, it is equal to `width`.",
               "minimum": 0.0,
               "title": "Height",
               "type": "number"
            },
            "join": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Join"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "miter",
               "description": "Shape of the intersection of two line segments."
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "profile": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Profile"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "circle",
               "description": "The shape which is extruded along the line."
            },
            "profileRotation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ProfileRotation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "all",
               "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions."
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path size (diameter) in meters. Ignored if either `width` or `height` are present.",
               "title": "Size"
            },
            "type": {
               "const": "Path",
               "default": "Path",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Path"
               ],
               "title": "Type",
               "type": "string"
            },
            "width": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path width in meters. If unspecified, it is equal to `height`.",
               "title": "Width"
            }
         },
         "required": [
            "height"
         ],
         "title": "PathSymbol3DLayer",
         "type": "object"
      },
      "Pattern": {
         "description": "The pattern used to render the fill of the polygon (only applies to PolygonSymbol3D).",
         "properties": {
            "style": {
               "$ref": "#/$defs/PolygonStyle"
            },
            "type": {
               "const": "style",
               "default": "style",
               "description": "The type of pattern applied to the polygon fill.",
               "enum": [
                  "style"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "Pattern",
         "type": "object"
      },
      "PictureFillSymbolsEsriPFS": {
         "description": "Picture fill symbols can be used to symbolize polygon geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the symbol."
            },
            "type": {
               "const": "esriPFS",
               "default": "esriPFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPFS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "xscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in x direction.",
               "title": "Xscale"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            },
            "yscale": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the scale factor in y direction.",
               "title": "Yscale"
            }
         },
         "title": "PictureFillSymbolsEsriPFS",
         "type": "object"
      },
      "PictureMarkerSymbolEsriPMS": {
         "description": "Picture marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "contentType": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the content type for the image.",
               "title": "Contenttype"
            },
            "height": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Height"
            },
            "imageData": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the base64 encoded data.",
               "title": "Imagedata"
            },
            "type": {
               "const": "esriPMS",
               "default": "esriPMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriPMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "url": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
               "title": "Url"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
               "title": "Width"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "title": "PictureMarkerSymbolEsriPMS",
         "type": "object"
      },
      "Placement": {
         "description": "Indicates where the marker is placed.",
         "enum": [
            "begin",
            "begin-end",
            "end"
         ],
         "title": "Placement",
         "type": "string"
      },
      "PointSymbol3D": {
         "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.",
         "properties": {
            "callout": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Callout"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PointSymbol3D",
               "default": "PointSymbol3D",
               "description": "Specifies the type of symbol used",
               "enum": [
                  "PointSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalOffset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalOffset"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PointSymbol3D",
         "type": "object"
      },
      "PolygonStyle": {
         "description": "String value representing predefined styles that can be set as polygon fills.",
         "enum": [
            "backward-diagonal",
            "cross",
            "diagonal-cross",
            "forward-diagonal",
            "horizontal",
            "none",
            "solid",
            "vertical"
         ],
         "title": "PolygonStyle",
         "type": "string"
      },
      "PolygonSymbol3D": {
         "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.",
         "properties": {
            "styleOrigin": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/StyleOrigin"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
               "title": "styleOrigin"
            },
            "symbolLayers": {
               "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ExtrudeSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/FillSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/IconSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/LineSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/ObjectSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/TextSymbol3DLayer"
                     },
                     {
                        "$ref": "#/$defs/WaterSymbol3DLayer"
                     }
                  ]
               },
               "title": "Symbollayers",
               "type": "array"
            },
            "type": {
               "const": "PolygonSymbol3D",
               "default": "PolygonSymbol3D",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "PolygonSymbol3D"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "symbolLayers"
         ],
         "title": "PolygonSymbol3D",
         "type": "object"
      },
      "Primitive": {
         "enum": [
            "cone",
            "cube",
            "cylinder",
            "diamond",
            "invertedCone",
            "sphere",
            "tetrahedron",
            "circle",
            "cross",
            "kite",
            "square",
            "triangle",
            "x"
         ],
         "title": "Primitive",
         "type": "string"
      },
      "Profile": {
         "description": "The shape which is extruded along the line.",
         "enum": [
            "circle",
            "quad"
         ],
         "title": "Profile",
         "type": "string"
      },
      "ProfileRotation": {
         "description": "Specifies the axes about which the profile may be rotated at the joins. Constraining the rotation axes leads to a fixed orientation of the profile for the specified directions.",
         "enum": [
            "all",
            "heading"
         ],
         "title": "ProfileRotation",
         "type": "string"
      },
      "RampAlgorithm": {
         "description": "Algorithm used for calculating the ramp.",
         "enum": [
            "esriCIELabAlgorithm",
            "esriHSVAlgorithm",
            "esriLabLChAlgorithm"
         ],
         "title": "RampAlgorithm",
         "type": "string"
      },
      "RatioStyle": {
         "description": "It is used to map the ratio between two numbers. It is possible to express that relationship as percentages, simple ratios, or an overall percentage.",
         "enum": [
            "percent",
            "percentTotal",
            "ratio"
         ],
         "title": "RatioStyle",
         "type": "string"
      },
      "RendererType": {
         "enum": [
            "classedColor",
            "classedSize",
            "dotDensity",
            "flow",
            "predominance",
            "relationship",
            "univariateColorSize"
         ],
         "title": "RendererType",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "SimpleFillSymbolEsriSFS": {
         "description": "Simple fill symbols that can be used to symbolize polygon geometries.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the fill symbol."
            },
            "style": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SimpleFillSymbolStyle"
                  }
               ],
               "description": "String value representing the simple fill symbol type."
            },
            "type": {
               "const": "esriSFS",
               "default": "esriSFS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSFS"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "style"
         ],
         "title": "SimpleFillSymbolEsriSFS",
         "type": "object"
      },
      "SimpleFillSymbolStyle": {
         "description": "String value representing the simple fill symbol type.",
         "enum": [
            "esriSFSBackwardDiagonal",
            "esriSFSCross",
            "esriSFSDiagonalCross",
            "esriSFSForwardDiagonal",
            "esriSFSHorizontal",
            "esriSFSNull",
            "esriSFSSolid",
            "esriSFSVertical"
         ],
         "title": "SimpleFillSymbolStyle",
         "type": "string"
      },
      "SimpleLineSymbolEsriSLS": {
         "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Color"
            },
            "marker": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Marker"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value representing the simple line symbol type."
            },
            "type": {
               "anyOf": [
                  {
                     "const": "esriSLS",
                     "enum": [
                        "esriSLS"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "esriSLS",
               "description": "Specifies the type of symbol used.",
               "title": "Type"
            },
            "width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the width of the line in points.",
               "title": "Width"
            }
         },
         "title": "SimpleLineSymbolEsriSLS",
         "type": "object"
      },
      "SimpleLineSymbolStyle": {
         "description": "String value representing the simple line symbol type.",
         "enum": [
            "esriSLSDash",
            "esriSLSDashDot",
            "esriSLSDashDotDot",
            "esriSLSDot",
            "esriSLSLongDash",
            "esriSLSLongDashDot",
            "esriSLSNull",
            "esriSLSShortDash",
            "esriSLSShortDashDot",
            "esriSLSShortDashDotDot",
            "esriSLSShortDot",
            "esriSLSSolid"
         ],
         "title": "SimpleLineSymbolStyle",
         "type": "string"
      },
      "SimpleMarkerSymbolEsriSMS": {
         "description": "Simple marker symbols can be used to symbolize point geometries.",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
               "title": "Angle"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "outline": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Sets the outline of the marker symbol."
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric size of the symbol given in points.",
               "title": "Size"
            },
            "style": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolStyle"
                  }
               ],
               "description": "String value representing the simple marker type."
            },
            "type": {
               "const": "esriSMS",
               "default": "esriSMS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriSMS"
               ],
               "title": "Type",
               "type": "string"
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color",
            "style"
         ],
         "title": "SimpleMarkerSymbolEsriSMS",
         "type": "object"
      },
      "SimpleMarkerSymbolStyle": {
         "description": "String value representing the simple marker type.",
         "enum": [
            "esriSMSCircle",
            "esriSMSCross",
            "esriSMSDiamond",
            "esriSMSSquare",
            "esriSMSTriangle",
            "esriSMSX"
         ],
         "title": "SimpleMarkerSymbolStyle",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "SketchEdges": {
         "description": "The sketch edge rendering configuration of a symbol layer. Edges of type `sketch` are rendered with a hand-drawn look in mind.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "sketch",
               "default": "sketch",
               "description": "The type of edge visualization.",
               "enum": [
                  "sketch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SketchEdges",
         "type": "object"
      },
      "SolidEdges": {
         "description": "The solid edge rendering configuration of a symbol layer. Edges of type `solid` are rendered in a single color, unaffected by scene lighting.",
         "properties": {
            "color": {
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "color",
               "type": "array"
            },
            "extensionLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A size in points by which to extend edges beyond their original end points.",
               "title": "Extensionlength"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Edge size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            },
            "type": {
               "const": "solid",
               "default": "solid",
               "description": "The type of edge visualization.",
               "enum": [
                  "solid"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "color"
         ],
         "title": "SolidEdges",
         "type": "object"
      },
      "StandardDeviationInterval": {
         "description": "Use this property if the classificationMethod is `esriClassifyStandardDeviation`.",
         "enum": [
            0.25,
            0.33,
            0.5,
            1
         ],
         "title": "StandardDeviationInterval"
      },
      "Style": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "Style",
         "type": "string"
      },
      "StyleOrigin": {
         "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol.",
         "properties": {
            "name": {
               "description": "Identifies a symbol in the style by name.",
               "title": "Name",
               "type": "string"
            },
            "styleName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A registered web style name, such as `EsriThematicShapesStyle`",
               "title": "Stylename"
            },
            "styleUrl": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "pattern": "^\\./.+$",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "URL to a style definition.",
               "title": "Styleurl"
            }
         },
         "required": [
            "name"
         ],
         "title": "StyleOrigin",
         "type": "object"
      },
      "TextBackground": {
         "description": "Text background definition.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A value between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "TextBackground",
         "type": "object"
      },
      "TextDecoration": {
         "description": "The text decoration.",
         "enum": [
            "line-through",
            "none",
            "underline"
         ],
         "title": "TextDecoration",
         "type": "string"
      },
      "TextFont": {
         "description": "Font used for text symbols",
         "properties": {
            "decoration": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextDecoration"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text decoration."
            },
            "family": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font family.",
               "title": "Family"
            },
            "size": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The font size in points.",
               "title": "Size"
            },
            "style": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextStyle"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text style."
            },
            "weight": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextWeight"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text weight."
            }
         },
         "title": "TextFont",
         "type": "object"
      },
      "TextStyle": {
         "description": "The text style.",
         "enum": [
            "italic",
            "normal",
            "oblique"
         ],
         "title": "TextStyle",
         "type": "string"
      },
      "TextSymbol3DLayer": {
         "description": "Symbol layer for text and font definitions.",
         "properties": {
            "background": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextBackground"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Font"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "halo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Halo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "center",
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "lineHeight": {
               "anyOf": [
                  {
                     "maximum": 4.0,
                     "minimum": 0.1,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1,
               "description": "Multiplier to scale the vertical distance between the baselines of text with multiple lines.",
               "title": "Lineheight"
            },
            "material": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Material"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Font size in points, positive only",
               "title": "Size"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text content in the label. Typically this property is not set, as text content is read from labeling field.",
               "title": "Text"
            },
            "type": {
               "const": "Text",
               "default": "Text",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Text"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "baseline",
               "description": "One of the following string values representing the vertical alignment of the text."
            }
         },
         "title": "TextSymbol3DLayer",
         "type": "object"
      },
      "TextSymbolEsriTS": {
         "description": "Text symbols are used to add text to a feature (labeling).",
         "properties": {
            "angle": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0\ufffd axis.",
               "title": "Angle"
            },
            "backgroundColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Background color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Backgroundcolor"
            },
            "borderLineColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Borderline color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "Borderlinecolor"
            },
            "borderLineSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the the size of the border line in points.",
               "title": "Borderlinesize"
            },
            "color": {
               "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "font": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFont"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object specifying the font used for the text symbol."
            },
            "haloColor": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color of the halo around the text.",
               "title": "Halocolor"
            },
            "haloSize": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the point size of a halo around the text symbol.",
               "title": "Halosize"
            },
            "horizontalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/HorizontalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the horizontal alignment of the text."
            },
            "kerning": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
               "title": "Kerning"
            },
            "rightToLeft": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
               "title": "Righttoleft"
            },
            "rotated": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Boolean value indicating whether every character in the text string is rotated.",
               "title": "Rotated"
            },
            "text": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "only applicable when specified as a client-side graphic.",
               "title": "Text"
            },
            "type": {
               "const": "esriTS",
               "default": "esriTS",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "esriTS"
               ],
               "title": "Type",
               "type": "string"
            },
            "verticalAlignment": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VerticalAlignment"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "One of the following string values representing the vertical alignment of the text."
            },
            "xoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the x-axis in points.",
               "title": "Xoffset"
            },
            "yoffset": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Numeric value indicating the offset on the y-axis in points.",
               "title": "Yoffset"
            }
         },
         "required": [
            "color"
         ],
         "title": "TextSymbolEsriTS",
         "type": "object"
      },
      "TextWeight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "TextWeight",
         "type": "string"
      },
      "Theme": {
         "description": "Theme to be used only when working with visual variables of type `colorInfo` or `sizeInfo`. Default is `high-to-low`. The `centered-on`, and `extremes` themes only apply to `colorInfo` visual variables.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "centered-on",
            "extremes",
            "high-to-low"
         ],
         "title": "Theme",
         "type": "string"
      },
      "TimeUnits": {
         "description": "Units for `startTime` and `endTime`.",
         "enum": [
            "days",
            "hours",
            "minutes",
            "months",
            "seconds",
            "years"
         ],
         "title": "TimeUnits",
         "type": "string"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "UniqueValueClass": {
         "description": "The following is a list of properties found on the uniqueValueClass object. The uniqueValueClass object contains the symbology for grouped unique values in the renderer.",
         "properties": {
            "alternateSymbols": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CimSymbolReference"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
               "title": "Alternatesymbols"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to describe the drawn symbol.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to label the drawn symbol.",
               "title": "Label"
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  }
               ],
               "description": "An object used to display the value.",
               "title": "Symbol"
            },
            "values": {
               "description": "A list of unique values that should be rendered with the same symbol. Each item in the list represents a set of value combinations represented by the given symbol. The inner array must contain only one value if only field1 is specified, two values if field1 and field2 are specified, or three values if field1, field2, and field3 are specified. The inner arrays must not contain more than three values.",
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "symbol",
            "values"
         ],
         "title": "UniqueValueClass",
         "type": "object"
      },
      "UniqueValueGroup": {
         "description": "Represents a group of unique value classes (i.e. symbols). This is used to group symbols under a common heading and/or when representing multiple unique values with a single symbol.",
         "properties": {
            "classes": {
               "description": "Specifies the classes (i.e. symbols) to group under a common heading. Classes may be included here without a heading when representing multiple values with a single symbol.",
               "items": {
                  "$ref": "#/$defs/UniqueValueClass"
               },
               "title": "Classes",
               "type": "array"
            },
            "heading": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The heading to be displayed for the collection of classes defined in this group.",
               "title": "Heading"
            }
         },
         "required": [
            "classes"
         ],
         "title": "UniqueValueGroup",
         "type": "object"
      },
      "UniqueValueInfo": {
         "description": "The following is a list of properties found on the uniqueValueInfo object, which is one of the properties on the renderer object. The uniqueValueInfo object contains the symbology for each uniquely drawn value in the renderer.",
         "properties": {
            "alternateSymbols": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CimSymbolReference"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of symbol alternatives to a primary symbol. When alternative symbols are present, each symbol has minimum scale and maximum scale at which the symbol should be made visible. For any renderer that support alternate symbols, there is a primary symbol that has minimum and maximum scale defined. When rendering these renderer classes, the renderer should pick only one symbol at a given map scale for a given renderer class. The order of picking a symbol should be starting with primary symbol to check if it falls within the map's scale first before it iterates through  alternate symbols in the array starting from 0. The renderer will then pick the first symbol that is visible at current map scale. A symbol is visible if the map scale is greater than symbol's maximum scale and less than or equal to symbol's minimum scale.",
               "title": "Alternatesymbols"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to describe the drawn symbol.",
               "title": "Description"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value used to label the drawn symbol.",
               "title": "Label"
            },
            "symbol": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CimSymbolReference"
                  },
                  {
                     "$ref": "#/$defs/PictureFillSymbolsEsriPFS"
                  },
                  {
                     "$ref": "#/$defs/PictureMarkerSymbolEsriPMS"
                  },
                  {
                     "$ref": "#/$defs/SimpleFillSymbolEsriSFS"
                  },
                  {
                     "$ref": "#/$defs/SimpleLineSymbolEsriSLS"
                  },
                  {
                     "$ref": "#/$defs/SimpleMarkerSymbolEsriSMS"
                  },
                  {
                     "$ref": "#/$defs/TextSymbolEsriTS"
                  },
                  {
                     "$ref": "#/$defs/PointSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/LineSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/PolygonSymbol3D"
                  },
                  {
                     "$ref": "#/$defs/MeshSymbol3D"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An object used to display the value.",
               "title": "Symbol"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "String value indicating the unique value.",
               "title": "Value"
            }
         },
         "title": "UniqueValueInfo",
         "type": "object"
      },
      "UnivariateSymbolStyle": {
         "description": "Symbol style or symbol pair used when creating a renderer of type `univariateColorSize` with an `above-and-below` univariateTheme. The `custom` style indicates the renderer uses a custom symbol pair not provided by the authoring application.",
         "enum": [
            "arrow",
            "caret",
            "circle",
            "circle-arrow",
            "circle-caret",
            "circle-plus-minus",
            "custom",
            "happy-sad",
            "plus-minus",
            "square",
            "thumb",
            "triangle"
         ],
         "title": "UnivariateSymbolStyle",
         "type": "string"
      },
      "UnivariateTheme": {
         "description": "Theme to be used only when working with renderers of type `univariateColorSize`.",
         "enum": [
            "above",
            "above-and-below",
            "below",
            "high-to-low"
         ],
         "title": "UnivariateTheme",
         "type": "string"
      },
      "VerticalAlignment": {
         "description": "One of the following string values representing the vertical alignment of the text.",
         "enum": [
            "baseline",
            "bottom",
            "middle",
            "top"
         ],
         "title": "VerticalAlignment",
         "type": "string"
      },
      "VerticalOffset": {
         "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units.",
         "properties": {
            "maxWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
               "title": "Maxworldlength"
            },
            "minWorldLength": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 0,
               "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
               "title": "Minworldlength"
            },
            "screenLength": {
               "description": "Maximal screen length of lift in points.",
               "title": "Screenlength",
               "type": "number"
            }
         },
         "required": [
            "screenLength"
         ],
         "title": "VerticalOffset",
         "type": "object"
      },
      "VisualVariableType": {
         "description": "A string value specifying the type of renderer's visual variable.",
         "enum": [
            "colorInfo",
            "rotationInfo",
            "sizeInfo",
            "transparencyInfo"
         ],
         "title": "VisualVariableType",
         "type": "string"
      },
      "WaterSymbol3DLayer": {
         "description": "Symbol Layer that describes a water appearance on surfaces in a SceneView.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": [
                  0,
                  119,
                  190
               ],
               "description": "The dominant water color.",
               "title": "color"
            },
            "enable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enable"
            },
            "type": {
               "const": "Water",
               "default": "Water",
               "description": "Specifies the type of symbol used.",
               "enum": [
                  "Water"
               ],
               "title": "Type",
               "type": "string"
            },
            "waterbodySize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaterbodySize"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "medium",
               "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool."
            },
            "waveDirection": {
               "anyOf": [
                  {
                     "maximum": 360.0,
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Azimuthal bearing for direction of the waves. If ommitted, waves appear directionless. The value is interpreted as 'geographic' rotation, i.e. clockwise starting from north.",
               "title": "Wavedirection"
            },
            "waveStrength": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/WaveStrength"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "moderate",
               "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees."
            }
         },
         "title": "WaterSymbol3DLayer",
         "type": "object"
      },
      "WaterbodySize": {
         "description": "Size of the waterbody the symbol layer represents. Applications will display waves that are appropriate for the chosen body of water, for example ocean versus marina versus swimming pool.",
         "enum": [
            "large",
            "medium",
            "small"
         ],
         "title": "WaterbodySize",
         "type": "string"
      },
      "WaveStrength": {
         "description": "The magnitude of the waves displayed on the waterbody. Strings roughly follow the [Douglas sea scale](https://en.wikipedia.org/wiki/Douglas_sea_scale), currently limited to lower degrees.",
         "enum": [
            "calm",
            "moderate",
            "rippled",
            "slight"
         ],
         "title": "WaveStrength",
         "type": "string"
      },
      "Weight": {
         "description": "The text weight.",
         "enum": [
            "bold",
            "bolder",
            "lighter",
            "normal"
         ],
         "title": "Weight",
         "type": "string"
      },
      "arcgis__map__symbols__Outline__1": {
         "description": "Sets properties of the outline of the IconSymbol3DLayer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      },
      "arcgis__map__symbols__Outline__2": {
         "description": "The outline of the symbol layer.",
         "properties": {
            "color": {
               "anyOf": [
                  {
                     "items": {
                        "maximum": 255,
                        "minimum": 0,
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Color is represented as a three or four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null.",
               "title": "color"
            },
            "pattern": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinePattern"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "patternCap": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LineCap"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "butt"
            },
            "size": {
               "anyOf": [
                  {
                     "minimum": 0.0,
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Outline size in points, positive only",
               "title": "Size"
            },
            "transparency": {
               "anyOf": [
                  {
                     "maximum": 100,
                     "minimum": 0,
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The value has to lie between `100` (full transparency) and `0` (full opacity).",
               "title": "Transparency"
            }
         },
         "title": "Outline",
         "type": "object"
      }
   },
   "required": [
      "uniqueValueInfos"
   ]
}

field authoring_info = None (alias 'authoringInfo')

An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field background_fill_symbol = None (alias 'backgroundFillSymbol')

A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. PictureFillSymbolEsriPFS can also be used outside of the Map Viewer for Size and Predominance and Size renderers.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_label = None (alias 'defaultLabel')

Default label for the default symbol used to draw unspecified values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field default_symbol = None (alias 'defaultSymbol')

Symbol used when a value cannot be matched.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field draw_in_class_order = False (alias 'drawInClassOrder')

Indicates whether the order of the classes in the renderer definition should be used for the feature drawing order of the layer. If orderBy is set in the layerDefinition, then that will take precedence over this property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field field1 = None

Attribute field renderer uses to match values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field field2 = None

If needed, specify an additional attribute field the renderer uses to match values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field field3 = None

If needed, specify an additional attribute field the renderer uses to match values.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field field_delimiter = ', ' (alias 'fieldDelimiter')

String inserted between the values if multiple attribute fields are specified.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field legend_options = None (alias 'legendOptions')

Allows the user to override the layer title with a more descriptive title of the renderer.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_expression = None (alias 'rotationExpression')

A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it’s enclosed in square brackets. Rotation is set using a visual variable of type rotationInfo with a specified field or valueExpression property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field rotation_type = None (alias 'rotationType')

String property which controls the origin and direction of rotation. If the rotationType is defined as arithmetic the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field type = 'uniqueValue'

Specifies the type of renderer used.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field unique_value_groups = None (alias 'uniqueValueGroups')

An array of uniqueValueGroup objects. If present, then uniqueValueGroups should be used in favor of uniqueValueInfos.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field unique_value_infos [Required] (alias 'uniqueValueInfos')

An array of uniqueValueInfo objects. If uniqueValueGroups is present, then this property should be ignored during webmap reading. In the future, this property will be deprecated and eventually removed.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression = None (alias 'valueExpression')

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field value_expression_title = None (alias 'valueExpressionTitle')

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

field visual_variables = None (alias 'visualVariables')

An array of objects used to set rendering properties.

Validated by:
  • validate_default_symbol_type

  • validate_symbol_type

UnivariateSymbolStyle

class arcgis.map.renderers.UnivariateSymbolStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Symbol style or symbol pair used when creating a renderer of type univariateColorSize with an above-and-below univariateTheme. The custom style indicates the renderer uses a custom symbol pair not provided by the authoring application.

arrow = 'arrow'
caret = 'caret'
circle = 'circle'
circle_arrow = 'circle-arrow'
circle_caret = 'circle-caret'
circle_plus_minus = 'circle-plus-minus'
custom = 'custom'
happy_sad = 'happy-sad'
plus_minus = 'plus-minus'
square = 'square'
thumb = 'thumb'
triangle = 'triangle'

UnivariateTheme

class arcgis.map.renderers.UnivariateTheme(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Theme to be used only when working with renderers of type univariateColorSize.

above = 'above'
above_and_below = 'above-and-below'
below = 'below'
high_to_low = 'high-to-low'

VectorFieldRenderer

pydantic model arcgis.map.renderers.VectorFieldRenderer

A vector field renderer is a renderer that uses symbolizes a U-V or Magnitude-Direction data.

Show JSON schema
{
   "title": "VectorFieldRenderer",
   "description": "A vector field renderer is a renderer that uses symbolizes a U-V or Magnitude-Direction data.",
   "type": "object",
   "properties": {
      "attributeField": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Name of the feature attribute field that contains the data value.",
         "title": "Attributefield"
      },
      "flowRepresentation": {
         "anyOf": [
            {
               "$ref": "#/$defs/FlowRepresentation"
            },
            {
               "type": "null"
            }
         ],
         "default": "flow-from",
         "description": "Sets the flow direction of the data."
      },
      "inputUnit": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputOutputUnit"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Input unit for Magnitude."
      },
      "outputUnit": {
         "anyOf": [
            {
               "$ref": "#/$defs/InputOutputUnit"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Output unit for Magnitude."
      },
      "rotationType": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotationType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "String value which controls the origin and direction of rotation on point features. If the rotationType is defined as `arithmetic`, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as `geographic`, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis."
      },
      "style": {
         "anyOf": [
            {
               "$ref": "#/$defs/VectorFieldStyle"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A predefined style."
      },
      "symbolTileSize": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": 50,
         "description": "Determines the density of the symbols. Larger tile size, fewer symbols appear in the display. The VectorFieldRenderer draws one symbol within a defined tile size (in pixels). The default is 50 pixels.",
         "title": "Symboltilesize"
      },
      "type": {
         "const": "vectorField",
         "default": "vectorField",
         "description": "Specifies the type of renderer used.",
         "enum": [
            "vectorField"
         ],
         "title": "Type",
         "type": "string"
      },
      "visualVariables": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/ColorInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/RotationInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/SizeInfoVisualVariable"
                     },
                     {
                        "$ref": "#/$defs/TransparencyInfoVisualVariable"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An array of objects used to set rendering properties.",
         "title": "Visualvariables"
      }
   },
   "$defs": {
      "ColorInfoVisualVariable": {
         "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for color rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ColorStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of stop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "colorInfo",
               "default": "colorInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "colorInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) that computes a value in lieu of a value provided by an attribute `field`.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "ColorInfoVisualVariable",
         "type": "object"
      },
      "ColorStop": {
         "description": "A colorStop object describes the renderer's color ramp with more specificity than just colors.",
         "properties": {
            "color": {
               "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value.",
               "items": {
                  "maximum": 255,
                  "minimum": 0,
                  "type": "integer"
               },
               "title": "Color",
               "type": "array"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Value if a label is needed on the legend for a stop.",
               "title": "Label"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore `maxPixelIntensity` and `minPixelIntensity` properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting `minPixelIntensity` or `maxPixelIntensity`, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "color",
            "value"
         ],
         "title": "ColorStop",
         "type": "object"
      },
      "FlowRepresentation": {
         "description": "Sets the flow direction of the data.",
         "enum": [
            "flow_from",
            "flow_to"
         ],
         "title": "FlowRepresentation",
         "type": "string"
      },
      "InputOutputUnit": {
         "description": "Input unit for Magnitude.",
         "enum": [
            "esriFeetPerSecond",
            "esriKilometersPerHour",
            "esriKnots",
            "esriMetersPerSecond",
            "esriMilesPerHour"
         ],
         "title": "InputOutputUnit",
         "type": "string"
      },
      "LegendOptions": {
         "description": "Options available for the legend.",
         "properties": {
            "dotLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text that should be displayed in the legend for each dot. This will display next to the number 1. If not present, it will be a localized string for the word 'Dot'. Only applicable to dot density renderers.",
               "title": "Dotlabel"
            },
            "maxLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the hottest (most dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'High' will display on the legend.",
               "title": "Maxlabel"
            },
            "minLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Text in the legend that describes the coldest (least dense) part of the heatmap. Only applicable to Heatmap renderers. If not specified, then a localized label, for 'Low' will display on the legend.",
               "title": "Minlabel"
            },
            "order": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOrder"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the order in which the legend is displayed."
            },
            "showLegend": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates whether to show the color/size/opacity ramp in the legend. **This property is not available directly under UniqueValueRenderer and/or ClassBreaksRenderer.**",
               "title": "Showlegend"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the legend.",
               "title": "Title"
            },
            "unit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates the unit of the data being visualized in a dotDensity renderer. This will display next to the dot value in the title of the legend.",
               "title": "Unit"
            }
         },
         "title": "LegendOptions",
         "type": "object"
      },
      "LegendOrder": {
         "description": "Indicates the order in which the legend is displayed.",
         "enum": [
            "ascendingValues",
            "descendingValues"
         ],
         "title": "LegendOrder",
         "type": "string"
      },
      "RotationInfoVisualVariable": {
         "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": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the rotation of a symbol if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rotationType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RotationType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "geographic",
               "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."
            },
            "type": {
               "const": "rotationInfo",
               "default": "rotationInfo",
               "description": "A string value indicating the type of visual variable used for the renderer.",
               "enum": [
                  "rotationInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade expression] (https://developers.arcgis.com/arcade/) as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "RotationInfoVisualVariable",
         "type": "object"
      },
      "RotationType": {
         "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"
         ],
         "title": "RotationType",
         "type": "string"
      },
      "Size": {
         "description": "Specifies the marker size to use at any given map scale. This is required if valueUnit is set to `unknown`.",
         "properties": {
            "expression": {
               "default": null,
               "description": "The value which allows a size to be defined based on the map scale. Currently the only supported expression is `view.scale`.",
               "title": "Expression",
               "type": "string"
            },
            "stops": {
               "description": "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.",
               "items": {
                  "$ref": "#/$defs/SizeStop"
               },
               "title": "Stops",
               "type": "array"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Value indicating the type of rendering.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            }
         },
         "required": [
            "stops"
         ],
         "title": "Size",
         "type": "object"
      },
      "SizeInfoVisualVariable": {
         "description": "The sizeInfo visual variable defines how size is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective size values. You must specify `minSize` and `maxSize` or `stops` to construct the size ramp. All features with values falling in between the specified min and max data values (or stops) will be scaled proportionally between the provided min and max sizes.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Deprecated, please use `valueExpression` in its place. The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, `view.scale`.",
               "title": "Expression"
            },
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for size rendering if no valueExpression is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "maxDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum data value.",
               "title": "Maxdatavalue"
            },
            "maxSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the largest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Maxsize"
            },
            "minDataValue": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum data value.",
               "title": "Mindatavalue"
            },
            "minSize": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Size"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Specifies the smallest marker size to use at any given map scale. Can be either a fixed number or object, depending on whether the user chose a fixed range or not.",
               "title": "Minsize"
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/SizeStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of objects that defines the thematic size ramp in a sequence of data or expression stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop. This property is required if `minDataValue`, `maxDataValue`, `minSize`, and `maxSize` are not defined. This property is also required when setting a size visual variable to the `minSize` or `maxSize` properties based on `expression` (e.g. `expression: 'view.scale'`).",
               "title": "Stops"
            },
            "target": {
               "anyOf": [
                  {
                     "const": "outline",
                     "enum": [
                        "outline"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Only used when sizeInfo is used for polygon outlines.",
               "title": "Target"
            },
            "type": {
               "const": "sizeInfo",
               "default": "sizeInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "sizeInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number. New style is similar to `$view.scale`. This is used in combination with the `target` `outline` propery where the outline looks thinner at smaller scales and thicker at larger scales.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            },
            "valueUnit": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "unknown",
               "description": "A string value indicating the required unit of measurement.",
               "title": "Valueunit"
            }
         },
         "title": "SizeInfoVisualVariable",
         "type": "object"
      },
      "SizeStop": {
         "description": "A `sizeStop` object describes the size of the symbol at various values of the expression.",
         "properties": {
            "size": {
               "description": "Specifies the marker size to use for the specified value.",
               "title": "Size",
               "type": "number"
            },
            "value": {
               "description": "The value to be mapped to a size. Depending on how the visual variable is defined, the value may represent the value of an attribute field or the value returned by an expression.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "size",
            "value"
         ],
         "title": "SizeStop",
         "type": "object"
      },
      "TransparencyInfoVisualVariable": {
         "description": "The transparencyInfo visual variable defines the transparency, or opacity, of each feature's symbol based on a numeric attribute field value.",
         "properties": {
            "field": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used for setting the transparency of a feature if no `valueExpression` is provided.",
               "title": "Field"
            },
            "legendOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LegendOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "normalizationField": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Attribute field used to normalize the data.",
               "title": "Normalizationfield"
            },
            "stops": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TransparencyStop"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An array of transparencyStop objects.",
               "title": "Stops"
            },
            "type": {
               "const": "transparencyInfo",
               "default": "transparencyInfo",
               "description": "Specifies the type of visual variable.",
               "enum": [
                  "transparencyInfo"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.",
               "title": "Valueexpression"
            },
            "valueExpressionTitle": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the `valueExpression` property.",
               "title": "Valueexpressiontitle"
            }
         },
         "title": "TransparencyInfoVisualVariable",
         "type": "object"
      },
      "TransparencyStop": {
         "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the `value` property in each stop.",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value used to label the stop in the legend.",
               "title": "Label"
            },
            "transparency": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "number"
                  }
               ],
               "description": "A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
               "title": "Transparency"
            },
            "value": {
               "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
               "title": "Value",
               "type": "number"
            }
         },
         "required": [
            "transparency",
            "value"
         ],
         "title": "TransparencyStop",
         "type": "object"
      },
      "VectorFieldStyle": {
         "description": "A predefined style.",
         "enum": [
            "beaufort_ft",
            "beaufort_km",
            "beaufort_kn",
            "beaufort_m",
            "beaufort_mi",
            "classified_arrow",
            "ocean_current_kn",
            "ocean_current_m",
            "simple_scalar",
            "single_arrow",
            "wind_speed"
         ],
         "title": "VectorFieldStyle",
         "type": "string"
      }
   }
}

field attribute_field = None (alias 'attributeField')

Name of the feature attribute field that contains the data value.

field flow_representation = 'flow-from' (alias 'flowRepresentation')

Sets the flow direction of the data.

field input_unit = None (alias 'inputUnit')

Input unit for Magnitude.

field output_unit = None (alias 'outputUnit')

Output unit for Magnitude.

field rotation_type = None (alias 'rotationType')

String value which controls the origin and direction of rotation on point features. If the rotationType is defined as arithmetic, the symbol is rotated from East in a counter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic, the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.

field style = None

A predefined style.

Validated by:
  • check_style

field symbol_tile_size = 50 (alias 'symbolTileSize')

Determines the density of the symbols. Larger tile size, fewer symbols appear in the display. The VectorFieldRenderer draws one symbol within a defined tile size (in pixels). The default is 50 pixels.

field type = 'vectorField'

Specifies the type of renderer used.

field visual_variables = None (alias 'visualVariables')

An array of objects used to set rendering properties.

VectorFieldStyle

class arcgis.map.renderers.VectorFieldStyle(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

A predefined style.

beaufort_ft = 'beaufort_ft'
beaufort_km = 'beaufort_km'
beaufort_kn = 'beaufort_kn'
beaufort_m = 'beaufort_m'
beaufort_mi = 'beaufort_mi'
classified_arrow = 'classified_arrow'
ocean_current_kn = 'ocean_current_kn'
ocean_current_m = 'ocean_current_m'
simple_scalar = 'simple_scalar'
single_arrow = 'single_arrow'
wind_speed = 'wind_speed'

VisualVariableType

class arcgis.map.renderers.VisualVariableType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

A string value specifying the type of renderer’s visual variable.

color_info = 'colorInfo'
rotation_info = 'rotationInfo'
size_info = 'sizeInfo'
transparency_info = 'transparencyInfo'

Forms

CodedValue

pydantic model arcgis.map.forms.CodedValue

The coded value domain includes both the actual value that is stored in a database and a description of what the code value means.

Show JSON schema
{
   "title": "CodedValue",
   "description": "The coded value domain includes both the actual value that is stored in a database and a description of what the code value means.",
   "type": "object",
   "properties": {
      "codedValues": {
         "description": "A set of valid values with unique names.",
         "items": {
            "$ref": "#/$defs/UniqueCodedValue"
         },
         "title": "Codedvalues",
         "type": "array"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The domain name.",
         "title": "Name"
      },
      "type": {
         "const": "codedValue",
         "default": "codedValue",
         "description": "String value representing the domain type.",
         "enum": [
            "codedValue"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "UniqueCodedValue": {
         "description": "A set of valid coded values with unique names.",
         "properties": {
            "code": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The value stored in the feature attribute.",
               "title": "Code"
            },
            "name": {
               "description": "User-friendly name for what the code means.",
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "code",
            "name"
         ],
         "title": "UniqueCodedValue",
         "type": "object"
      }
   },
   "required": [
      "codedValues"
   ]
}

field coded_values [Required] (alias 'codedValues')

A set of valid values with unique names.

field name = None

The domain name.

field type = 'codedValue'

String value representing the domain type.

FormAttachmentElement

pydantic model arcgis.map.forms.FormAttachmentElement

Defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.

Show JSON schema
{
   "title": "FormAttachmentElement",
   "description": "Defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.",
   "type": "object",
   "properties": {
      "attachmentKeyword": {
         "description": "A string to identify the attachment(s). When a file is attached using the form, this property is used to set the value of the keywords field for the attachment. When a form is displaying existing attachments, this property is used to query attachments using an exact match on the keywords field.",
         "title": "Attachmentkeyword",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "editableExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable.",
         "title": "Editableexpression"
      },
      "inputType": {
         "anyOf": [
            {
               "$ref": "#/$defs/FormAttachmentInput"
            },
            {
               "$ref": "#/$defs/FormAudioInput"
            },
            {
               "$ref": "#/$defs/FormDocumentInput"
            },
            {
               "$ref": "#/$defs/FormImageInput"
            },
            {
               "$ref": "#/$defs/FormSignatureInput"
            },
            {
               "$ref": "#/$defs/FormVideoInput"
            },
            {
               "type": "null"
            }
         ],
         "description": "The input user interface to use for the attachment.",
         "title": "Inputtype"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value indicating what the element represents.",
         "title": "Label"
      },
      "type": {
         "const": "attachment",
         "default": "attachment",
         "description": "String value indicating which type of element to use.",
         "enum": [
            "attachment"
         ],
         "title": "Type",
         "type": "string"
      },
      "visibilityExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
         "title": "Visibilityexpression"
      }
   },
   "$defs": {
      "FormAttachmentInput": {
         "description": "Defines that any supported file can be attached.",
         "properties": {
            "type": {
               "const": "attachment",
               "default": "attachment",
               "description": "The input type identifier.",
               "enum": [
                  "attachment"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAttachmentInput",
         "type": "object"
      },
      "FormAudioInput": {
         "description": "Defines that an audio file can be attached.",
         "properties": {
            "type": {
               "const": "audio",
               "default": "audio",
               "description": "The input type identifier.",
               "enum": [
                  "audio"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAudioInput",
         "type": "object"
      },
      "FormDocumentInput": {
         "description": "Defines that a document file can be attached.",
         "properties": {
            "type": {
               "const": "document",
               "default": "document",
               "description": "The input type identifier.",
               "enum": [
                  "document"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDocumentInput",
         "type": "object"
      },
      "FormImageInput": {
         "description": "Defines that an image file should be attached.",
         "properties": {
            "type": {
               "const": "image",
               "default": "image",
               "description": "The input type identifier.",
               "enum": [
                  "image"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormImageInput",
         "type": "object"
      },
      "FormSignatureInput": {
         "description": "Defines that a signature should be captured and attached.",
         "properties": {
            "type": {
               "const": "signature",
               "default": "signature",
               "description": "The input type identifier.",
               "enum": [
                  "signature"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormSignatureInput",
         "type": "object"
      },
      "FormVideoInput": {
         "description": "Defines that a video file should be attached.",
         "properties": {
            "type": {
               "const": "video",
               "default": "video",
               "description": "The input type indentifier.",
               "enum": [
                  "video"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormVideoInput",
         "type": "object"
      }
   },
   "required": [
      "attachmentKeyword",
      "inputType"
   ]
}

field attachment_keyword [Required] (alias 'attachmentKeyword')

A string to identify the attachment(s). When a file is attached using the form, this property is used to set the value of the keywords field for the attachment. When a form is displaying existing attachments, this property is used to query attachments using an exact match on the keywords field.

field description = None

A string that describes the element in detail.

field editable_expression = None (alias 'editableExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is editable. When the expression evaluates to false the element is not editable.

field input_type [Required] (alias 'inputType')

The input user interface to use for the attachment.

field label = None

A string value indicating what the element represents.

field type = 'attachment'

String value indicating which type of element to use.

field visibility_expression = None (alias 'visibilityExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.

FormAttachmentInput

pydantic model arcgis.map.forms.FormAttachmentInput

Defines that any supported file can be attached.

Show JSON schema
{
   "title": "FormAttachmentInput",
   "description": "Defines that any supported file can be attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "attachment",
         "default": "attachment",
         "description": "The input type identifier.",
         "enum": [
            "attachment"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'attachment'

The input type identifier.

FormAudioInput

pydantic model arcgis.map.forms.FormAudioInput

Defines that an audio file can be attached.

Show JSON schema
{
   "title": "FormAudioInput",
   "description": "Defines that an audio file can be attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "audio",
         "default": "audio",
         "description": "The input type identifier.",
         "enum": [
            "audio"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'audio'

The input type identifier.

FormBarcodeScannerInput

pydantic model arcgis.map.forms.FormBarcodeScannerInput

Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used.

Show JSON schema
{
   "title": "FormBarcodeScannerInput",
   "description": "Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used.",
   "type": "object",
   "properties": {
      "maxLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
         "title": "Maxlength"
      },
      "minLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
         "title": "Minlength"
      },
      "type": {
         "const": "barcode-scanner",
         "default": "barcode-scanner",
         "description": "The input type identifier.",
         "enum": [
            "barcode-scanner"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field max_length = None (alias 'maxLength')

This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.

field min_length = None (alias 'minLength')

This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.

field type = 'barcode-scanner'

The input type identifier.

FormComboBoxInput

pydantic model arcgis.map.forms.FormComboBoxInput

Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time.

Show JSON schema
{
   "title": "FormComboBoxInput",
   "description": "Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time.",
   "type": "object",
   "properties": {
      "noValueOptionLabel": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The text used to represent a null value.",
         "title": "Novalueoptionlabel"
      },
      "showNoValueOption": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
         "title": "Shownovalueoption"
      },
      "type": {
         "const": "combo-box",
         "default": "combo-box",
         "description": "The input type identifier.",
         "enum": [
            "combo-box"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field no_value_option_label = None (alias 'noValueOptionLabel')

The text used to represent a null value.

field show_no_value_option = None (alias 'showNoValueOption')

This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is true.

field type = 'combo-box'

The input type identifier.

FormDatePickerInput

pydantic model arcgis.map.forms.FormDatePickerInput

Defines the desired user interface is a date picker.

Show JSON schema
{
   "title": "FormDatePickerInput",
   "description": "Defines the desired user interface is a date picker.",
   "type": "object",
   "properties": {
      "max": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum date to allow. The number represents an ISO-8601 date.",
         "title": "Max"
      },
      "min": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum date to allow. The number represents an ISO-8601 date.",
         "title": "Min"
      },
      "type": {
         "const": "date-picker",
         "default": "date-picker",
         "description": "The input type identifier.",
         "enum": [
            "date-picker"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field max = None

The maximum date to allow. The number represents an ISO-8601 date.

field min = None

The minimum date to allow. The number represents an ISO-8601 date.

field type = 'date-picker'

The input type identifier.

FormDatetimePickerInput

pydantic model arcgis.map.forms.FormDatetimePickerInput

Defines the desired user interface is a calendar date picker.

Show JSON schema
{
   "title": "FormDatetimePickerInput",
   "description": "Defines the desired user interface is a calendar date picker.",
   "type": "object",
   "properties": {
      "includeTime": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is `false`.",
         "title": "Includetime"
      },
      "max": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
         "title": "Max"
      },
      "min": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
         "title": "Min"
      },
      "type": {
         "const": "datetime-picker",
         "default": "datetime-picker",
         "description": "The input type identifier.",
         "enum": [
            "datetime-picker"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field include_time = None (alias 'includeTime')

Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is false.

field max = None

The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.

field min = None

The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.

field type = 'datetime-picker'

The input type identifier.

FormDocumentInput

pydantic model arcgis.map.forms.FormDocumentInput

Defines that a document file can be attached.

Show JSON schema
{
   "title": "FormDocumentInput",
   "description": "Defines that a document file can be attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "document",
         "default": "document",
         "description": "The input type identifier.",
         "enum": [
            "document"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'document'

The input type identifier.

FormExpressionInfo

pydantic model arcgis.map.forms.FormExpressionInfo

Arcade expression used in the form.

Show JSON schema
{
   "title": "FormExpressionInfo",
   "description": "Arcade expression used in the form.",
   "type": "object",
   "properties": {
      "expression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The Arcade expression.",
         "title": "Expression"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Unique identifier for the expression.",
         "title": "Name"
      },
      "returnType": {
         "anyOf": [
            {
               "$ref": "#/$defs/ReturnType"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user."
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Title of the expression.",
         "title": "Title"
      }
   },
   "$defs": {
      "ReturnType": {
         "description": "Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user.",
         "enum": [
            "boolean",
            "date",
            "dateOnly",
            "number",
            "string",
            "time"
         ],
         "title": "ReturnType",
         "type": "string"
      }
   }
}

field expression = None

The Arcade expression.

field name = None

Unique identifier for the expression.

field return_type = None (alias 'returnType')

Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user.

field title = None

Title of the expression.

FormFieldElement

pydantic model arcgis.map.forms.FormFieldElement

Defines how a field in the dataset participates in the form.

Show JSON schema
{
   "title": "FormFieldElement",
   "description": "Defines how a field in the dataset participates in the form.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "domain": {
         "anyOf": [
            {
               "$ref": "#/$defs/CodedValue"
            },
            {
               "$ref": "#/$defs/InheritedDomain"
            },
            {
               "$ref": "#/$defs/RangeDomain"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.",
         "title": "Domain"
      },
      "editableExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced field is not editable, the editable expression is ignored and the element is not editable.",
         "title": "Editableexpression"
      },
      "fieldName": {
         "description": "A string containing the field name as defined by the feature layer.",
         "title": "Fieldname",
         "type": "string"
      },
      "hint": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string representing placeholder text. This only applies for input types that support text or numeric entry.",
         "title": "Hint"
      },
      "inputType": {
         "anyOf": [
            {
               "$ref": "#/$defs/FormBarcodeScannerInput"
            },
            {
               "$ref": "#/$defs/FormComboBoxInput"
            },
            {
               "$ref": "#/$defs/FormDatePickerInput"
            },
            {
               "$ref": "#/$defs/FormDatetimePickerInput"
            },
            {
               "$ref": "#/$defs/FormRadioButtonsInput"
            },
            {
               "$ref": "#/$defs/FormSwitchInput"
            },
            {
               "$ref": "#/$defs/FormTextAreaInput"
            },
            {
               "$ref": "#/$defs/FormTextBoxInput"
            },
            {
               "$ref": "#/$defs/FormTimeInput"
            },
            {
               "$ref": "#/$defs/FormTimestampOffsetPickerInput"
            },
            {
               "type": "null"
            }
         ],
         "description": "The input user interface to use for the element.",
         "title": "Inputtype"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.",
         "title": "Label"
      },
      "requiredExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true` and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to `false` the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.",
         "title": "Requiredexpression"
      },
      "type": {
         "const": "field",
         "default": "field",
         "description": "A string indicating which type of element to use.",
         "enum": [
            "field"
         ],
         "title": "Type",
         "type": "string"
      },
      "valueExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a date, number, or string value.  When this expression evaluates the value of the field will be updated to the result.  This expression is only evaluated when `editableExpression` (if defined) is false but the field itself allows edits.",
         "title": "Valueexpression"
      },
      "visibilityExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.",
         "title": "Visibilityexpression"
      }
   },
   "$defs": {
      "CodedValue": {
         "description": "The coded value domain includes both the actual value that is stored in a database and a description of what the code value means.",
         "properties": {
            "codedValues": {
               "description": "A set of valid values with unique names.",
               "items": {
                  "$ref": "#/$defs/UniqueCodedValue"
               },
               "title": "Codedvalues",
               "type": "array"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "type": {
               "const": "codedValue",
               "default": "codedValue",
               "description": "String value representing the domain type.",
               "enum": [
                  "codedValue"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "codedValues"
         ],
         "title": "CodedValue",
         "type": "object"
      },
      "FormBarcodeScannerInput": {
         "description": "Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "barcode-scanner",
               "default": "barcode-scanner",
               "description": "The input type identifier.",
               "enum": [
                  "barcode-scanner"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormBarcodeScannerInput",
         "type": "object"
      },
      "FormComboBoxInput": {
         "description": "Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "combo-box",
               "default": "combo-box",
               "description": "The input type identifier.",
               "enum": [
                  "combo-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormComboBoxInput",
         "type": "object"
      },
      "FormDatePickerInput": {
         "description": "Defines the desired user interface is a date picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents an ISO-8601 date.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents an ISO-8601 date.",
               "title": "Min"
            },
            "type": {
               "const": "date-picker",
               "default": "date-picker",
               "description": "The input type identifier.",
               "enum": [
                  "date-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatePickerInput",
         "type": "object"
      },
      "FormDatetimePickerInput": {
         "description": "Defines the desired user interface is a calendar date picker.",
         "properties": {
            "includeTime": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is `false`.",
               "title": "Includetime"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Min"
            },
            "type": {
               "const": "datetime-picker",
               "default": "datetime-picker",
               "description": "The input type identifier.",
               "enum": [
                  "datetime-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatetimePickerInput",
         "type": "object"
      },
      "FormRadioButtonsInput": {
         "description": "Defines the desired user interface is a radio button group.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "radio-buttons",
               "default": "radio-buttons",
               "description": "The input type identifier.",
               "enum": [
                  "radio-buttons"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormRadioButtonsInput",
         "type": "object"
      },
      "FormSwitchInput": {
         "description": "Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options.",
         "properties": {
            "offValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `off`.",
               "title": "Offvalue"
            },
            "onValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `on`.",
               "title": "Onvalue"
            },
            "type": {
               "const": "switch",
               "default": "switch",
               "description": "The input type identifier.",
               "enum": [
                  "switch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "offValue",
            "onValue"
         ],
         "title": "FormSwitchInput",
         "type": "object"
      },
      "FormTextAreaInput": {
         "description": "Defines the desired user interface is a multi-line text area.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-area",
               "default": "text-area",
               "description": "The input type identifier.",
               "enum": [
                  "text-area"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextAreaInput",
         "type": "object"
      },
      "FormTextBoxInput": {
         "description": "Defines the desired user interface is a single-line text box.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-box",
               "default": "text-box",
               "description": "The input type identifier.",
               "enum": [
                  "text-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextBoxInput",
         "type": "object"
      },
      "FormTimeInput": {
         "description": "Defines the desired user interface is a time picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "time-picker",
               "default": "time-picker",
               "description": "The input type identifier.",
               "enum": [
                  "time-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimeInput",
         "type": "object"
      },
      "FormTimestampOffsetPickerInput": {
         "description": "Defines the desired user interface is a calendar date and time picker with a time offset.",
         "properties": {
            "includeTimeOffset": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is `true`.",
               "title": "Includetimeoffset"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "timestampoffset-picker",
               "default": "timestampoffset-picker",
               "description": "The input type identifier.",
               "enum": [
                  "timestampoffset-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimestampOffsetPickerInput",
         "type": "object"
      },
      "InheritedDomain": {
         "description": "This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level.",
         "properties": {
            "type": {
               "const": "inherited",
               "default": "inherited",
               "description": "String value representing the domain type.",
               "enum": [
                  "inherited"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "InheritedDomain",
         "type": "object"
      },
      "RangeDomain": {
         "description": "Range domain specifies a range of valid values for a field.",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "range": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "integer"
                     },
                     "type": "array"
                  }
               ],
               "description": "The first element is the minValue and the second element is the maxValue.",
               "maxLength": 2,
               "minLength": 2,
               "title": "Range"
            },
            "type": {
               "const": "range",
               "default": "range",
               "description": "String value representing the domain type.",
               "enum": [
                  "range"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "range"
         ],
         "title": "RangeDomain",
         "type": "object"
      },
      "TimeResolution": {
         "description": "The resolution identifier. If not specified default is 'minutes'.",
         "enum": [
            "milliseconds",
            "minutes",
            "seconds"
         ],
         "title": "TimeResolution",
         "type": "string"
      },
      "UniqueCodedValue": {
         "description": "A set of valid coded values with unique names.",
         "properties": {
            "code": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The value stored in the feature attribute.",
               "title": "Code"
            },
            "name": {
               "description": "User-friendly name for what the code means.",
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "code",
            "name"
         ],
         "title": "UniqueCodedValue",
         "type": "object"
      }
   },
   "required": [
      "fieldName",
      "inputType"
   ]
}

field description = None

A string that describes the element in detail.

field domain = None

The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.

field editable_expression = None (alias 'editableExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is editable. When the expression evaluates to false the element is not editable. If the referenced field is not editable, the editable expression is ignored and the element is not editable.

field field_name [Required] (alias 'fieldName')

A string containing the field name as defined by the feature layer.

field hint = None

A string representing placeholder text. This only applies for input types that support text or numeric entry.

field input_type [Required] (alias 'inputType')

The input user interface to use for the element.

field label = None

A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.

field required_expression = None (alias 'requiredExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to false the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.

field type = 'field'

A string indicating which type of element to use.

field value_expression = None (alias 'valueExpression')

A reference to an Arcade expression that returns a date, number, or string value. When this expression evaluates the value of the field will be updated to the result. This expression is only evaluated when editableExpression (if defined) is false but the field itself allows edits.

field visibility_expression = None (alias 'visibilityExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.

FormGroupElement

pydantic model arcgis.map.forms.FormGroupElement

Defines a container that holds a set of form elements that can be expanded, collapsed, or displayed together.

Show JSON schema
{
   "title": "FormGroupElement",
   "description": "Defines a container that holds a set of form elements that can be expanded, collapsed, or displayed together.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "formElements": {
         "description": "An array of Form Element objects that represent an ordered list of form elements. Nested group elements are not supported.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/FormAttachmentElement"
               },
               {
                  "$ref": "#/$defs/FormFieldElement"
               },
               {
                  "$ref": "#/$defs/FormRelationshipElement"
               },
               {
                  "$ref": "#/$defs/FormTextElement"
               }
            ]
         },
         "title": "Formelements",
         "type": "array"
      },
      "initialState": {
         "anyOf": [
            {
               "$ref": "#/$defs/InitialState"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is `expanded`"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value indicating what the element represents.",
         "title": "Label"
      },
      "type": {
         "const": "group",
         "default": "group",
         "description": "String value indicating which type of element to use.",
         "enum": [
            "group"
         ],
         "title": "Type",
         "type": "string"
      },
      "visibilityExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
         "title": "Visibilityexpression"
      }
   },
   "$defs": {
      "CodedValue": {
         "description": "The coded value domain includes both the actual value that is stored in a database and a description of what the code value means.",
         "properties": {
            "codedValues": {
               "description": "A set of valid values with unique names.",
               "items": {
                  "$ref": "#/$defs/UniqueCodedValue"
               },
               "title": "Codedvalues",
               "type": "array"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "type": {
               "const": "codedValue",
               "default": "codedValue",
               "description": "String value representing the domain type.",
               "enum": [
                  "codedValue"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "codedValues"
         ],
         "title": "CodedValue",
         "type": "object"
      },
      "FormAttachmentElement": {
         "description": "Defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.",
         "properties": {
            "attachmentKeyword": {
               "description": "A string to identify the attachment(s). When a file is attached using the form, this property is used to set the value of the keywords field for the attachment. When a form is displaying existing attachments, this property is used to query attachments using an exact match on the keywords field.",
               "title": "Attachmentkeyword",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable.",
               "title": "Editableexpression"
            },
            "inputType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FormAttachmentInput"
                  },
                  {
                     "$ref": "#/$defs/FormAudioInput"
                  },
                  {
                     "$ref": "#/$defs/FormDocumentInput"
                  },
                  {
                     "$ref": "#/$defs/FormImageInput"
                  },
                  {
                     "$ref": "#/$defs/FormSignatureInput"
                  },
                  {
                     "$ref": "#/$defs/FormVideoInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The input user interface to use for the attachment.",
               "title": "Inputtype"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Label"
            },
            "type": {
               "const": "attachment",
               "default": "attachment",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "attachment"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "attachmentKeyword",
            "inputType"
         ],
         "title": "FormAttachmentElement",
         "type": "object"
      },
      "FormAttachmentInput": {
         "description": "Defines that any supported file can be attached.",
         "properties": {
            "type": {
               "const": "attachment",
               "default": "attachment",
               "description": "The input type identifier.",
               "enum": [
                  "attachment"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAttachmentInput",
         "type": "object"
      },
      "FormAudioInput": {
         "description": "Defines that an audio file can be attached.",
         "properties": {
            "type": {
               "const": "audio",
               "default": "audio",
               "description": "The input type identifier.",
               "enum": [
                  "audio"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAudioInput",
         "type": "object"
      },
      "FormBarcodeScannerInput": {
         "description": "Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "barcode-scanner",
               "default": "barcode-scanner",
               "description": "The input type identifier.",
               "enum": [
                  "barcode-scanner"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormBarcodeScannerInput",
         "type": "object"
      },
      "FormComboBoxInput": {
         "description": "Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "combo-box",
               "default": "combo-box",
               "description": "The input type identifier.",
               "enum": [
                  "combo-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormComboBoxInput",
         "type": "object"
      },
      "FormDatePickerInput": {
         "description": "Defines the desired user interface is a date picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents an ISO-8601 date.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents an ISO-8601 date.",
               "title": "Min"
            },
            "type": {
               "const": "date-picker",
               "default": "date-picker",
               "description": "The input type identifier.",
               "enum": [
                  "date-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatePickerInput",
         "type": "object"
      },
      "FormDatetimePickerInput": {
         "description": "Defines the desired user interface is a calendar date picker.",
         "properties": {
            "includeTime": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is `false`.",
               "title": "Includetime"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Min"
            },
            "type": {
               "const": "datetime-picker",
               "default": "datetime-picker",
               "description": "The input type identifier.",
               "enum": [
                  "datetime-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatetimePickerInput",
         "type": "object"
      },
      "FormDocumentInput": {
         "description": "Defines that a document file can be attached.",
         "properties": {
            "type": {
               "const": "document",
               "default": "document",
               "description": "The input type identifier.",
               "enum": [
                  "document"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDocumentInput",
         "type": "object"
      },
      "FormFieldElement": {
         "description": "Defines how a field in the dataset participates in the form.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "domain": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CodedValue"
                  },
                  {
                     "$ref": "#/$defs/InheritedDomain"
                  },
                  {
                     "$ref": "#/$defs/RangeDomain"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.",
               "title": "Domain"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced field is not editable, the editable expression is ignored and the element is not editable.",
               "title": "Editableexpression"
            },
            "fieldName": {
               "description": "A string containing the field name as defined by the feature layer.",
               "title": "Fieldname",
               "type": "string"
            },
            "hint": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string representing placeholder text. This only applies for input types that support text or numeric entry.",
               "title": "Hint"
            },
            "inputType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FormBarcodeScannerInput"
                  },
                  {
                     "$ref": "#/$defs/FormComboBoxInput"
                  },
                  {
                     "$ref": "#/$defs/FormDatePickerInput"
                  },
                  {
                     "$ref": "#/$defs/FormDatetimePickerInput"
                  },
                  {
                     "$ref": "#/$defs/FormRadioButtonsInput"
                  },
                  {
                     "$ref": "#/$defs/FormSwitchInput"
                  },
                  {
                     "$ref": "#/$defs/FormTextAreaInput"
                  },
                  {
                     "$ref": "#/$defs/FormTextBoxInput"
                  },
                  {
                     "$ref": "#/$defs/FormTimeInput"
                  },
                  {
                     "$ref": "#/$defs/FormTimestampOffsetPickerInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The input user interface to use for the element.",
               "title": "Inputtype"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.",
               "title": "Label"
            },
            "requiredExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true` and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to `false` the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.",
               "title": "Requiredexpression"
            },
            "type": {
               "const": "field",
               "default": "field",
               "description": "A string indicating which type of element to use.",
               "enum": [
                  "field"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a date, number, or string value.  When this expression evaluates the value of the field will be updated to the result.  This expression is only evaluated when `editableExpression` (if defined) is false but the field itself allows edits.",
               "title": "Valueexpression"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "fieldName",
            "inputType"
         ],
         "title": "FormFieldElement",
         "type": "object"
      },
      "FormImageInput": {
         "description": "Defines that an image file should be attached.",
         "properties": {
            "type": {
               "const": "image",
               "default": "image",
               "description": "The input type identifier.",
               "enum": [
                  "image"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormImageInput",
         "type": "object"
      },
      "FormRadioButtonsInput": {
         "description": "Defines the desired user interface is a radio button group.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "radio-buttons",
               "default": "radio-buttons",
               "description": "The input type identifier.",
               "enum": [
                  "radio-buttons"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormRadioButtonsInput",
         "type": "object"
      },
      "FormRelationshipElement": {
         "description": "Defines how a relationship between feature layers and tables can participate in the form. When present in the form, the user may have the option to add or edit related records.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "displayCount": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer that indicates the maximum number of records to display.",
               "title": "Displaycount"
            },
            "displayType": {
               "const": "list",
               "default": "list",
               "description": "A string that defines how the related records should be displayed.",
               "enum": [
                  "list"
               ],
               "title": "Displaytype",
               "type": "string"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced related table is not editable, the editable expression is ignored and the element is not editable.",
               "title": "Editableexpression"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Label"
            },
            "orderByFields": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OrderByField"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending <code>'asc'</code> or descending <code>'desc'</code> order.",
               "title": "Orderbyfields"
            },
            "relationshipId": {
               "description": "The id of the relationship as defined in the feature layer definition",
               "title": "Relationshipid",
               "type": "integer"
            },
            "type": {
               "const": "relationship",
               "default": "relationship",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "relationship"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "relationshipId"
         ],
         "title": "FormRelationshipElement",
         "type": "object"
      },
      "FormSignatureInput": {
         "description": "Defines that a signature should be captured and attached.",
         "properties": {
            "type": {
               "const": "signature",
               "default": "signature",
               "description": "The input type identifier.",
               "enum": [
                  "signature"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormSignatureInput",
         "type": "object"
      },
      "FormSwitchInput": {
         "description": "Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options.",
         "properties": {
            "offValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `off`.",
               "title": "Offvalue"
            },
            "onValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `on`.",
               "title": "Onvalue"
            },
            "type": {
               "const": "switch",
               "default": "switch",
               "description": "The input type identifier.",
               "enum": [
                  "switch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "offValue",
            "onValue"
         ],
         "title": "FormSwitchInput",
         "type": "object"
      },
      "FormTextAreaInput": {
         "description": "Defines the desired user interface is a multi-line text area.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-area",
               "default": "text-area",
               "description": "The input type identifier.",
               "enum": [
                  "text-area"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextAreaInput",
         "type": "object"
      },
      "FormTextBoxInput": {
         "description": "Defines the desired user interface is a single-line text box.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-box",
               "default": "text-box",
               "description": "The input type identifier.",
               "enum": [
                  "text-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextBoxInput",
         "type": "object"
      },
      "FormTextElement": {
         "description": "Configures read-only text in form elements.",
         "properties": {
            "text": {
               "description": "String value indicating the text to be displayed within the formTextElement.",
               "title": "Text",
               "type": "string"
            },
            "textFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "plain-text",
               "description": "Defines language of `text` property. Default is `plain-text`."
            },
            "type": {
               "const": "text",
               "default": "text",
               "description": "String value indicating which type of element to use. Valid value of this property is `text`.",
               "enum": [
                  "text"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "text"
         ],
         "title": "FormTextElement",
         "type": "object"
      },
      "FormTimeInput": {
         "description": "Defines the desired user interface is a time picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "time-picker",
               "default": "time-picker",
               "description": "The input type identifier.",
               "enum": [
                  "time-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimeInput",
         "type": "object"
      },
      "FormTimestampOffsetPickerInput": {
         "description": "Defines the desired user interface is a calendar date and time picker with a time offset.",
         "properties": {
            "includeTimeOffset": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is `true`.",
               "title": "Includetimeoffset"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "timestampoffset-picker",
               "default": "timestampoffset-picker",
               "description": "The input type identifier.",
               "enum": [
                  "timestampoffset-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimestampOffsetPickerInput",
         "type": "object"
      },
      "FormVideoInput": {
         "description": "Defines that a video file should be attached.",
         "properties": {
            "type": {
               "const": "video",
               "default": "video",
               "description": "The input type indentifier.",
               "enum": [
                  "video"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormVideoInput",
         "type": "object"
      },
      "InheritedDomain": {
         "description": "This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level.",
         "properties": {
            "type": {
               "const": "inherited",
               "default": "inherited",
               "description": "String value representing the domain type.",
               "enum": [
                  "inherited"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "InheritedDomain",
         "type": "object"
      },
      "InitialState": {
         "description": "Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is `expanded`",
         "enum": [
            "collapsed",
            "expanded"
         ],
         "title": "InitialState",
         "type": "string"
      },
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of the field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "$ref": "#/$defs/Order"
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      },
      "RangeDomain": {
         "description": "Range domain specifies a range of valid values for a field.",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "range": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "integer"
                     },
                     "type": "array"
                  }
               ],
               "description": "The first element is the minValue and the second element is the maxValue.",
               "maxLength": 2,
               "minLength": 2,
               "title": "Range"
            },
            "type": {
               "const": "range",
               "default": "range",
               "description": "String value representing the domain type.",
               "enum": [
                  "range"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "range"
         ],
         "title": "RangeDomain",
         "type": "object"
      },
      "TextFormat": {
         "description": "Defines language of `text` property. Default is `plain-text`.",
         "enum": [
            "markdown",
            "plain-text"
         ],
         "title": "TextFormat",
         "type": "string"
      },
      "TimeResolution": {
         "description": "The resolution identifier. If not specified default is 'minutes'.",
         "enum": [
            "milliseconds",
            "minutes",
            "seconds"
         ],
         "title": "TimeResolution",
         "type": "string"
      },
      "UniqueCodedValue": {
         "description": "A set of valid coded values with unique names.",
         "properties": {
            "code": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The value stored in the feature attribute.",
               "title": "Code"
            },
            "name": {
               "description": "User-friendly name for what the code means.",
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "code",
            "name"
         ],
         "title": "UniqueCodedValue",
         "type": "object"
      }
   },
   "required": [
      "formElements"
   ]
}

field description = None

A string that describes the element in detail.

field form_elements [Required] (alias 'formElements')

An array of Form Element objects that represent an ordered list of form elements. Nested group elements are not supported.

field initial_state = None (alias 'initialState')

Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is expanded

field label = None

A string value indicating what the element represents.

field type = 'group'

String value indicating which type of element to use.

field visibility_expression = None (alias 'visibilityExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.

FormImageInput

pydantic model arcgis.map.forms.FormImageInput

Defines that an image file should be attached.

Show JSON schema
{
   "title": "FormImageInput",
   "description": "Defines that an image file should be attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "image",
         "default": "image",
         "description": "The input type identifier.",
         "enum": [
            "image"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'image'

The input type identifier.

FormInfo

pydantic model arcgis.map.forms.FormInfo

Defines the form configuration when a user edits a feature.

Show JSON schema
{
   "title": "FormInfo",
   "description": "Defines the form configuration when a user edits a feature.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that appears in the body of the form as a description.",
         "title": "Description"
      },
      "expressionInfos": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/FormExpressionInfo"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "List of Arcade expressions used in the form.",
         "title": "Expressioninfos"
      },
      "formElements": {
         "description": "An array of formElement objects that represent an ordered list of form elements.",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/$defs/FormAttachmentElement"
               },
               {
                  "$ref": "#/$defs/FormFieldElement"
               },
               {
                  "$ref": "#/$defs/FormGroupElement"
               },
               {
                  "$ref": "#/$defs/FormRelationshipElement"
               }
            ]
         },
         "title": "Formelements",
         "type": "array"
      },
      "preserveFieldValuesWhenHidden": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Determines whether a previously visible `formFieldElement` value is retained or cleared when a `visibilityExpression` applied on the `formFieldElement` or its parent `formGroupElement` evaluates to `false`. Default is `false`.",
         "title": "Preservefieldvalueswhenhidden"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that appears at the top of the form as a title.",
         "title": "Title"
      }
   },
   "$defs": {
      "CodedValue": {
         "description": "The coded value domain includes both the actual value that is stored in a database and a description of what the code value means.",
         "properties": {
            "codedValues": {
               "description": "A set of valid values with unique names.",
               "items": {
                  "$ref": "#/$defs/UniqueCodedValue"
               },
               "title": "Codedvalues",
               "type": "array"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "type": {
               "const": "codedValue",
               "default": "codedValue",
               "description": "String value representing the domain type.",
               "enum": [
                  "codedValue"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "codedValues"
         ],
         "title": "CodedValue",
         "type": "object"
      },
      "FormAttachmentElement": {
         "description": "Defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.",
         "properties": {
            "attachmentKeyword": {
               "description": "A string to identify the attachment(s). When a file is attached using the form, this property is used to set the value of the keywords field for the attachment. When a form is displaying existing attachments, this property is used to query attachments using an exact match on the keywords field.",
               "title": "Attachmentkeyword",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable.",
               "title": "Editableexpression"
            },
            "inputType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FormAttachmentInput"
                  },
                  {
                     "$ref": "#/$defs/FormAudioInput"
                  },
                  {
                     "$ref": "#/$defs/FormDocumentInput"
                  },
                  {
                     "$ref": "#/$defs/FormImageInput"
                  },
                  {
                     "$ref": "#/$defs/FormSignatureInput"
                  },
                  {
                     "$ref": "#/$defs/FormVideoInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The input user interface to use for the attachment.",
               "title": "Inputtype"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Label"
            },
            "type": {
               "const": "attachment",
               "default": "attachment",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "attachment"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "attachmentKeyword",
            "inputType"
         ],
         "title": "FormAttachmentElement",
         "type": "object"
      },
      "FormAttachmentInput": {
         "description": "Defines that any supported file can be attached.",
         "properties": {
            "type": {
               "const": "attachment",
               "default": "attachment",
               "description": "The input type identifier.",
               "enum": [
                  "attachment"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAttachmentInput",
         "type": "object"
      },
      "FormAudioInput": {
         "description": "Defines that an audio file can be attached.",
         "properties": {
            "type": {
               "const": "audio",
               "default": "audio",
               "description": "The input type identifier.",
               "enum": [
                  "audio"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormAudioInput",
         "type": "object"
      },
      "FormBarcodeScannerInput": {
         "description": "Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "barcode-scanner",
               "default": "barcode-scanner",
               "description": "The input type identifier.",
               "enum": [
                  "barcode-scanner"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormBarcodeScannerInput",
         "type": "object"
      },
      "FormComboBoxInput": {
         "description": "Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "combo-box",
               "default": "combo-box",
               "description": "The input type identifier.",
               "enum": [
                  "combo-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormComboBoxInput",
         "type": "object"
      },
      "FormDatePickerInput": {
         "description": "Defines the desired user interface is a date picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents an ISO-8601 date.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents an ISO-8601 date.",
               "title": "Min"
            },
            "type": {
               "const": "date-picker",
               "default": "date-picker",
               "description": "The input type identifier.",
               "enum": [
                  "date-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatePickerInput",
         "type": "object"
      },
      "FormDatetimePickerInput": {
         "description": "Defines the desired user interface is a calendar date picker.",
         "properties": {
            "includeTime": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is `false`.",
               "title": "Includetime"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
               "title": "Min"
            },
            "type": {
               "const": "datetime-picker",
               "default": "datetime-picker",
               "description": "The input type identifier.",
               "enum": [
                  "datetime-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDatetimePickerInput",
         "type": "object"
      },
      "FormDocumentInput": {
         "description": "Defines that a document file can be attached.",
         "properties": {
            "type": {
               "const": "document",
               "default": "document",
               "description": "The input type identifier.",
               "enum": [
                  "document"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormDocumentInput",
         "type": "object"
      },
      "FormExpressionInfo": {
         "description": "Arcade expression used in the form.",
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The Arcade expression.",
               "title": "Expression"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Unique identifier for the expression.",
               "title": "Name"
            },
            "returnType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ReturnType"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user."
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Title of the expression.",
               "title": "Title"
            }
         },
         "title": "FormExpressionInfo",
         "type": "object"
      },
      "FormFieldElement": {
         "description": "Defines how a field in the dataset participates in the form.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "domain": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CodedValue"
                  },
                  {
                     "$ref": "#/$defs/InheritedDomain"
                  },
                  {
                     "$ref": "#/$defs/RangeDomain"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.",
               "title": "Domain"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced field is not editable, the editable expression is ignored and the element is not editable.",
               "title": "Editableexpression"
            },
            "fieldName": {
               "description": "A string containing the field name as defined by the feature layer.",
               "title": "Fieldname",
               "type": "string"
            },
            "hint": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string representing placeholder text. This only applies for input types that support text or numeric entry.",
               "title": "Hint"
            },
            "inputType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FormBarcodeScannerInput"
                  },
                  {
                     "$ref": "#/$defs/FormComboBoxInput"
                  },
                  {
                     "$ref": "#/$defs/FormDatePickerInput"
                  },
                  {
                     "$ref": "#/$defs/FormDatetimePickerInput"
                  },
                  {
                     "$ref": "#/$defs/FormRadioButtonsInput"
                  },
                  {
                     "$ref": "#/$defs/FormSwitchInput"
                  },
                  {
                     "$ref": "#/$defs/FormTextAreaInput"
                  },
                  {
                     "$ref": "#/$defs/FormTextBoxInput"
                  },
                  {
                     "$ref": "#/$defs/FormTimeInput"
                  },
                  {
                     "$ref": "#/$defs/FormTimestampOffsetPickerInput"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "The input user interface to use for the element.",
               "title": "Inputtype"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.",
               "title": "Label"
            },
            "requiredExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true` and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to `false` the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.",
               "title": "Requiredexpression"
            },
            "type": {
               "const": "field",
               "default": "field",
               "description": "A string indicating which type of element to use.",
               "enum": [
                  "field"
               ],
               "title": "Type",
               "type": "string"
            },
            "valueExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a date, number, or string value.  When this expression evaluates the value of the field will be updated to the result.  This expression is only evaluated when `editableExpression` (if defined) is false but the field itself allows edits.",
               "title": "Valueexpression"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "fieldName",
            "inputType"
         ],
         "title": "FormFieldElement",
         "type": "object"
      },
      "FormGroupElement": {
         "description": "Defines a container that holds a set of form elements that can be expanded, collapsed, or displayed together.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "formElements": {
               "description": "An array of Form Element objects that represent an ordered list of form elements. Nested group elements are not supported.",
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/FormAttachmentElement"
                     },
                     {
                        "$ref": "#/$defs/FormFieldElement"
                     },
                     {
                        "$ref": "#/$defs/FormRelationshipElement"
                     },
                     {
                        "$ref": "#/$defs/FormTextElement"
                     }
                  ]
               },
               "title": "Formelements",
               "type": "array"
            },
            "initialState": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InitialState"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is `expanded`"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Label"
            },
            "type": {
               "const": "group",
               "default": "group",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "group"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "formElements"
         ],
         "title": "FormGroupElement",
         "type": "object"
      },
      "FormImageInput": {
         "description": "Defines that an image file should be attached.",
         "properties": {
            "type": {
               "const": "image",
               "default": "image",
               "description": "The input type identifier.",
               "enum": [
                  "image"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormImageInput",
         "type": "object"
      },
      "FormRadioButtonsInput": {
         "description": "Defines the desired user interface is a radio button group.",
         "properties": {
            "noValueOptionLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The text used to represent a null value.",
               "title": "Novalueoptionlabel"
            },
            "showNoValueOption": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This property only applies to fields that support null values. It indicates whether to display a null value option. If not provided, the default value is `true`.",
               "title": "Shownovalueoption"
            },
            "type": {
               "const": "radio-buttons",
               "default": "radio-buttons",
               "description": "The input type identifier.",
               "enum": [
                  "radio-buttons"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormRadioButtonsInput",
         "type": "object"
      },
      "FormRelationshipElement": {
         "description": "Defines how a relationship between feature layers and tables can participate in the form. When present in the form, the user may have the option to add or edit related records.",
         "properties": {
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string that describes the element in detail.",
               "title": "Description"
            },
            "displayCount": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An integer that indicates the maximum number of records to display.",
               "title": "Displaycount"
            },
            "displayType": {
               "const": "list",
               "default": "list",
               "description": "A string that defines how the related records should be displayed.",
               "enum": [
                  "list"
               ],
               "title": "Displaytype",
               "type": "string"
            },
            "editableExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced related table is not editable, the editable expression is ignored and the element is not editable.",
               "title": "Editableexpression"
            },
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A string value indicating what the element represents.",
               "title": "Label"
            },
            "orderByFields": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/OrderByField"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending <code>'asc'</code> or descending <code>'desc'</code> order.",
               "title": "Orderbyfields"
            },
            "relationshipId": {
               "description": "The id of the relationship as defined in the feature layer definition",
               "title": "Relationshipid",
               "type": "integer"
            },
            "type": {
               "const": "relationship",
               "default": "relationship",
               "description": "String value indicating which type of element to use.",
               "enum": [
                  "relationship"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "relationshipId"
         ],
         "title": "FormRelationshipElement",
         "type": "object"
      },
      "FormSignatureInput": {
         "description": "Defines that a signature should be captured and attached.",
         "properties": {
            "type": {
               "const": "signature",
               "default": "signature",
               "description": "The input type identifier.",
               "enum": [
                  "signature"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormSignatureInput",
         "type": "object"
      },
      "FormSwitchInput": {
         "description": "Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options.",
         "properties": {
            "offValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `off`.",
               "title": "Offvalue"
            },
            "onValue": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The coded value when switch state is `on`.",
               "title": "Onvalue"
            },
            "type": {
               "const": "switch",
               "default": "switch",
               "description": "The input type identifier.",
               "enum": [
                  "switch"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "offValue",
            "onValue"
         ],
         "title": "FormSwitchInput",
         "type": "object"
      },
      "FormTextAreaInput": {
         "description": "Defines the desired user interface is a multi-line text area.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-area",
               "default": "text-area",
               "description": "The input type identifier.",
               "enum": [
                  "text-area"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextAreaInput",
         "type": "object"
      },
      "FormTextBoxInput": {
         "description": "Defines the desired user interface is a single-line text box.",
         "properties": {
            "maxLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
               "title": "Maxlength"
            },
            "minLength": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
               "title": "Minlength"
            },
            "type": {
               "const": "text-box",
               "default": "text-box",
               "description": "The input type identifier.",
               "enum": [
                  "text-box"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTextBoxInput",
         "type": "object"
      },
      "FormTextElement": {
         "description": "Configures read-only text in form elements.",
         "properties": {
            "text": {
               "description": "String value indicating the text to be displayed within the formTextElement.",
               "title": "Text",
               "type": "string"
            },
            "textFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TextFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "plain-text",
               "description": "Defines language of `text` property. Default is `plain-text`."
            },
            "type": {
               "const": "text",
               "default": "text",
               "description": "String value indicating which type of element to use. Valid value of this property is `text`.",
               "enum": [
                  "text"
               ],
               "title": "Type",
               "type": "string"
            },
            "visibilityExpression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
               "title": "Visibilityexpression"
            }
         },
         "required": [
            "text"
         ],
         "title": "FormTextElement",
         "type": "object"
      },
      "FormTimeInput": {
         "description": "Defines the desired user interface is a time picker.",
         "properties": {
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum time to allow. The number represents an extended ISO-8601 time.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "time-picker",
               "default": "time-picker",
               "description": "The input type identifier.",
               "enum": [
                  "time-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimeInput",
         "type": "object"
      },
      "FormTimestampOffsetPickerInput": {
         "description": "Defines the desired user interface is a calendar date and time picker with a time offset.",
         "properties": {
            "includeTimeOffset": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": true,
               "description": "Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is `true`.",
               "title": "Includetimeoffset"
            },
            "max": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Max"
            },
            "min": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
               "title": "Min"
            },
            "timeResolution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeResolution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": "minutes",
               "description": "The resolution identifier. If not specified default is 'minutes'."
            },
            "type": {
               "const": "timestampoffset-picker",
               "default": "timestampoffset-picker",
               "description": "The input type identifier.",
               "enum": [
                  "timestampoffset-picker"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormTimestampOffsetPickerInput",
         "type": "object"
      },
      "FormVideoInput": {
         "description": "Defines that a video file should be attached.",
         "properties": {
            "type": {
               "const": "video",
               "default": "video",
               "description": "The input type indentifier.",
               "enum": [
                  "video"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FormVideoInput",
         "type": "object"
      },
      "InheritedDomain": {
         "description": "This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level.",
         "properties": {
            "type": {
               "const": "inherited",
               "default": "inherited",
               "description": "String value representing the domain type.",
               "enum": [
                  "inherited"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "title": "InheritedDomain",
         "type": "object"
      },
      "InitialState": {
         "description": "Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is `expanded`",
         "enum": [
            "collapsed",
            "expanded"
         ],
         "title": "InitialState",
         "type": "string"
      },
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of the field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "$ref": "#/$defs/Order"
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      },
      "RangeDomain": {
         "description": "Range domain specifies a range of valid values for a field.",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The domain name.",
               "title": "Name"
            },
            "range": {
               "anyOf": [
                  {
                     "items": {
                        "type": "number"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "integer"
                     },
                     "type": "array"
                  }
               ],
               "description": "The first element is the minValue and the second element is the maxValue.",
               "maxLength": 2,
               "minLength": 2,
               "title": "Range"
            },
            "type": {
               "const": "range",
               "default": "range",
               "description": "String value representing the domain type.",
               "enum": [
                  "range"
               ],
               "title": "Type",
               "type": "string"
            }
         },
         "required": [
            "range"
         ],
         "title": "RangeDomain",
         "type": "object"
      },
      "ReturnType": {
         "description": "Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user.",
         "enum": [
            "boolean",
            "date",
            "dateOnly",
            "number",
            "string",
            "time"
         ],
         "title": "ReturnType",
         "type": "string"
      },
      "TextFormat": {
         "description": "Defines language of `text` property. Default is `plain-text`.",
         "enum": [
            "markdown",
            "plain-text"
         ],
         "title": "TextFormat",
         "type": "string"
      },
      "TimeResolution": {
         "description": "The resolution identifier. If not specified default is 'minutes'.",
         "enum": [
            "milliseconds",
            "minutes",
            "seconds"
         ],
         "title": "TimeResolution",
         "type": "string"
      },
      "UniqueCodedValue": {
         "description": "A set of valid coded values with unique names.",
         "properties": {
            "code": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  }
               ],
               "description": "The value stored in the feature attribute.",
               "title": "Code"
            },
            "name": {
               "description": "User-friendly name for what the code means.",
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "code",
            "name"
         ],
         "title": "UniqueCodedValue",
         "type": "object"
      }
   },
   "required": [
      "formElements"
   ]
}

field description = None

A string that appears in the body of the form as a description.

field expression_infos = None (alias 'expressionInfos')

List of Arcade expressions used in the form.

field form_elements [Required] (alias 'formElements')

An array of formElement objects that represent an ordered list of form elements.

field preserve_field_values_when_hidden = None (alias 'preserveFieldValuesWhenHidden')

Determines whether a previously visible formFieldElement value is retained or cleared when a visibilityExpression applied on the formFieldElement or its parent formGroupElement evaluates to false. Default is false.

field title = None

A string that appears at the top of the form as a title.

FormRadioButtonInput

FormRelationshipElement

pydantic model arcgis.map.forms.FormRelationshipElement

Defines how a relationship between feature layers and tables can participate in the form. When present in the form, the user may have the option to add or edit related records.

Show JSON schema
{
   "title": "FormRelationshipElement",
   "description": "Defines how a relationship between feature layers and tables can participate in the form. When present in the form, the user may have the option to add or edit related records.",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string that describes the element in detail.",
         "title": "Description"
      },
      "displayCount": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An integer that indicates the maximum number of records to display.",
         "title": "Displaycount"
      },
      "displayType": {
         "const": "list",
         "default": "list",
         "description": "A string that defines how the related records should be displayed.",
         "enum": [
            "list"
         ],
         "title": "Displaytype",
         "type": "string"
      },
      "editableExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is editable. When the expression evaluates to `false` the element is not editable. If the referenced related table is not editable, the editable expression is ignored and the element is not editable.",
         "title": "Editableexpression"
      },
      "label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A string value indicating what the element represents.",
         "title": "Label"
      },
      "orderByFields": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/OrderByField"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending <code>'asc'</code> or descending <code>'desc'</code> order.",
         "title": "Orderbyfields"
      },
      "relationshipId": {
         "description": "The id of the relationship as defined in the feature layer definition",
         "title": "Relationshipid",
         "type": "integer"
      },
      "type": {
         "const": "relationship",
         "default": "relationship",
         "description": "String value indicating which type of element to use.",
         "enum": [
            "relationship"
         ],
         "title": "Type",
         "type": "string"
      },
      "visibilityExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
         "title": "Visibilityexpression"
      }
   },
   "$defs": {
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of the field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      },
      "OrderByField": {
         "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
         "properties": {
            "field": {
               "description": "Name of a field. The value of this field will drive the sorting.",
               "title": "Field",
               "type": "string"
            },
            "order": {
               "$ref": "#/$defs/Order"
            }
         },
         "required": [
            "field",
            "order"
         ],
         "title": "OrderByField",
         "type": "object"
      }
   },
   "required": [
      "relationshipId"
   ]
}

field description = None

A string that describes the element in detail.

field display_count = None (alias 'displayCount')

An integer that indicates the maximum number of records to display.

field display_type = 'list' (alias 'displayType')

A string that defines how the related records should be displayed.

field editable_expression = None (alias 'editableExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is editable. When the expression evaluates to false the element is not editable. If the referenced related table is not editable, the editable expression is ignored and the element is not editable.

field label = None

A string value indicating what the element represents.

field order_by_fields = None (alias 'orderByFields')

Array of orderByField objects indicating the display order for the related records, and whether they should be sorted in ascending <code>’asc’</code> or descending <code>’desc’</code> order.

field relationship_id [Required] (alias 'relationshipId')

The id of the relationship as defined in the feature layer definition

field type = 'relationship'

String value indicating which type of element to use.

field visibility_expression = None (alias 'visibilityExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.

FormSignatureInput

pydantic model arcgis.map.forms.FormSignatureInput

Defines that a signature should be captured and attached.

Show JSON schema
{
   "title": "FormSignatureInput",
   "description": "Defines that a signature should be captured and attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "signature",
         "default": "signature",
         "description": "The input type identifier.",
         "enum": [
            "signature"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'signature'

The input type identifier.

FormSwitchInput

pydantic model arcgis.map.forms.FormSwitchInput

Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options.

Show JSON schema
{
   "title": "FormSwitchInput",
   "description": "Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options.",
   "type": "object",
   "properties": {
      "offValue": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "string"
            }
         ],
         "description": "The coded value when switch state is `off`.",
         "title": "Offvalue"
      },
      "onValue": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "string"
            }
         ],
         "description": "The coded value when switch state is `on`.",
         "title": "Onvalue"
      },
      "type": {
         "const": "switch",
         "default": "switch",
         "description": "The input type identifier.",
         "enum": [
            "switch"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "offValue",
      "onValue"
   ]
}

field off_value [Required] (alias 'offValue')

The coded value when switch state is off.

field on_value [Required] (alias 'onValue')

The coded value when switch state is on.

field type = 'switch'

The input type identifier.

FormTextAreaInput

pydantic model arcgis.map.forms.FormTextAreaInput

Defines the desired user interface is a multi-line text area.

Show JSON schema
{
   "title": "FormTextAreaInput",
   "description": "Defines the desired user interface is a multi-line text area.",
   "type": "object",
   "properties": {
      "maxLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.",
         "title": "Maxlength"
      },
      "minLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.",
         "title": "Minlength"
      },
      "type": {
         "const": "text-area",
         "default": "text-area",
         "description": "The input type identifier.",
         "enum": [
            "text-area"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field max_length = None (alias 'maxLength')

This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.

field min_length = None (alias 'minLength')

This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.

field type = 'text-area'

The input type identifier.

FormTextBoxInput

pydantic model arcgis.map.forms.FormTextBoxInput

Defines the desired user interface is a single-line text box.

Show JSON schema
{
   "title": "FormTextBoxInput",
   "description": "Defines the desired user interface is a single-line text box.",
   "type": "object",
   "properties": {
      "maxLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
         "title": "Maxlength"
      },
      "minLength": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
         "title": "Minlength"
      },
      "type": {
         "const": "text-box",
         "default": "text-box",
         "description": "The input type identifier.",
         "enum": [
            "text-box"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field max_length = None (alias 'maxLength')

This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.

field min_length = None (alias 'minLength')

This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.

field type = 'text-box'

The input type identifier.

FormTextElement

pydantic model arcgis.map.forms.FormTextElement

Configures read-only text in form elements.

Show JSON schema
{
   "title": "FormTextElement",
   "description": "Configures read-only text in form elements.",
   "type": "object",
   "properties": {
      "text": {
         "description": "String value indicating the text to be displayed within the formTextElement.",
         "title": "Text",
         "type": "string"
      },
      "textFormat": {
         "anyOf": [
            {
               "$ref": "#/$defs/TextFormat"
            },
            {
               "type": "null"
            }
         ],
         "default": "plain-text",
         "description": "Defines language of `text` property. Default is `plain-text`."
      },
      "type": {
         "const": "text",
         "default": "text",
         "description": "String value indicating which type of element to use. Valid value of this property is `text`.",
         "enum": [
            "text"
         ],
         "title": "Type",
         "type": "string"
      },
      "visibilityExpression": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to `true`, the element is displayed. When the expression evaluates to `false` the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
         "title": "Visibilityexpression"
      }
   },
   "$defs": {
      "TextFormat": {
         "description": "Defines language of `text` property. Default is `plain-text`.",
         "enum": [
            "markdown",
            "plain-text"
         ],
         "title": "TextFormat",
         "type": "string"
      }
   },
   "required": [
      "text"
   ]
}

field text [Required]

String value indicating the text to be displayed within the formTextElement.

field text_format = TextFormat.plain_text (alias 'textFormat')

Defines language of text property. Default is plain-text.

field type = 'text'

String value indicating which type of element to use. Valid value of this property is text.

field visibility_expression = None (alias 'visibilityExpression')

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.

FormTimeInput

pydantic model arcgis.map.forms.FormTimeInput

Defines the desired user interface is a time picker.

Show JSON schema
{
   "title": "FormTimeInput",
   "description": "Defines the desired user interface is a time picker.",
   "type": "object",
   "properties": {
      "max": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum time to allow. The number represents an extended ISO-8601 time.",
         "title": "Max"
      },
      "min": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum time to allow. The number represents an extended ISO-8601 time.",
         "title": "Min"
      },
      "timeResolution": {
         "anyOf": [
            {
               "$ref": "#/$defs/TimeResolution"
            },
            {
               "type": "null"
            }
         ],
         "default": "minutes",
         "description": "The resolution identifier. If not specified default is 'minutes'."
      },
      "type": {
         "const": "time-picker",
         "default": "time-picker",
         "description": "The input type identifier.",
         "enum": [
            "time-picker"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "TimeResolution": {
         "description": "The resolution identifier. If not specified default is 'minutes'.",
         "enum": [
            "milliseconds",
            "minutes",
            "seconds"
         ],
         "title": "TimeResolution",
         "type": "string"
      }
   }
}

field max = None

The maximum time to allow. The number represents an extended ISO-8601 time.

field min = None

The minimum time to allow. The number represents an extended ISO-8601 time.

field time_resolution = 'minutes' (alias 'timeResolution')

The resolution identifier. If not specified default is ‘minutes’.

field type = 'time-picker'

The input type identifier.

FormTimestampOffsetPickerInput

pydantic model arcgis.map.forms.FormTimestampOffsetPickerInput

Defines the desired user interface is a calendar date and time picker with a time offset.

Show JSON schema
{
   "title": "FormTimestampOffsetPickerInput",
   "description": "Defines the desired user interface is a calendar date and time picker with a time offset.",
   "type": "object",
   "properties": {
      "includeTimeOffset": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": true,
         "description": "Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is `true`.",
         "title": "Includetimeoffset"
      },
      "max": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
         "title": "Max"
      },
      "min": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.",
         "title": "Min"
      },
      "timeResolution": {
         "anyOf": [
            {
               "$ref": "#/$defs/TimeResolution"
            },
            {
               "type": "null"
            }
         ],
         "default": "minutes",
         "description": "The resolution identifier. If not specified default is 'minutes'."
      },
      "type": {
         "const": "timestampoffset-picker",
         "default": "timestampoffset-picker",
         "description": "The input type identifier.",
         "enum": [
            "timestampoffset-picker"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "$defs": {
      "TimeResolution": {
         "description": "The resolution identifier. If not specified default is 'minutes'.",
         "enum": [
            "milliseconds",
            "minutes",
            "seconds"
         ],
         "title": "TimeResolution",
         "type": "string"
      }
   }
}

field include_time_offset = True (alias 'includeTimeOffset')

Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is true.

field max = None

The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.

field min = None

The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.

field time_resolution = 'minutes' (alias 'timeResolution')

The resolution identifier. If not specified default is ‘minutes’.

field type = 'timestampoffset-picker'

The input type identifier.

FormVideoInput

pydantic model arcgis.map.forms.FormVideoInput

Defines that a video file should be attached.

Show JSON schema
{
   "title": "FormVideoInput",
   "description": "Defines that a video file should be attached.",
   "type": "object",
   "properties": {
      "type": {
         "const": "video",
         "default": "video",
         "description": "The input type indentifier.",
         "enum": [
            "video"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'video'

The input type indentifier.

InheritedDomain

pydantic model arcgis.map.forms.InheritedDomain

This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level.

Show JSON schema
{
   "title": "InheritedDomain",
   "description": "This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level.",
   "type": "object",
   "properties": {
      "type": {
         "const": "inherited",
         "default": "inherited",
         "description": "String value representing the domain type.",
         "enum": [
            "inherited"
         ],
         "title": "Type",
         "type": "string"
      }
   }
}

field type = 'inherited'

String value representing the domain type.

InitialState

class arcgis.map.forms.InitialState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is expanded

collapsed = 'collapsed'
expanded = 'expanded'

Order

class arcgis.map.forms.Order(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Indicates whether features are sorted in ascending or descending order of the field values.

asc = 'asc'
desc = 'desc'

OrderByField

pydantic model arcgis.map.forms.OrderByField

Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.

Show JSON schema
{
   "title": "OrderByField",
   "description": "Object defining the display order of features or records based on a field value, and whether they should be sorted in ascending or descending order.",
   "type": "object",
   "properties": {
      "field": {
         "description": "Name of a field. The value of this field will drive the sorting.",
         "title": "Field",
         "type": "string"
      },
      "order": {
         "$ref": "#/$defs/Order"
      }
   },
   "$defs": {
      "Order": {
         "description": "Indicates whether features are sorted in ascending or descending order of the field values.",
         "enum": [
            "asc",
            "desc"
         ],
         "title": "Order",
         "type": "string"
      }
   },
   "required": [
      "field",
      "order"
   ]
}

field field [Required]

Name of a field. The value of this field will drive the sorting.

field order [Required]

Indicates whether features are sorted in ascending or descending order of the field values.

RangeDomain

pydantic model arcgis.map.forms.RangeDomain

Range domain specifies a range of valid values for a field.

Show JSON schema
{
   "title": "RangeDomain",
   "description": "Range domain specifies a range of valid values for a field.",
   "type": "object",
   "properties": {
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The domain name.",
         "title": "Name"
      },
      "range": {
         "anyOf": [
            {
               "items": {
                  "type": "number"
               },
               "type": "array"
            },
            {
               "items": {
                  "type": "integer"
               },
               "type": "array"
            }
         ],
         "description": "The first element is the minValue and the second element is the maxValue.",
         "maxLength": 2,
         "minLength": 2,
         "title": "Range"
      },
      "type": {
         "const": "range",
         "default": "range",
         "description": "String value representing the domain type.",
         "enum": [
            "range"
         ],
         "title": "Type",
         "type": "string"
      }
   },
   "required": [
      "range"
   ]
}

field name = None

The domain name.

field range [Required]

The first element is the minValue and the second element is the maxValue.

Constraints:
  • min_length = 2

  • max_length = 2

field type = 'range'

String value representing the domain type.

ReturnType

class arcgis.map.forms.ReturnType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user.

boolean = 'boolean'
date = 'date'
date_only = 'dateOnly'
number = 'number'
string = 'string'
time = 'time'

TextFormat

class arcgis.map.forms.TextFormat(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Defines language of text property. Default is plain-text.

markdown = 'markdown'
plain_text = 'plain-text'

TimeResolution

class arcgis.map.forms.TimeResolution(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

The resolution identifier. If not specified default is ‘minutes’.

milliseconds = 'milliseconds'
minutes = 'minutes'
seconds = 'seconds'

UniqueCodedValue

pydantic model arcgis.map.forms.UniqueCodedValue

A set of valid coded values with unique names.

Show JSON schema
{
   "title": "UniqueCodedValue",
   "description": "A set of valid coded values with unique names.",
   "type": "object",
   "properties": {
      "code": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            }
         ],
         "description": "The value stored in the feature attribute.",
         "title": "Code"
      },
      "name": {
         "description": "User-friendly name for what the code means.",
         "title": "Name",
         "type": "string"
      }
   },
   "required": [
      "code",
      "name"
   ]
}

field code [Required]

The value stored in the feature attribute.

field name [Required]

User-friendly name for what the code means.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.