Skip to content

Map

class arcgis.map.Map(**kwargs: Any)

Class that can be used to visualize content in a Jupyter Lab notebook and/or used to create and save web map items.

Note

A Map object can be managed through Python scripts, but is only able to be visualized within a Jupyter Lab or ArcGIS notebooks environment.

Parameter

Description

location

Optional string. The address or place to center the map widget.

item

Optional Web Map Item. If provided will be used to initialize a map widget object.

gis

Optional GIS. The GIS instance to use for working with the map. If no argument is provided, the current active GIS will be used.

Note

Particularly important to use in notebooks with multiple GIS instances.

Returns:

A map widget instance.

# Usage Example 1: Initializing map with existing web map
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

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

new_map = Map(item=wm_item)
property basemap: BasemapManager

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

property bookmarks: 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.

property 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: MapContent

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: str, title: str | None = None) bool

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.

property extent

Get/Set the map’s extent.

Parameter

Description

extent

A dictionary that represents the JSON of the map widget’s extent.

Returns:

A dictionary representing the map’s 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 }
}
js_api_path

A trait for unicode strings.

js_requirement()

Return the JS API version needed to work with the current version of the mapping module in a disconnected environment. For more information on how to set up your disconnected environment, see https://developers.arcgis.com/python/latest/guide/install-and-set-up/offline/

Returns:

A dictionary in the format: {“JS_API”: <version_number>}.

property layer_list: LayerList

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: 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: OfflineMapAreaManager | None

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: str, extent: dict[str, Any], dpi: int = 92, output_dimensions: tuple[float] = (500, 500), scale: float | None = None, rotation: float | None = None, spatial_reference: dict[str, Any] | None = None, layout_template: str = 'MAP_ONLY', time_extent: tuple[int] | list[int] | None = None, layout_options: dict[str, Any] | None = None) str

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 parameter.

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.

# USAGE EXAMPLE 1: Printing a web map to a JPG file of desired extent.

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

# connect to your GIS and get the web map item
gis = GIS(url, username, password)
wm_item = gis.content.get('1234abcd_web map item id')

# create a WebMap object from the existing web map item
wm = Map(item=wm_item)

# create an empty web map
wm2 = Map()
wm2.content.add(<desired Item or Layer object>)

# set extent
redlands_extent = {'spatialReference': {'latestWkid': 3857, 'wkid': 102100},
                     'xmin': -13074746.000753032,
                     'ymin': 4020957.451106308,
                     'xmax': -13014666.49652086,
                     'ymax': 4051532.26242039}

# print
printed_file_url = wm.print(file_format='JPG', extent=redlands_extent)
printed_file2_url = wm2.print(file_format='PNG32', extent=redlands_extent)

# Display the result in a notebook:
from IPython.display import Image
Image(printed_file_url)

# Download file to disk
import requests
with requests.get(printed_file_url) as resp:
    with open('./output_file.png', 'wb') as file_handle:
        file_handle.write(resp.content)
property 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: dict[str, Any], thumbnail: str | None = None, metadata: str | None = None, owner: str | None = None, folder: str | None = None) Item

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’)

property 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: Map | list[Map]) None

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: TimeSlider

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: Map | list[Map] | None = None) 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: dict[str, Any] | None = None, thumbnail: str | None = None, metadata: str | None = None) bool

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).

property 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: Item | dict | FeatureSet | FeatureLayer | SubtypeGroupLayer | FeatureCollection) None

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 , FeatureLayer, SubtypeGroupLayer, FeatureSet, or FeatureCollection object.

Map Classes

Bookmarks

class arcgis.map.map_widget.Bookmarks(map: 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: str, extent: dict, rotation: int | None = None, time_extent: dict | None = None, index: int | None = None) bool

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: bool

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: list[Bookmark]
remove(index: int) bool

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: Bookmark, bm_mngr: Bookmarks)

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: str | None = None, extent: dict | None = None, rotation: int | None = None, time_extent: dict | None = None) 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: dict

Returns the extent of the bookmark

property name: str

Returns the name of the bookmark

property viewpoint: dict

Returns the current viewpoint set for the bookmark

MapContent

class arcgis.map.map_widget.MapContent(webmap: Map)

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: Item | Layer | Table | FeatureCollection | DataFrame | list | str, drawing_info: dict | None = None, popup_info: PopupInfo = None, index: int | None = None, options: dict | None = None) None

Add a layer or table to the map.

Note

The spatial reference of the map is derived from the basemap layer. If the spatial reference of the layer being added is different from the map’s spatial reference, you may not see it render correctly. You can set the layer as the basemap to change the map’s spatial reference.

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.

Note

If the item is a WMTS Layer, you can pass a key-value pair in the options parameter to select which layer to add if the WMTS service has multiple layers. The key should be ‘layer’ and the value should be the layer identifier. If nothing is passed, the first layer will be added.

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.

You can pass in the service item id associated to the service url to persist renderer and popup info that is available in the service item.

You can pass custom parameters as well by adding a key-value pair to the dictionary. Example: {“custom_parameters”: {“subscription-key”: “your_key”}}

# 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.content.add(item, drawing_info={"renderer": renderer})
clear_cache()
draw(shape, popup=None, symbol=None, attributes=None, title: str | None = None) None

Draw a shape on the map. This will add the shape as a feature collection to your layers of the map. Anything can be drawn from known Geometry objects.

The shape will be drawn as a feature collection on the map. This means that the shape will be added as a layer to the map. The shape will be drawn with the symbol and popup info that is passed in. If no symbol is passed in, a default symbol will be created based on the geometry type. If no popup is passed in, a default popup will be created with the title of the feature collection. The attributes will be added to the feature collection as well.

Note

Ensure that the spatial reference of the shape matches the spatial reference of the map. If the spatial reference does not match, the shape will be added but not drawn on the map. To see the spatial reference of the map, call the extent property on the map.

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: int) FormInfo

Deprecated since version 2.4.3: Removed in: 2.5.0. Use form_manager.form_info instead.

Deprecated since version 2.4.3: Removed in: 2.5.0. Use form_manager.form_info instead.

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.

form_manager(index: int) FormManager

Get an instance of the FormManager 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 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 form_manager method in that class.

Returns:

FormManager class for the layer specified.

get_layer(title: str) Layer

Get a layer or table from the map by title. If the layer is added more than once only the first instance of the layer will be returned.

..note::

To find a layer by index you can use the layer_info method to see the layers in a table form.

Parameter

Definition

title

Required string. The title of the layer or table to get.

Returns:

Layer

get_table(title: str) arcgis.gis.Table

Get a table from the map by title. If the table is added more than once only the first instance of the table will be returned.

..note::

To find a table by index you can use the table_info method to see the tables in a table form.

Parameter

Definition

title

Required string. The title of the table to get.

Returns:

Table

property layer_info: DataFrame

Return a DataFrame with information about the layers in the map.

layer_visibility(index: int) LayerVisibility

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: list
move(index: int, group: GroupLayer) None

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: int) bool

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: int, is_table: bool = False) PopupManager

Deprecated since version 2.4.3: Removed in: 2.5.0. Use popup_manager method instead.

Deprecated since version 2.4.3: Removed in: 2.5.0. Use popup_manager method instead.

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.

is_table

Optional boolean. Set to True if the layer is a table.

Returns:

PopupManager class for the layer specified. If popups are not supported for the layer, you will get an error.

popup_manager(index: int, is_table: bool = False) PopupManager

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. If popups are not supported for the layer, you will get an error.

remove(index: int | None = None, is_layer: bool = True) bool

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() bool

Remove all layers and tables from the map.

renderer(index) RendererManager

Deprecated since version 2.4.3: Removed in: 2.5.0. Use renderer_manager method instead.

Deprecated since version 2.4.3: Removed in: 2.5.0. Use renderer_manager method instead.

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.

renderer_manager(index) RendererManager

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: int, new_index: int) None

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: int) None

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.

property table_info: DataFrame

Return a DataFrame with information about the tables in the map.

tables: list
update_layer(index: int = None, labeling_info: list[dict[str, Any]] | None = None, renderer: renderer.SimpleRenderer | renderer.HeatmapRenderer | renderer.PieChartRenderer | renderer.ClassBreaksRenderer | renderer.UniqueValueRenderer | renderer.DotDensityRenderer | renderer.DictionaryRenderer | None = None, scale_symbols: bool | None = None, transparency: int | None = None, options: dict | None = None, form: forms.FormInfo | None = None) 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.

OfflineMapAreaManager

PackagingJob

class arcgis.map.offline_mapping.PackagingJob(future, notify=False)

Bases: object

The PackagingJob class represents a Single Packaging Job.

Parameter

Description

future

Required Future object. The async object created by the geoprocessing GPTask.

notify

Optional Boolean. When set to True, a message will inform the user that the geoprocessing task has completed. The default is False.

cancel() bool

The cancel method attempts to cancel the job.

Note

If the call is currently being executed or finished running and cannot be cancelled then the method will return False, otherwise the call will be cancelled and the method will return True.

Returns:

A boolean indicating the call will be cancelled (True), or cannot be cancelled (False)

cancelled() bool

The cancelled method retrieves whether the call was successfully cancelled.

Returns:

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

done() bool

The done method retrieves whether the call was successfully cancelled or finished running.

Returns:

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

property elapse_time: timedelta | str

Reports the total amount of time that passed while the PackagingJob ran.

Returns:

The elapsed time

result() Any

The result method retrieves the value returned by the call.

Note

If the call hasn’t yet completed then this method will wait.

Returns:

An Object

running() bool

The running method retrieves whether the call is currently being executed and cannot be cancelled.

Returns:

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

property status: str

Get the GP status of the call.

Returns:

A String

Scene

class arcgis.map.scene_widget.Scene(**kwargs: Any)

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: BasemapManager

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

property 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
}
property 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: SceneContent

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: 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.

property 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: float

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.

js_api_path

A trait for unicode strings.

js_requirement()

Return the JS API version needed to work with the current version of the mapping module in a disconnected environment. For more information on how to set up your disconnected environment, see https://developers.arcgis.com/python/latest/guide/install-and-set-up/offline/

Returns:

A dictionary in the format: {“JS_API”: <version_number>}.

property layer_list: LayerList

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: 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: dict[str, Any], thumbnail: str | None = None, metadata: str | None = None, owner: str | None = None, folder: str | None = None) Item

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 = webscene.save(webscene_item_properties, thumbnail=’./webscene_thumbnail.png’)

property 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.

sync_navigation(scene: Scene | list[Scene]) None

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: float

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: TimeSlider

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: Scene | list[Scene] | None = None) 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: dict[str, Any] | None = None, thumbnail: str | None = None, metadata: str | None = None) bool

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: str

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.

property 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 represents the zoom level

# Usage example
scene.zoom = 10
zoom_to_layer(item: arcgis.gis.Item | features.FeatureSet | features.FeatureCollection | features.Layer | features.DataFrame | str) None

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: 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: bool

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: bool

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: 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: Item | Layer, drawing_info: dict | None = None, popup_info: dict | None = None, index: int | None = None) 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.

clear_cache()
get_layer(title: str) Layer

Get a layer or table from the scene by title. If the layer is added more than once only the first instance of the layer will be returned.

..note::

To find a layer by index you can use the layer_info method to see the layers in a table form.

Returns:

A layer or table from the scene.

layer_info()

Get the layers in the scene.

Returns:

A list of dictionaries representing the layers in the scene.

layer_visibility(index: int) LayerVisibility

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: list
move_to_basemap(index: int) None

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: int) PopupManager

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: int | None = None, is_layer: bool = True) bool

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() bool

Remove all layers and tables from the scene.

tables: list
update_layer(index: int = None, labeling_info: list[dict[str, Any]] | None = None, renderer: SimpleRenderer | HeatmapRenderer | PieChartRenderer | ClassBreaksRenderer | UniqueValueRenderer | DotDensityRenderer | DictionaryRenderer | None = None, scale_symbols: bool | None = None, transparency: int | None = None) 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 for 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: bool

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.map_widget.LayerVisibility(layer: 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: bool

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: bool

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: bool

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: bool

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: datetime | None = None, end_time: datetime | None = None, time_interval: dict | None = None, layer_idx: int = 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: str | Item

Get and/or set the current basemap of the Map or Scene. Basemap values can be found by calling the basemaps or basemap_gallery property. An existing web map Item type can also be assigned, and then its basemap will be set as the map object’s basemap.

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

To use the ArcGIS Basemap Styles service to set the basemap, pass a basemap style to use.

Note

Only works on rendered map instances.

# Usage Example #1: Set the basemap with the styles service

>>> from arcgis.gis import GIS

>>> gis = GIS(profile="your_online_profile")
>>> new_map = gis.map("Geneva")

>>> styles_svc = new_map.basemap.basemap_styles_service

>>> styles_svc.styles_names

['ArcGIS Imagery',
 'ArcGIS Imagery Standard',
 'ArcGIS Dark Gray'
 ...
 'Open Basemaps OpenStreetMap Style']

>>> dark_gray_style = styles_svc.get_style("ArcGIS Dark Gray")

>>> new_map.basemap.basemap = dark_gray_style

# Usage Example #2: Set the basemap with value from *basemaps* list

>>> new_map.basemap.basemaps
['satellite'
 'hybrid',
 ...
 'osm-streets']

>>> new_map.basemap.basemap = "satellite"
# visible in rendered map in an ArcGIS Notebook

Note

If you set a basemap with a different spatial reference than a webmap or webscene, any operational layers on the original map will not be re-projected automatically.

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

property basemap_styles_service: BasemapStylesService

This property returns a BasemapStylesService object providing access to the ArcGIS Basemap Styles service. It allows users to retrieve and manage basemap style objects for use in ArcGIS Notebooks and mapping applications.

Note

Only available in ArcGIS Online or Location Platform.

property basemaps: list[str]

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

property basemaps3d: list[str]

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: int) bool

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: int) bool

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.

Basemap Styles Services

BasemapStylesService

BasemapStyle

Basemap Styles Enumerations

BasemapStylesLanguage

class arcgis.map.BasemapStylesLanguage(*values)
ARABIC = 'ar'
BOSNIAN = 'bs'
BULGARIAN = 'bg'
CATALAN = 'ca'
CHINESE_HONG_KONG = 'zh-HK'
CHINESE_SIMPLIFIED = 'zh-CN'
CHINESE_TAIWAN = 'zh-TW'
CROATIAN = 'hr'
CZECH = 'cs'
DANISH = 'da'
DUTCH = 'nl'
ENGLISH = 'en'
ESTONIAN = 'et'
FINNISH = 'fi'
FRENCH = 'fr'
GERMAN = 'de'
GLOBAL = 'global'
GREEK = 'el'
HEBREW = 'he'
HUNGARIAN = 'hu'
INDONESIAN = 'id'
ITALIAN = 'it'
JAPANESE = 'ja'
KOREAN = 'ko'
LATVIAN = 'lv'
LITHUANIAN = 'lt'
LOCAL = 'local'
NORWEGIAN = 'no'
NORWEGIAN_BOKMAL = 'nb'
POLISH = 'pl'
PORTUGUESE_BRAZIL = 'pt-BR'
PORTUGUESE_PORTUGAL = 'pt-PT'
ROMANIAN = 'ro'
RUSSIAN = 'ru'
SERBIAN = 'sr'
SLOVAK = 'sk'
SLOVENIAN = 'sl'
SPANISH = 'es'
SWEDISH = 'sv'
THAI = 'th'
TURKISH = 'tr'
UKRAINIAN = 'uk'
VIETNAMESE = 'vi'

BasemapStylesPlace

class arcgis.map.BasemapStylesPlace(*values)
ALL = 'all'
ATTRIBUTED = 'attributed'
NONE = 'none'

BasemapStylesWorldview

class arcgis.map.BasemapStylesWorldview(*values)
CHINA = 'china'
INDIA = 'india'
ISRAEL = 'israel'
JAPAN = 'japan'
MOROCCO = 'morocco'
NONE = 'none'
PAKISTAN = 'pakistan'
SOUTH_KOREA = 'southKorea'
UNITED_ARAB_EMIRATES = 'unitedArabEmirates'
UNITED_STATES = 'unitedStatesOfAmerica'
VIETNAM = 'vietnam'

GroupLayer

class arcgis.map.group_layer.GroupLayer(group_layer: Layer, map: Map | Scene, parent: BaseGroup | Map | Scene)

Provides the ability to organize several layers into one common layer in a map instance. For example, if there are several feature layers that all represent water features, they can be organized as sublayers of a group layer in a web map.

Note

This class is not created by user directly, but is populated by accessing the layers property of a MapContent object and assigning a variable to the index position within the map content layers`.

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

gis = GIS(profile="your_organization_profile")

wm_item = gis.content.search(
              query=f"title:{Water *} and owner:{gis.users.me.username}",
              item_type="Web Map"
)[0]

wm_obj = Map(item=wm_item)
map_content = wm_obj.content
map_content.layers

>>>[GroupLayer(title=City Water Administration),
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>.../city_limit/FeatureServer/0">]

grp_lyr = map_content.layers[0]
grp_lyr

>>> GroupLayer(title=City Water Administration)
form_manager(index: int)

Get an instance of the FormManager class for managing the forms of the specified map layer.

Parameter

Description

index

Required integer specifying the index position of the layer whose FormManager will be accessed. Layer needs to be in the list of layers retrieved from the layer_info property on a GroupLayer, SubtypeGroupLayer or MapContent object.

property layer_info: DataFrame

Get a Pandas DataFrame with index position, title, and type of each layer in the GroupLayer.

Returns:

Pandas DataFrame with information about sublayers.

# Usage Example: Get the PopupManager for a layer in map Group layer
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

webmap_item = gis.content.get("<item_id>")

webmap_obj = Map(item=webmap_item)
print(webmap_obj.content.layers)

>>>
   [GroupLayer(title=Conservation Administration),
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>/.../habitats/FeatureServer/0">]

map_grplyr = webmap_obj.content.layers[0]
map_grplyr.layer_info

>>>
    Layer Index         Layer Title          Layer Type
0           0         Critical areas       ArcGIS Feature Layer
1           1         Townships            ArcGIS Feature Layer
2           2     City land boundary   ArcGIS Feature Layer
layer_visibility(index: int)

Get an instance of the LayerVisibility class for managing the visibility of the specified map layer.

Parameter

Description

index

Required integer specifying the index position of the layer whose LayerVisibility will be managed. Layer needs to be in the list of layers retrieved from the layer_info property on a GroupLayer, SubtypeGroupLayer or MapContent object.

Returns:

A LayerVisiblity object for the specified layer.

# Usage Example: Get an object to manager the visiblity of
# one subtype layer in a SubtypeGroupLayer

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

gis = GIS(profile="your_organization_profile")

wm_item = gis.content.search(query="Damage *", item_type="Web Map")[0]

map_obj = Map(item=wm_item)

map_obj.content.layer_info

>>>
      Layer Index        Layer Title                    Layer Class
    0         0             Water_Infrastructure    SubtypeGroupLayer(title=Water Infrastructure)

subtype_grplyr = map_obj.content.layers[0]
subtype_grplyr.layer_info

>>>
      Layer Index         Layer Title          Layer Type
    0       0               TIDAL_WATER_S       ArcGIS Feature Layer
    1       1               SPILLWAY_S          ArcGIS Feature Layer
    2       2               RIVER_S             ArcGIS Feature Layer
    3       3               RAPIDS_S            ArcGIS Feature Layer
    4       4               DAM_S               ArcGIS Feature Layer

lv_3 = subtype_grplyr.layer_visibility(index=3)
lv_3

>>> LayerVisibility(layer=RAPIDS_S)
property layers: list

Get the list of layers in the group layer.

Returns the user-facing Python API layer objects: - FeatureLayer, MapImageLayer, VectorTileLayer, GroupLayer, etc.

move(index: int, group: GroupLayer | None = None) None

Move a layer from its 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_manager(index: int)

Get an instance of the PopupManager for the layer specified with the index value. Specify the layer through it’s index position, which is accessible with the layer_info property on the following class instances:

Parameter

Description

index

Required integer specifying the index position of the layer whose popup will be managed. The index position can be retrieved from the the layer_info property on a MapContent, GroupLayer, or SubtypeGroupLayer object.

Returns:

PopupManager instance for the layer specified.

# Usage Example: Get the PopupManager for a layer in map Group layer
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

webmap_item = gis.content.get("<item_id>")

webmap_obj = Map(item=webmap_item)
print(webmap_obj.content.layers)

>>>
   [GroupLayer(title=Conservation Administration),
    SubtypeGroupLayer(title=Water_bodies),
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>/arcgis/rest/services/conservation_areas/FeatureServer/0">]

map_grplyr = webmap_obj.content.layers[0]
map_grplyr.layer_info

>>>
    Layer Index         Layer Title          Layer Type
0           0         Proteced areas       ArcGIS Feature Layer
1           1         Townships            ArcGIS Feature Layer
2           2     Easement boundaries  ArcGIS Feature Layer

easement_pmgr = map_grplyr.popup_manager(index=2)
easement_pmgr

PopupManager(layer=Easement boundaries)
remove_layer(index: int) None

Remove a layer from the GroupLayer’s layers by index.

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_manager(index: int)

Get an instance of the RendererManager class for the specified map layer. Specify the layer through it’s index position accessed from the layer_info property on GroupLayer, SubtypeGroupLayer or MapContent object.

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.

Returns:

RendererManager instance for the layer specified.

# Usage Example: Get the RendererManager from a map's MapContent object
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

webmap_item = gis.content.get("<item_id>")

webmap_obj = Map(item=webmap_item)
print(webmap_obj.content.layers)

>>>
   [<FeatureLayer url:"https://services7.arcgis.com/<org_id>/.../hazard_areas/FeatureServer/0">>
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>/.../safe_zones/FeatureServer/3">]

map_content = webmap_obj.content
map_content.layer_info

>>>
    Layer Index         Layer Title            Layer Type
0           0         Hazardous Waste areas    ArcGIS Feature Layer
1           1         Barricaded safe zones    ArcGIS Feature Layer

waste_renderer = map_content.renderer_manager(index=0)

>>> RendererManager(layer=Hazardaous Waste areas)
ungroup() None

Un-group a GroupLayer. This will send the layer’s children to the parent’s layers.

  • If the parent is Map, then all the layers in the GroupLayer will be sent to the Map’s operational_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.

SubtypeGroupLayer

class arcgis.map.group_layer.SubtypeGroupLayer(group_layer: SubtypeGroupLayer, map: Map | Scene, parent: BaseGroup | Map | Scene)

A SubtypeGroupLayer represents a single feature service layer that contains multiple subtypes, each of which can be displayed with its own title, renderer, popup configuration, form, and editing properties.

Unlike a regular GroupLayer, the sublayers inside a SubtypeGroupLayer (instances of SubtypeLayer) are not separate service layers, do not have their own REST URLs, and cannot be queried or managed independently on the service. All subtype layers share:

  • the same URL (the parent feature layer’s URL)

  • the same dataset

  • the same REST endpoint

  • the same feature service layer ID

Because subtype layers are not standalone layers, the Python API does not expose them as a `.layers` property. Instead, you can inspect them using the layer_info() property of SubtypeGroupLayer or manage their individual display properties using the appropriate manager classes:

  • popup_manager(index)

  • renderer_manager(index)

  • form_manager(index)

  • layer_visibility(index)

These managers allow modifying the popup, renderer, form, and visibility settings that are stored in the WebMap specification for each subtype, without implying that subtype layers can be manipulated like normal map layers.

Key Concept:

A SubtypeGroupLayer looks like a group of layers in the Map Viewer, but technically it represents one layer with multiple subtype definitions.

Example
>>> layer = m.content.layers[0]
>>> layer.layer_info
  Layer Index Layer Title            Layer Type
0            0  Washington  ArcGIS Feature Layer
1            1      Oregon  ArcGIS Feature Layer
2            2  California  ArcGIS Feature Layer

This class is intended to be accessed through the layers property of a Map or the layers property of a GroupLayer. Users should not instantiate it directly.

form_manager(index: int)

Get an instance of the FormManager class for managing the forms of the specified map layer.

Parameter

Description

index

Required integer specifying the index position of the layer whose FormManager will be accessed. Layer needs to be in the list of layers retrieved from the layer_info property on a GroupLayer, SubtypeGroupLayer or MapContent object.

property layer_info: DataFrame

Get a Pandas DataFrame with index position, title, and type of each layer in the SubtypeGroupLayer.

# Usage Example: Get the infromation about sublayers in SubtypeGroupLayer
from argis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

wm_item = gis.content.search(query="Damage *", item_type="Web Map")[0]

map_obj = Map(item=wm_item)

map_obj.content.layer_info

>>>
      Layer Index   Layer Title                 Layer Class
    0         0             Water_Infrastructure    SubtypeGroupLayer(title=Water Infrastructure)

subtype_grplyr = map_obj.content.layers[0]
subtype_grplyr.layer_info

>>>
      Layer Index        Layer Title          Layer Type
    0       0               TIDAL_WATER_S       ArcGIS Feature Layer
    1       1               SPILLWAY_S          ArcGIS Feature Layer
    2       2               RIVER_S             ArcGIS Feature Layer
    3       3               RAPIDS_S            ArcGIS Feature Layer
    4       4               DAM_S               ArcGIS Feature Layer
layer_visibility(index: int)

Get an instance of the LayerVisibility class for managing the visibility of the specified map layer.

Parameter

Description

index

Required integer specifying the index position of the layer whose LayerVisibility will be managed. Layer needs to be in the list of layers retrieved from the layer_info property on a GroupLayer, SubtypeGroupLayer or MapContent object.

Returns:

A LayerVisiblity object for the specified layer.

# Usage Example: Get an object to manager the visiblity of
# one subtype layer in a SubtypeGroupLayer

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

gis = GIS(profile="your_organization_profile")

wm_item = gis.content.search(query="Damage *", item_type="Web Map")[0]

map_obj = Map(item=wm_item)

map_obj.content.layer_info

>>>
      Layer Index        Layer Title                    Layer Class
    0         0             Water_Infrastructure    SubtypeGroupLayer(title=Water Infrastructure)

subtype_grplyr = map_obj.content.layers[0]
subtype_grplyr.layer_info

>>>
      Layer Index         Layer Title          Layer Type
    0       0               TIDAL_WATER_S       ArcGIS Feature Layer
    1       1               SPILLWAY_S          ArcGIS Feature Layer
    2       2               RIVER_S             ArcGIS Feature Layer
    3       3               RAPIDS_S            ArcGIS Feature Layer
    4       4               DAM_S               ArcGIS Feature Layer

lv_3 = subtype_grplyr.layer_visibility(index=3)
lv_3

>>> LayerVisibility(layer=RAPIDS_S)
popup_manager(index: int)

Get an instance of the PopupManager for the layer specified with the index value. Specify the layer through it’s index position, which is accessible with the layer_info property on the following class instances:

Parameter

Description

index

Required integer specifying the index position of the layer whose popup will be managed. The index position can be retrieved from the the layer_info property on a MapContent, GroupLayer, or SubtypeGroupLayer object.

Returns:

PopupManager instance for the layer specified.

# Usage Example: Get the PopupManager for a layer in map Group layer
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

webmap_item = gis.content.get("<item_id>")

webmap_obj = Map(item=webmap_item)
print(webmap_obj.content.layers)

>>>
   [GroupLayer(title=Conservation Administration),
    SubtypeGroupLayer(title=Water_bodies),
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>/arcgis/rest/services/conservation_areas/FeatureServer/0">]

map_grplyr = webmap_obj.content.layers[0]
map_grplyr.layer_info

>>>
    Layer Index         Layer Title          Layer Type
0           0         Proteced areas       ArcGIS Feature Layer
1           1         Townships            ArcGIS Feature Layer
2           2     Easement boundaries  ArcGIS Feature Layer

easement_pmgr = map_grplyr.popup_manager(index=2)
easement_pmgr

PopupManager(layer=Easement boundaries)
renderer_manager(index: int)

Get an instance of the RendererManager class for the specified map layer. Specify the layer through it’s index position accessed from the layer_info property on GroupLayer, SubtypeGroupLayer or MapContent object.

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.

Returns:

RendererManager instance for the layer specified.

# Usage Example: Get the RendererManager from a map's MapContent object
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="your_organization_profile")

webmap_item = gis.content.get("<item_id>")

webmap_obj = Map(item=webmap_item)
print(webmap_obj.content.layers)

>>>
   [<FeatureLayer url:"https://services7.arcgis.com/<org_id>/.../hazard_areas/FeatureServer/0">>
    <FeatureLayer url:"https://services7.arcgis.com/<org_id>/.../safe_zones/FeatureServer/3">]

map_content = webmap_obj.content
map_content.layer_info

>>>
    Layer Index         Layer Title            Layer Type
0           0         Hazardous Waste areas    ArcGIS Feature Layer
1           1         Barricaded safe zones    ArcGIS Feature Layer

waste_renderer = map_content.renderer_manager(index=0)

>>> RendererManager(layer=Hazardaous Waste areas)

SubtypeGroupTable

class arcgis.map.group_layer.SubtypeGroupTable(group_layer: SubtypeGroupTable, map: Map | Scene, parent: BaseGroup | Map | Scene)

A SubtypeGroupTable represents a single feature service table that defines multiple subtypes, each of which is exposed in the WebMap as its own logical table with a title and editing/display properties.

Subtype tables (instances of SubtypeTable) are not independent service tables and do not have their own URLs. All subtype tables:

  • share the same parent table’s URL

  • belong to the same dataset

  • use the same REST endpoint

  • cannot be queried or accessed separately from the parent table

For this reason, the Python API does not expose a .tables property on SubtypeGroupTable. Instead, you can inspect subtype table information using table_info(), which provides a structured summary suitable for display in notebooks.

While subtype tables cannot be manipulated as full tables, you can still manage subtype-specific configuration such as popups and forms using the manager methods inherited from the base group classes.

Key Concept:

A SubtypeGroupTable does not contain multiple standalone tables—it contains multiple subtype definitions stored under one feature service table.

Example
>>> table = m.content.tables[0]
>>> table.table_info
  Layer Index Layer Title Layer Type
0            0        Soil      Table
1            1   Bedrock      Table

This class is intended to be accessed through the tables collection on a Map or GroupLayer. Users should not instantiate it directly.

property table_info: DataFrame

Get a DataFrame with information about the tables in this subtype group table.

SmartMappingManager

class arcgis.map.smart_mapping.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: str, field: str | None = None, normalization_field: str | None = None, normalization_type: str | None = None, normalization_total: int | None = None, classification_method: str | None = None, standard_deviation_interval: float | None = None, num_classes: int | None = None, value_expression: str | None = None, value_expression_title: str | None = None, sql_expression: str | None = None, sql_where: str | None = None, outline_optimization_enabled: bool = False, min_value: int | None = None, max_value: int | None = None, default_symbol_enabled: bool = True, for_binning: bool | None = None) 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: dict, dot_value_optimization_enabled: bool = True, dot_blending_enabled: bool = True, outline_optimization_enabled: bool = False, scheme: dict | None = None, for_binning: bool | None = None) 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: str | None = None, scheme: dict | None = None, statistics: dict | None = None, fade_ratio: float | None = None, fade_to_transparent: bool = True, radius: int | None = None, min_ratio: float | None = None, max_ratio: float | None = None) 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: dict, shape: str | None = None, include_size_variable: bool | None = None, outline_optimization_enabled: bool = False, size_optimization_enabled: bool = False, scheme: dict | None = None, for_binning: bool | None = None) 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: list, include_opacity_variable: bool | None = None, include_size_variable: bool | None = None, outline_optimization_enabled: bool = False, size_optimization_enabled: bool = False, statistics: dict | None = None, sort_by: str | None = None, scheme: dict | None = None, default_symbol_enabled: bool | None = True, for_binning: bool | None = None) 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: dict, field2: dict, classification_method: str | None = None, focus: str | None = None, num_classes: int | None = None, outline_optimization_enabled: bool = False, size_optimization_enabled: bool = False, legend_options: dict | None = None, relationship_scheme: dict | None = None, default_symbol_enabled: bool = True, for_binning: bool | None = None) 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.

unique_values_renderer(field: str | None = None, field2: str | None = None, field3: str | None = None, num_types: int | None = None, sort_by: str | None = None, value_expression: str | None = None, value_expression_title: str | None = None, outline_optimization_enabled: bool = False, size_optimization_enabled: bool = False, legend_options: dict | None = None, default_symbol_enabled: bool = True, statistics: dict | None = None, for_binning: bool | None = None) None

Generates data-driven visualizations with unique types (or categories) based on a field value from features in a Layer. This renderer works with Feature Layers, CSV Layers, GeoJSON Layers, WFS Layers, Oriented Imagery Layer, and OGC Feature Layers.

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 from which to extract unique values that will be used for the basis of the data-driven visualization. This property is ignored if a valueExpression is used.

field2

Optional string. Specifies the name of a second attribute field used to categorize features. All combinations of field, field2, and field3 values are unique categories and may have their own symbol. This property is ignored if a valueExpression is used.

field3

Optional string. Specifies the name of a third attribute field used to categorize features. All combinations of field, field2, and field3 values are unique categories and may have their own symbol. This property is ignored if a valueExpression is used.

num_types

Optional integer. The number of unique types (or categories) displayed by teh renderer. Use -1 to display all unique types. The default is 10.

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. If none, unique values/types will be returned in the same order they are defined in the statistics parameter or returned from the uniqueValues statistics query (if the statistics parameter is not defined).

Values: “count” | “value” | “none”

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.

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.

legend_options

Optional dictionary. Options for configuring the legend.

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

default_symbol_enabled

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

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.

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: str | None = None, normalization_field: str | None = None, value_expression: str | None = None, value_expression_title: str | None = None, theme: str | None = None, sql_expression: str | None = None, sql_where: str | None = None, statistics: dict | None = None, min_value: int | None = None, max_value: int | None = None, default_symbol_enabled: bool = None, color_options: dict | None = None, size_options: dict | None = None, symbol_options: dict | None = None, legend_options: dict | None = None, for_binning: bool | None = None) 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: bool

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: datetime | None = None, end_time: datetime | None = None, time_interval: dict | None = None, layer_idx: int = 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.

Popups

PopupManager

class arcgis.map.popups.PopupManager(**kwargs: dict[str, Any])

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_manager method on a MapContent or GroupLayer instance.

property disable_popup: bool

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. If True, the popup is not visible when the map is rendered.

edit(title: str | None = None, description: str | None = None, expression_infos: list[PopupExpressionInfo] | None = None, field_infos: list[FieldInfo] | None = None, layer_options: LayerOptions | None = None, media_infos: list[MediaInfo] | None = None, popup_elements: list[PopupElementAttachments | PopupElementExpression | PopupElementFields | PopupElementMedia | PopupElementRelationship | PopupElementText] | None = None, show_attachments: bool | None = None) bool

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.

Note

Passing any of the parameters will update completely the information for that parameter. For example, if you pass a list of FieldInfo objects, it will replace the existing field_infos with the new list. If you want to keep existing field infos and add new ones, you will need to retrieve the existing field infos first, modify them, and then pass the modified list.

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.

Note

When providing expression infos, associated field infos must also be provided. If you do not provide field infos, the service will automatically generate field infos for the expressions with the same name, visibility set to True, and editable set to True. This will add to field infos and not replace them.

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: PopupInfo | None

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: str | None

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(*values)

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.

any = 'any'
boolean = 'boolean'
date = 'date'
date_only = 'dateOnly'
dictionary = 'dictionary'
number = 'number'
string = 'string'
time = 'time'

AssociationType

class arcgis.map.popups.AssociationType(*, associatedAssetGroup: int | None = None, associatedAssetType: int | None = None, associatedNetworkSourceId: int | None = None, description: str | None = None, title: str | None = None, type: AssociationTypes)

Object defining the type of associations to display in the pop-up. Used with Utility Network layers.

field associated_asset_group: int | None = None

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

field associated_asset_type: int | None = None

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

field associated_network_source_id: int | None = None

The id of the network source to filter utility network associations.

validator check_id  »  id
validator check_item_id  »  item_id
validator check_style  »  style
classmethod construct(_fields_set: set[str] | None = None, **values: Any) Self
copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: Dict[str, Any] | None = None, deep: bool = False) Self

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`python {test="skip" lint="skip"} data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Args:

include: Optional set or mapping specifying which fields to include in the copied model. exclude: Optional set or mapping specifying which fields to exclude in the copied model. update: Optional dictionary of field-value pairs to override field values in the copied model. deep: If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

field description: str | None = None

A string that describes the element in detail.

dict(*, mode: str = 'json', include=None, exclude=None, by_alias: bool = True, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = True, round_trip: bool = False, warnings: bool = False) dict[str, Any]
classmethod from_orm(obj: Any) Self
json(*, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: Any) str
model_computed_fields = {}
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.

Args:
_fields_set: A set of field names that were originally explicitly set during instantiation. If provided,

this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.

values: Trusted or pre-validated data dictionary.

Returns:

A new instance of the Model class with validated data.

model_copy(*, update: Mapping[str, Any] | None = None, deep: bool = False) Self
!!! abstract “Usage Documentation”

[model_copy](../concepts/models.md#model-copy)

Returns a copy of the model.

!!! note

The underlying instance’s [__dict__][object.__dict__] attribute is copied. This might have unexpected side effects if you store anything in it, on top of the model fields (e.g. the value of [cached properties][functools.cached_property]).

Args:
update: Values to change/add in the new model. Note: the data is not validated

before creating the new model. You should trust this data.

deep: Set to True to make a deep copy of the model.

Returns:

New model instance.

model_dump(*, mode: Literal['json', 'python'] | str = 'python', include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False) dict[str, Any]
!!! abstract “Usage Documentation”

[model_dump](../concepts/serialization.md#python-mode)

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Args:
mode: The mode in which to_python should run.

If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

include: A set of fields to include in the output. exclude: A set of fields to exclude from the output. context: Additional context to pass to the serializer. by_alias: Whether to use the field’s alias in the dictionary key if defined. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields.

While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead.

round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors,

“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

fallback: A function to call when an unknown value is encountered. If not provided,

a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.

serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns:

A dictionary representation of the model.

model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False) str
!!! abstract “Usage Documentation”

[model_dump_json](../concepts/serialization.md#json-mode)

Generates a JSON representation of the model using Pydantic’s to_json method.

Args:

indent: Indentation to use in the JSON output. If None is passed, the output will be compact. ensure_ascii: If True, the output is guaranteed to have all incoming non-ASCII characters escaped.

If False (the default), these characters will be output as-is.

include: Field(s) to include in the JSON output. exclude: Field(s) to exclude from the JSON output. context: Additional context to pass to the serializer. by_alias: Whether to serialize using field aliases. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields.

While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead.

round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors,

“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

fallback: A function to call when an unknown value is encountered. If not provided,

a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.

serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to “allow”.

model_fields = {'associated_asset_group': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, alias='associatedAssetGroup', alias_priority=2, description='The id of the asset group to filter utility network associations.'), 'associated_asset_type': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, alias='associatedAssetType', alias_priority=2, description='The id of the asset type to filter utility network associations.'), 'associated_network_source_id': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, alias='associatedNetworkSourceId', alias_priority=2, description='The id of the network source to filter utility network associations.'), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A string that describes the element in detail.'), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A string value indicating what the element represents.'), 'type': FieldInfo(annotation=AssociationTypes, required=True, description='String value indicating which type of element to use.')}
property model_fields_set: set[str]

Returns the set of fields that have been explicitly set on this model instance.

Returns:
A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias: bool = True, ref_template: str = '#/$defs/{model}', schema_generator: type[~pydantic.json_schema.GenerateJsonSchema] = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: ~typing.Literal['validation', 'serialization'] = 'validation', *, union_format: ~typing.Literal['any_of', 'primitive_type_array'] = 'any_of') dict[str, Any]

Generates a JSON schema for a model class.

Args:

by_alias: Whether to use attribute aliases or not. ref_template: The reference template. union_format: The format to use when combining schemas from unions together. Can be one of:

keyword to combine schemas (the default). - ‘primitive_type_array’: Use the [type](https://json-schema.org/understanding-json-schema/reference/type) keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive type (string, boolean, null, integer or number) or contains constraints/metadata, falls back to any_of.

schema_generator: To override the logic used to generate the JSON schema, as a subclass of

GenerateJsonSchema with your desired modifications

mode: The mode in which to generate the schema.

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params: tuple[type[Any], ...]) str

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Args:
params: Tuple of types of the class. Given a generic class

Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError: Raised when trying to generate concrete names for non-generic models.

model_post_init(context: Any, /) None

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

classmethod model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: MappingNamespace | None = None) bool | None

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Args:

force: Whether to force the rebuilding of the model schema, defaults to False. raise_errors: Whether to raise errors, defaults to True. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults to None.

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, from_attributes: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self

Validate a pydantic model instance.

Args:

obj: The object to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Raises:

ValidationError: If the object could not be validated.

Returns:

The validated model instance.

classmethod model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
!!! abstract “Usage Documentation”

[JSON Parsing](../concepts/json.md#json-parsing)

Validate the given JSON data against the Pydantic model.

Args:

json_data: The JSON data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

context: Extra variables to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Returns:

The validated Pydantic model.

Raises:

ValidationError: If json_data is not a JSON string or the object could not be validated.

classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self

Validate the given object with string data against the Pydantic model.

Args:

obj: The object containing string data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

context: Extra variables to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Returns:

The validated Pydantic model.

classmethod parse_file(path: str | Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
classmethod parse_obj(obj: Any) Self
classmethod parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
classmethod schema(by_alias: bool = True, ref_template: str = '#/$defs/{model}') Dict[str, Any]
classmethod schema_json(*, by_alias: bool = True, ref_template: str = '#/$defs/{model}', **dumps_kwargs: Any) str
field title: str | None = None

A string value indicating what the element represents.

field type: AssociationTypes [Required]

String value indicating which type of element to use.

classmethod update_forward_refs(**localns: Any) None
classmethod validate(value: Any) Self

AssociationTypes

class arcgis.map.popups.AssociationTypes(*values)
attachment = 'attachment'
connectivity = 'connectivity'
containment = 'container'
content = 'content'
structural = 'structure'

AttachmentDisplayType

class arcgis.map.popups.AttachmentDisplayType(*values)

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'

AttachmentType

class arcgis.map.popups.AttachmentType(*values)
application = 'application'
audio = 'audio'
image = 'image'
model = 'model'
text = 'text'
video = 'video'

DateFormat

class arcgis.map.popups.DateFormat(*values)

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'

FieldFormatDateTime

pydantic model arcgis.map.popups.FieldFormatDateTime

An object defining how to format date and time fields.

field date_style: DateTimeStyle | None = None

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

field hour_12: FormatStyle | None = None

A string value that indicates whether to show a 12-hour cycle when formatting time

field month: DateTimeStyle | None = None

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

field time_style: DateTimeStyle | None = None

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

field type: Literal['date-time'] = 'date-time'

Indicates that the field format is for date and time fields.

field year: Literal['numeric'] = 'numeric'

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

FieldFormatNumber

pydantic model arcgis.map.popups.FieldFormatNumber

An object defining how to format number fields.

field maximum_fraction_digits: int | None = 2

A number indicating the maximum number of decimal places to display. The default is 2 with minimum and maximum values as 0 and 20 respectively.

Constraints:
  • ge = 0

  • le = 20

field minimum_fraction_digits: int | None = 0

A number indicating the minimum number of decimal places to display. The default is 0. If no value is provided, the formatter will not enforce any minimum number of decimal places. There is no strict upper limit, bit it should not exceed maximumFractionDigits.

Constraints:
  • ge = 0

  • le = 20

field style: Literal['decimal'] = 'decimal'

A string value that indicates the formatting style to use, such as decimal for general number formatting.

field type: Literal['number'] = 'number'

Indicates that the field format is for number fields.

field use_grouping: FormatStyle | None = None

A string value that indicates whether to use grouping separators, such as thousands separators, when formatting numbers.

FormatStyle

class arcgis.map.popups.FormatStyle(*values)

A string value that indicates whether to show certain styles when formatting time.

always = 'always'
auto = 'auto'
never = 'never'

DateTimeStyle

class arcgis.map.popups.DateTimeStyle(*values)

A string used with date fields to specify the date style.

full = 'full'
long = 'long'
medium = 'medium'
short = 'short'

FieldInfo

pydantic model arcgis.map.popups.FieldInfo

Defines how a field in the dataset participates (or does not participate) in a popup window. Configuring fields should be handled using the [fieldConfiguration](fieldConfiguration.md) objects specified via the associated layer’s fieldConfigurations property, instead of the properties on this object. The properties on this object are retained for backward compatibility but behavior may change as the specification evolves.

field field_format: FieldFormatDateTime | FieldFormatNumber | None = None

An object defining how to format date, time and number fields.

field field_name: str | None = None

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

field format: Format | None = 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. Deprecation notes: 1) In the context of [popupInfo.fieldInfos](popupInfo.md), this property is deprecated in favor of using the fieldFormat property of the [fieldConfiguration](fieldConfiguration.md) objects specified via the associated layer’s fieldConfigurations property. 2) In the context of fieldInfos defined in [popupElement fields](popupElement_fields.md), this property is deprecated in favor of the fieldFormat property listed above.

field is_editable: bool | None = True

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

field label: str | None = 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.This property is deprecated when used with [popupInfo.fieldInfos](popupInfo.md). Instead, use the alias property from the associated field’s [fieldConfiguration](fieldConfiguration.md) object.

field statistic_type: StatisticType | None = None

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: StringFieldOption | None = None

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: str | None = None

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

field visible: bool = True

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.

field date_format: DateFormat | None = None

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

field digit_separator: bool | None = None

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: int | None = 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.

field return_topmost_raster: bool | None = None

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

field show_no_data_records: bool | None = None

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.

field alt_text: str | None = None

A string providing the alternate text for the media.

field caption: str | None = None

A string caption describing the media.

field refresh_interval: float | int | None = 0

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: str | None = None

A string title for the media.

field type: MediaType | None = None

A string defining the type of media.

field value: Value | None = 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(*values)

A string defining the type of media.

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

Order

class arcgis.map.popups.Order(*values)

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.

field field: str [Required]

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

field order: 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.

field attachment_keywords: list[str] | None = None

An array of strings used to identify attachment(s). When attachments are displayed, this property is used to query attachments using an exact match on the keywords provided.

field attachment_types: list[AttachmentType] | None = None

An array of strings representing MIME types. When attachments are displayed, this property is used to query attachments based on MIME type. Valid values: application, audio, image, model, text, and video.

field description: str | None = None

An optional string value describing the element in detail.

field display_type: AttachmentDisplayType | None = None

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 order_by_fields: list[OrderByField] | None = None

Array of orderByField objects indicating the display order for the attachments, 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.attachmentsInfo.orderByFields property.

field title: str | None = None

An optional string value indicating what the element represents.

field type: Literal['attachments'] = 'attachments'

PopupElementExpression

pydantic model arcgis.map.popups.PopupElementExpression

A pop-up element defined by an arcade expression.

field expression_info: PopupExpressionInfo [Required]

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: Literal['expression'] = 'expression'

Specifies the type of element.

PopupElementFields

pydantic model arcgis.map.popups.PopupElementFields

Configures fields in popup elements.

field attributes: dict[str, Any] | None = 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: str | None = None

An optional string value describing the element in detail.

field field_infos: list[FieldInfo] | None = None

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: str | None = None

An optional string value indicating what the element represents.

field type: Literal['fields'] = 'fields'

Specifies the type of element.

PopupElementMedia

pydantic model arcgis.map.popups.PopupElementMedia

Configures media in popup elements.

field attributes: dict[str, Any] | None = 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: str | None = None

An optional string value describing the element in detail.

field media_infos: list[MediaInfo] | None = None

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: str | None = None

An optional string value indicating what the element represents.

field type: Literal['media'] = '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.

field description: str | None = None

A string that describes the element in detail.

field display_count: int | None = None

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

field display_type: Literal['list'] = 'list'

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

field order_by_fields: list[OrderByField] | None = None

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: int [Required]

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

field title: str | None = None

A string value indicating what the element represents.

field type: Literal['relationship'] = 'relationship'

String value indicating which type of element to use.

PopupElementText

pydantic model arcgis.map.popups.PopupElementText

Configures text in popup elements.

field text: str | None = 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: Literal['text'] = '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).

field association_types: list[AssociationType] | None [Required]

An array of associationType objects that represent the utility network associations.

field description: str | None = None

A string that describes the element in detail.

field display_count: int | None = None

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

field title: str | None = None

A string value indicating what the element represents.

field type: Literal['utilityNetworkAssociations'] = '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).

field expression: str | None = None

The Arcade expression.

field name: str | None = None

Name of the expression.

field return_type: ArcadeReturnType | None = 'string'

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: str | None = 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.

field description: str | None = 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: list[PopupExpressionInfo] | None = None

List of Arcade expressions added to the pop-up.

field field_infos: list[FieldInfo] | None = None

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: LayerOptions | None = None

Additional options that can be defined for the popup layer.

field media_infos: list[MediaInfo] | None = None

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: list[PopupElementAttachments | PopupElementExpression | PopupElementFields | PopupElementMedia | PopupElementRelationship | PopupElementText | PopupElementUtilityNetworkAssociations] | None = None

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

field related_records_info: RelatedRecordsInfo | None = None

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

field show_attachments: bool | None = None

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

field show_last_edit_info: bool | None = None

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: str | None = 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.

field order_by_fields: list[OrderByField] | None = None

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(*values)

Defines the statistic method for aggregating data in the onStatisticField or onStatisticExpression returned from features in a cluster or bin.

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

StringFieldOption

class arcgis.map.popups.StringFieldOption(*values)

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.

field colors: list[list[Annotated[int, Field(ge=0, le=255)]]] | None = 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: list[str] | None = 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: str | None = None

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: str | None = None

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

field tooltip_field: str | None = None

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(*values)
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.

field color: list[confloat(ge=0, le=255)] [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: conint(ge=0, le=100) | None = None

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

Callout

pydantic model arcgis.map.symbols.Callout

Callout configuration for a symbol.

field border: Border | None = None
field color: list[confloat(ge=0, le=255)] [Required]

The color of the line.

field size: confloat(ge=0.0) [Required]

The width of the line in points.

Constraints:
  • ge = 0.0

field transparency: conint(ge=0, le=100) | None = None

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

field type: Literal['line'] = '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.

field type: Literal['CIMSymbolReference'] = 'CIMSymbolReference'

Specifies the type of symbol used.

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.

field cast_shadows: bool | None = True

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

field edges: SketchEdges | SolidEdges | None = None

Specifies an edge visualization style.

field enable: bool | None = None
field material: Material | None = None
field size: float [Required]

Extrusion height in meters.

field type: Literal['Extrude'] = '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.

field cast_shadows: bool | None = True

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

field edges: SketchEdges | SolidEdges | None = None

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

field enable: bool | None = None
field material: Material | None = None
field outline: Outline | None = None

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

field pattern: Pattern | None = None
field type: Literal['Fill'] = 'Fill'

Specifies the type of symbol used.

Halo

pydantic model arcgis.map.symbols.Halo

Halo definition.

field color: list[confloat(ge=0, le=255)] | None = 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: float | None = None

Width of the halo in points.

field transparency: conint(ge=0, le=100) | None = None

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

HorizontalAlignment

class arcgis.map.symbols.HorizontalAlignment(*values)

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.

field anchor: Anchor | None = 'center'
field anchor_position: list[float] | None = None

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 angle: confloat(ge=0.0, le=360.0) | None = 0.0

Rotation angle in degrees. The rotation is defined in screen space, with a rotation of 0 degrees (default value) pointing in the direction of the Y-axis. Positive values indicate clockwise rotation.

field enable: bool | None = None
field material: Material | None = None
field occluded_visibility: OccludedVisibility | None = None

Defines how the icon is rendered when it is occluded by other objects in the scene.

field outline: Outline | None = None

Sets properties of the outline of the IconSymbol3DLayer.

field resource: IconSymbol3DLayerResource | None = None

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

field size: confloat(ge=0.0) [Required]

Icon size in points, positive only

Constraints:
  • ge = 0.0

field type: Literal['Icon'] = '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.

field data_uri: constr(pattern='^data:image/(.|\\n|\\r)+$') | None = None

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

field href: constr(pattern='^https?://.+$') | constr(pattern='^\\./.+$') | None = None

URL to the returned image.

field primitive: Primitive = None

Specifies the type of symbol used.

Join

class arcgis.map.symbols.Join(*values)

Shape of the intersection of two line segments.

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

LabelSymbol3D

pydantic model arcgis.map.symbols.LabelSymbol3D

LabelSymbol3D is used to render labels for features from a FeatureLayer in a 3D SceneView.

field callout: Callout | None = None
field symbol_layers: list[TextSymbol3DLayer] [Required]

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

field type: Literal['LabelSymbol3D'] = 'LabelSymbol3D'

Specifies the type of symbol used.

field vertical_offset: VerticalOffset | None = None

LineCap

class arcgis.map.symbols.LineCap(*values)

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'

LineMarker

pydantic model arcgis.map.symbols.LineMarker

Represents markers placed at the start and end of each line geometry, or both. Markers size is proportional to the width of the line.

field color: list[confloat(ge=0, le=255)] | None = None

An option to color the markers differently from the line. By default the markers inherit the line’s color.

field placement: MarkerPlacement | None = None

Indicates where the marker is placed.

field style: MarkerStyle | None = None

Style of the marker.

field type: Literal['style'] = 'style'

The type of marker applied to a line.

LinePattern

pydantic model arcgis.map.symbols.LinePattern

A pattern used to render a line.

field style: LineStyle [Required]

String value representing the pattern used to render a line.

field type: Literal['style'] = 'style'

The type of pattern applied to a line.

LineStyle

class arcgis.map.symbols.LineStyle(*values)

String value representing the pattern used to render a line.

dash = 'dash'
dash_dot = 'dash-dot'
dash_dot_dot = 'dash-dot-dot'
dot = 'dot'
long_dash = 'long-dash'
long_dash_dot = 'long-dash-dot'
null = 'null'
short_dash = 'short-dash'
short_dash_dot = 'short-dash-dot'
short_dash_dot_dot = 'short-dash-dot-dot'
short_dot = 'short-dot'
solid = 'solid'

LineSymbol3D

pydantic model arcgis.map.symbols.LineSymbol3D

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

field style_origin: StyleOrigin | None = None

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: list[LineSymbol3DLayer | PathSymbol3DLayer] [Required]

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

field type: Literal['LineSymbol3D'] = '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.

field cap: LineCap | str | None = 'butt'
field enable: bool | None = None
field join: Join | None = 'miter'

Shape of the intersection of two line segments.

field marker: LineMarker | None = None
field material: Material | None = None
field pattern: LinePattern | None = None
field size: confloat(ge=0.0) [Required]

Line width in points, positive only

Constraints:
  • ge = 0.0

field type: Literal['Line'] = '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.

field placement: MarkerPlacement | None = None

Indicates where the marker is placed.

field style: Literal['arrow'] | None = None

Style of the marker.

MarkerPlacement

class arcgis.map.symbols.MarkerPlacement(*values)

Indicates where the marker is placed.

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

MarkerStyle

class arcgis.map.symbols.MarkerStyle(*values)

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.

field color: list[confloat(ge=0, le=255)] | None = 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: conint(ge=0, le=100) | None = 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.

field style_origin: StyleOrigin | None = None

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: list[FillSymbol3DLayer] [Required]

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

field type: Literal['MeshSymbol3D'] = 'MeshSymbol3D'

Specifies the type of symbol used

OccludedVisibility

class arcgis.map.symbols.OccludedVisibility(*, mode: Literal['hidden', 'visible', 'adaptive'])

Defines when icon and label symbols are rendered if they are occluded by other objects in the scene. If occludedVisibility is not set, the mode defaults to hidden, which means that the symbol is never rendered when its center is occluded. With mode visible, symbols are always rendered, if they are not otherwise hidden, eg. by deconfliction. adaptive mode uses heuristics based on the relative elevation of the camera above the symbol and above the ground to determine if an occluded symbol should be rendered.

validator check_id  »  id
validator check_item_id  »  item_id
validator check_style  »  style
classmethod construct(_fields_set: set[str] | None = None, **values: Any) Self
copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: Dict[str, Any] | None = None, deep: bool = False) Self

Returns a copy of the model.

!!! warning “Deprecated”

This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

`python {test="skip" lint="skip"} data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `

Args:

include: Optional set or mapping specifying which fields to include in the copied model. exclude: Optional set or mapping specifying which fields to exclude in the copied model. update: Optional dictionary of field-value pairs to override field values in the copied model. deep: If True, the values of fields that are Pydantic models will be deep-copied.

Returns:

A copy of the model with included, excluded and updated fields as specified.

dict(*, mode: str = 'json', include=None, exclude=None, by_alias: bool = True, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = True, round_trip: bool = False, warnings: bool = False) dict[str, Any]
classmethod from_orm(obj: Any) Self
json(*, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: Any) str
field mode: Literal['hidden', 'visible', 'adaptive'] [Required]

Specifies when icon and label symbols are rendered if they are occluded by other objects in the scene.

model_computed_fields = {}
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note

model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.

Args:
_fields_set: A set of field names that were originally explicitly set during instantiation. If provided,

this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.

values: Trusted or pre-validated data dictionary.

Returns:

A new instance of the Model class with validated data.

model_copy(*, update: Mapping[str, Any] | None = None, deep: bool = False) Self
!!! abstract “Usage Documentation”

[model_copy](../concepts/models.md#model-copy)

Returns a copy of the model.

!!! note

The underlying instance’s [__dict__][object.__dict__] attribute is copied. This might have unexpected side effects if you store anything in it, on top of the model fields (e.g. the value of [cached properties][functools.cached_property]).

Args:
update: Values to change/add in the new model. Note: the data is not validated

before creating the new model. You should trust this data.

deep: Set to True to make a deep copy of the model.

Returns:

New model instance.

model_dump(*, mode: Literal['json', 'python'] | str = 'python', include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False) dict[str, Any]
!!! abstract “Usage Documentation”

[model_dump](../concepts/serialization.md#python-mode)

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Args:
mode: The mode in which to_python should run.

If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.

include: A set of fields to include in the output. exclude: A set of fields to exclude from the output. context: Additional context to pass to the serializer. by_alias: Whether to use the field’s alias in the dictionary key if defined. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields.

While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead.

round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors,

“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

fallback: A function to call when an unknown value is encountered. If not provided,

a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.

serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns:

A dictionary representation of the model.

model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, exclude: set[int] | set[str] | Mapping[int, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | Mapping[str, set[int] | set[str] | Mapping[int, IncEx | bool] | Mapping[str, IncEx | bool] | bool] | None = None, context: Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | Literal['none', 'warn', 'error'] = True, fallback: Callable[[Any], Any] | None = None, serialize_as_any: bool = False) str
!!! abstract “Usage Documentation”

[model_dump_json](../concepts/serialization.md#json-mode)

Generates a JSON representation of the model using Pydantic’s to_json method.

Args:

indent: Indentation to use in the JSON output. If None is passed, the output will be compact. ensure_ascii: If True, the output is guaranteed to have all incoming non-ASCII characters escaped.

If False (the default), these characters will be output as-is.

include: Field(s) to include in the JSON output. exclude: Field(s) to exclude from the JSON output. context: Additional context to pass to the serializer. by_alias: Whether to serialize using field aliases. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields.

While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead.

round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors,

“error” raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError].

fallback: A function to call when an unknown value is encountered. If not provided,

a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised.

serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns:

A JSON string representation of the model.

property model_extra: dict[str, Any] | None

Get extra fields set during validation.

Returns:

A dictionary of extra fields, or None if config.extra is not set to “allow”.

model_fields = {'mode': FieldInfo(annotation=Literal['hidden', 'visible', 'adaptive'], required=True, description='Specifies when icon and label symbols are rendered if they are occluded by other objects in the scene.')}
property model_fields_set: set[str]

Returns the set of fields that have been explicitly set on this model instance.

Returns:
A set of strings representing the fields that have been set,

i.e. that were not filled from defaults.

classmethod model_json_schema(by_alias: bool = True, ref_template: str = '#/$defs/{model}', schema_generator: type[~pydantic.json_schema.GenerateJsonSchema] = <class 'pydantic.json_schema.GenerateJsonSchema'>, mode: ~typing.Literal['validation', 'serialization'] = 'validation', *, union_format: ~typing.Literal['any_of', 'primitive_type_array'] = 'any_of') dict[str, Any]

Generates a JSON schema for a model class.

Args:

by_alias: Whether to use attribute aliases or not. ref_template: The reference template. union_format: The format to use when combining schemas from unions together. Can be one of:

keyword to combine schemas (the default). - ‘primitive_type_array’: Use the [type](https://json-schema.org/understanding-json-schema/reference/type) keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive type (string, boolean, null, integer or number) or contains constraints/metadata, falls back to any_of.

schema_generator: To override the logic used to generate the JSON schema, as a subclass of

GenerateJsonSchema with your desired modifications

mode: The mode in which to generate the schema.

Returns:

The JSON schema for the given model class.

classmethod model_parametrized_name(params: tuple[type[Any], ...]) str

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Args:
params: Tuple of types of the class. Given a generic class

Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Returns:

String representing the new class where params are passed to cls as type variables.

Raises:

TypeError: Raised when trying to generate concrete names for non-generic models.

model_post_init(context: Any, /) None

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

classmethod model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: MappingNamespace | None = None) bool | None

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Args:

force: Whether to force the rebuilding of the model schema, defaults to False. raise_errors: Whether to raise errors, defaults to True. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults to None.

Returns:

Returns None if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returns True if rebuilding was successful, otherwise False.

classmethod model_validate(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, from_attributes: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self

Validate a pydantic model instance.

Args:

obj: The object to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Raises:

ValidationError: If the object could not be validated.

Returns:

The validated model instance.

classmethod model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
!!! abstract “Usage Documentation”

[JSON Parsing](../concepts/json.md#json-parsing)

Validate the given JSON data against the Pydantic model.

Args:

json_data: The JSON data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

context: Extra variables to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Returns:

The validated Pydantic model.

Raises:

ValidationError: If json_data is not a JSON string or the object could not be validated.

classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, extra: Literal['allow', 'ignore', 'forbid'] | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self

Validate the given object with string data against the Pydantic model.

Args:

obj: The object containing string data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation.

See the [extra configuration value][pydantic.ConfigDict.extra] for details.

context: Extra variables to pass to the validator. by_alias: Whether to use the field’s alias when validating against the provided input data. by_name: Whether to use the field’s name when validating against the provided input data.

Returns:

The validated Pydantic model.

classmethod parse_file(path: str | Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
classmethod parse_obj(obj: Any) Self
classmethod parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False) Self
classmethod schema(by_alias: bool = True, ref_template: str = '#/$defs/{model}') Dict[str, Any]
classmethod schema_json(*, by_alias: bool = True, ref_template: str = '#/$defs/{model}', **dumps_kwargs: Any) str
classmethod update_forward_refs(**localns: Any) None
classmethod validate(value: Any) Self

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.

field anchor: Anchor | None = 'origin'

The positioning of the object relative to the geometry.

field anchor_position: list[float] | None = None

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: bool | None = True

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

field depth: confloat(ge=0.0) | None = None

Object depth in meters, positive only

field enable: bool | None = None
field heading: float | None = 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: confloat(ge=0.0) | None = None

Object height in meters, positive only

field material: Material | None = None
field resource: ObjectSymbol3DLayerResource | None = None

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

field roll: float | None = 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: float | None = 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: Literal['Object'] = 'Object'

Specifies the type of symbol used.

field width: confloat(ge=0.0) | None = 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.

field href: constr(pattern='^https?://.+$') | constr(pattern='^\\./.+$') | None = None
field primitive: Primitive | None = None

Specifies the type of symbol used.

Outline

pydantic model arcgis.map.symbols.Outline

The outline of the symbol layer.

field color: list[confloat(ge=0, le=255)] = 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: LinePattern | None = None
field pattern_cap: LineCap | None = LineCap.butt
field size: confloat(ge=0.0) = None

Outline size in points, positive only

Constraints:
  • ge = 0.0

field transparency: conint(ge=0, le=100) | None = None

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

PathCap

class arcgis.map.symbols.PathCap(*values)

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.

field anchor: Anchor | None = 'center'

The position of the extrusion profile with respect to the polyline geometry.

field cap: PathCap | None = 'butt'
field cast_shadows: bool | None = True

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

field enable: bool | None = None
field height: confloat(ge=0.0) [Required]

Path height in meters. If unspecified, it is equal to width.

Constraints:
  • ge = 0.0

field join: Join | None = 'miter'

Shape of the intersection of two line segments.

field material: Material | None = None
field profile: Profile | None = 'circle'

The shape which is extruded along the line.

field profile_rotation: ProfileRotation | None = 'all'

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: confloat(ge=0.0) | None = None

Path size (diameter) in meters. Ignored if either width or height are present.

field type: Literal['Path'] = 'Path'

Specifies the type of symbol used.

field width: confloat(ge=0.0) | None = 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).

field style: PolygonStyle [Required]

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

field type: Literal['style'] = 'style'

The type of pattern applied to the polygon fill.

PictureFillSymbolsEsriPFS

pydantic model arcgis.map.symbols.PictureFillSymbolEsriPFS

Picture fill symbols can be used to symbolize polygon geometries.

field angle: Annotated[float, Field(ge=0.0, le=360.0)] | None = 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: str | None = None

String value indicating the content type for the image.

field height: float | int | None = 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: str | None = None

String value indicating the base64 encoded data.

field outline: SimpleLineSymbolEsriSLS | None = None

Sets the outline of the symbol.

field type: Literal['esriPFS'] = 'esriPFS'

Specifies the type of symbol used.

field url: str | None = 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: float | int | None = 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: float | int | None = None

Numeric value indicating the offset on the x-axis in points.

field xscale: float | int | None = None

Numeric value indicating the scale factor in x direction.

field yoffset: float | int | None = None

Numeric value indicating the offset on the y-axis in points.

field yscale: float | int | None = 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.

field angle: Annotated[float, Field(ge=0.0, le=360.0)] | None = 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: str | None = None

String value indicating the content type for the image.

field height: float | int | None = 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: str | None = None

String value indicating the base64 encoded data.

field type: Literal['esriPMS'] = 'esriPMS'

Specifies the type of symbol used.

field url: str | None = 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: float | int | None = 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: float | int | None = None

Numeric value indicating the offset on the x-axis in points.

field yoffset: float | int | None = None

Numeric value indicating the offset on the y-axis in points.

PointSymbol3D

pydantic model arcgis.map.symbols.PointSymbol3D

PointSymbol3D is used to render features with Point geometry in a 3D SceneView.

field callout: Callout | None = None

The callout used to draw attention to the point symbol.

field style_origin: StyleOrigin | None = None

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: list[IconSymbol3DLayer | ObjectSymbol3DLayer | TextSymbol3DLayer] [Required]

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

field type: Literal['PointSymbol3D'] = 'PointSymbol3D'

Specifies the type of symbol used

field vertical_offset: VerticalOffset | None = None

PolygonStyle

class arcgis.map.symbols.PolygonStyle(*values)

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.

field style_origin: StyleOrigin | None = None

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: list[ExtrudeSymbol3DLayer | FillSymbol3DLayer | IconSymbol3DLayer | LineSymbol3DLayer | ObjectSymbol3DLayer | TextSymbol3DLayer | WaterSymbol3DLayer] [Required]

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

field type: Literal['PolygonSymbol3D'] = 'PolygonSymbol3D'

Specifies the type of symbol used.

Primitive

class arcgis.map.symbols.Primitive(*values)
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(*values)

The shape which is extruded along the line.

circle = 'circle'
quad = 'quad'

ProfileRotation

class arcgis.map.symbols.ProfileRotation(*values)

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.

field color: list[confloat(ge=0, le=255)] | None = 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: SimpleLineSymbolEsriSLS | None = None

Sets the outline of the fill symbol.

field style: SimpleFillSymbolStyle [Required]

String value representing the simple fill symbol type.

field type: Literal['esriSFS'] = 'esriSFS'

Specifies the type of symbol used.

SimpleFillSymbolStyle

class arcgis.map.symbols.SimpleFillSymbolStyle(*values)

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.

field color: list[Annotated[int, Field(ge=0, le=255)]] | None = 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: Marker | None = None
field style: SimpleLineSymbolStyle | None = None

String value representing the simple line symbol type.

field type: Literal['esriSLS'] | None = 'esriSLS'

Specifies the type of symbol used.

field width: float | int | None = None

Numeric value indicating the width of the line in points.

SimpleLineSymbolStyle

class arcgis.map.symbols.SimpleLineSymbolStyle(*values)

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.

field angle: Annotated[float, Field(ge=0.0, le=360.0)] | None = 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: list[Annotated[int, Field(ge=0, le=255)]] | None = 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: SimpleLineSymbolEsriSLS | None = None

Sets the outline of the marker symbol.

field size: float | int | None = None

Numeric size of the symbol given in points.

field style: SimpleMarkerSymbolStyle [Required]

String value representing the simple marker type.

field type: Literal['esriSMS'] = 'esriSMS'

Specifies the type of symbol used.

field xoffset: float | int | None = None

Numeric value indicating the offset on the x-axis in points.

field yoffset: float | int | None = None

Numeric value indicating the offset on the y-axis in points.

SimpleMarkerSymbolStyle

class arcgis.map.symbols.SimpleMarkerSymbolStyle(*values)

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.

field color: list[confloat(ge=0, le=255)] [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: float | None = None

A size in points by which to extend edges beyond their original end points.

field size: confloat(ge=0.0) | None = None

Edge size in points, positive only

field transparency: conint(ge=0, le=100) | None = None

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

field type: Literal['sketch'] = '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.

field color: list[confloat(ge=0, le=255)] [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: float | None = None

A size in points by which to extend edges beyond their original end points.

field size: confloat(ge=0.0) | None = None

Edge size in points, positive only

field transparency: conint(ge=0, le=100) | None = None

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

field type: Literal['solid'] = 'solid'

The type of edge visualization.

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.

field name: str [Required]

Identifies a symbol in the style by name.

field style_name: str = None

A registered web style name, such as EsriThematicShapesStyle

field style_url: str | constr(pattern='^\\./.+$') | None = None

URL to a style definition.

StyleSymbolReference

pydantic model arcgis.map.symbols.StyleSymbolReference

The StyleSymbolReference is used to reference a symbol from a portal styleItem

field name: str [Required]

Identifies a symbol in the style by name.

field style_name: str | None = None

A registered web style name, such as EsriThematicTreesStyle

field style_url: str | None = None

URL to a style definition.

field type: Literal['styleSymbolReference'] = 'styleSymbolReference'

The type of the symbol

TextBackground

pydantic model arcgis.map.symbols.TextBackground

Text background definition.

field color: list[confloat(ge=0, le=255)] | None = 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: conint(ge=0, le=100) | None = None

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

TextDecoration

class arcgis.map.symbols.TextDecoration(*values)

The text decoration.

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

TextFont

pydantic model arcgis.map.symbols.TextFont

Font used for text symbols

field decoration: TextDecoration | None = None

The text decoration.

field family: str | None = None

The font family.

field size: float | int | None = None

The font size in points.

field style: TextStyle | None = None

The text style.

field weight: TextWeight | None = None

The text weight.

TextStyle

class arcgis.map.symbols.TextStyle(*values)

The text style.

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

TextSymbol3DLayer

pydantic model arcgis.map.symbols.TextSymbol3DLayer

Symbol layer for text and font definitions.

field background: TextBackground | None = None

The background of the text.

field enable: bool | None = None

Whether the text symbol layer is enabled.

field font: str | None = None

The font used for the text.

field halo: Halo | None = None

The halo effect around the text.

field horizontal_alignment: HorizontalAlignment | None = HorizontalAlignment.center

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

field line_height: confloat(ge=0.1, le=4.0) | None = 1

Multiplier to scale the vertical distance between the baselines of text with multiple lines.

field material: Material | None = None

The material used to shade the text.

field occluded_visibility: OccludedVisibility | None = None

Defines how the text is rendered when it is occluded by other objects in the scene.

field size: confloat(ge=0.0) | None = None

Font size in points, positive only

field text: str | None = None

Text content in the label. Typically this property is not set, as text content is read from labeling field.

field type: Literal['Text'] = 'Text'

Specifies the type of symbol used.

field vertical_alignment: VerticalAlignment | None = VerticalAlignment.baseline

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).

field angle: Annotated[float, Field(ge=0.0, le=360.0)] | None = 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: list[Annotated[int, Field(ge=0, le=255)]] | None = None

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: list[Annotated[int, Field(ge=0, le=255)]] | None = None

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: float | int | None = None

Numeric value indicating the the size of the border line in points.

field color: list[Annotated[int, Field(ge=0, le=255)]] | None = 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 font: TextFont | None = None

An object specifying the font used for the text symbol.

field halo_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

Color of the halo around the text.

field halo_size: float | int | None = None

Numeric value indicating the point size of a halo around the text symbol.

field horizontal_alignment: HorizontalAlignment | None = None

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

field kerning: bool | None = None

Boolean value indicating whether to adjust the spacing between characters in the text string.

field right_to_left: bool | None = None

Boolean value, set to true if using Hebrew or Arabic fonts.

field rotated: bool | None = None

Boolean value indicating whether every character in the text string is rotated.

field text: str | None = None

only applicable when specified as a client-side graphic.

field type: Literal['esriTS'] = 'esriTS'

Specifies the type of symbol used.

field vertical_alignment: VerticalAlignment | None = None

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

field xoffset: float | int | None = None

Numeric value indicating the offset on the x-axis in points.

field yoffset: float | int | None = None

Numeric value indicating the offset on the y-axis in points.

TextWeight

class arcgis.map.symbols.TextWeight(*values)

The text weight.

bold = 'bold'
bolder = 'bolder'
lighter = 'lighter'
normal = 'normal'

VerticalAlignment

class arcgis.map.symbols.VerticalAlignment(*values)

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

baseline = 'baseline'
bottom = 'bottom'
middle = 'middle'
top = 'top'

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.

field max_world_length: float | None = None

The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.

field min_world_length: float | None = 0

The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.

field screen_length: float [Required]

Maximal screen length of lift in points.

WaterbodySize

class arcgis.map.symbols.WaterbodySize(*values)

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.

field color: list[confloat(ge=0, le=255)] | None = [0, 119, 190]

The dominant water color.

field enable: bool | None = None
field type: Literal['Water'] = 'Water'

Specifies the type of symbol used.

field waterbody_size: WaterbodySize | None = 'medium'

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: confloat(ge=0.0, le=360.0) | None = None

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: WaveStrength | None = 'moderate'

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(*values)

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'

Renderers

RendererManager

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

Bases: object

Defines and manages the renderer for a layer on a Map instance. Allows for getting information about a layer’s symbology and editing various rendering properties.

Object of this class are not meant to be created directly, but instead are returned when accessing the renderer_manager() method of a MapContent or GroupLayer instance.

# Usage Example: Getting a map widget layer's RendererManager

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

gis = GIS(profile="your_organization_profile")

map1 = Map("<webmap_item_id>")

for idx, lyr in enumerate(map1.content.layers):
    print(f"{idx:<5}{lyr.properties.name}")

>>>   0    U.S. Cities

cities_renderer_mgr = map1.content.renderer_manager(index=0)
cities_renderer_mgr

>>> RendererManager(layer=USCities_Data)
property blend_mode: BlendMode | None

Get or set the blend mode for the layer.

Returns:

A BlendMode enumeration value for the layer.

define_renderer(type: str | RendererType, *, field: str | None = None, class_breaks: int | None = None, classification_method: str | None = None, options: dict | None = None)

Creates a new instance of the specific renderer type as defined in the API’s dataclass models.

The renderer is created with basic parameters, and you can customize it further by modifying the returned instance.

Returns:

An instance of the specific renderer dataclass corresponding to the type specified:

# Example Usage: Define a class breaks renderer with 10 classes and
# update the rendering of the first layer in an existing Web Map

from arcgis.map import Map

wm = Map(item="your_webmap_item_id")

for idx, lyr in enumerate(wm.content.layers):
    print(f"{idx:<5}{lyr.properties.name}")

>>>
   0     Cities
   1     Country_interstates
   2     State_Boundaries

# get the renderer manager for the first layer
rmgr = wm.content.renderer_manager(index=0)
rmgr.renderer

>>> <class 'arcgis.map.dataclasses.models.renderers.SimpleRenderer'>

# define a class breaks renderer for the field 'TOT_POP' with 10 classes
new_rend = rmgr.define_renderer(
                type="classBreaks",
                field="TOT_POP",
                class_breaks=10,
                classification_method="esriClassifyEqualInterval
)

# report the type of the renderer
new_rend

>>> arcgis.map.dataclasses.models.renderers.ClassBreaksRenderer

# set the renderer to the layer
rmgr.renderer = new_rend

# update the webmap to reflect the changes
wm.update()
from_template(template: str | dict) bool

This method will take a json file that defines a renderer and set the layer’s renderer to the one defined in the template.

Parameter

Description

template

Required string or dictionary. The path to the json file that defines the renderer. If a dictionary is provided, it will be used as the template directly.

Example of content in the json file:

{
    "authoringInfo": {
        "colorRamp": {
            "colorRamps": [
                {
                    "algorithm": "esriHSVAlgorithm",
                    "fromColor": [56, 168, 0, 255],
                    "toColor": [255, 255, 0, 255],
                    "type": "algorithmic"
                },
                {
                    "algorithm": "esriHSVAlgorithm",
                    "fromColor": [255, 255, 0, 255],
                    "toColor": [255, 0, 0, 255],
                    "type": "algorithmic"}],
                    "type": "multipart"
                }
        },
        "type": "uniqueValue",
        "uniqueValueInfos": [{
            "label": "National Park or Forest",
            "symbol": {
                "color": [0.0, 0.0, 0.0, 64.0],
                "outline": {
                    "color": [0, 0, 0, 255],
                    "style": "esriSLSSolid",
                    "type": "esriSLS",
                    "width": 1
                },
                "style": "esriSFSSolid",
                "type": "esriSFS"
            },
            "value": "National park or forest"
        },
        {
            "label": "State Park or Forest",
            "symbol": {
                "color": [0.0, 0.0, 0.0, 64.0],
                "outline": {
                    "color": [0, 0, 0, 255],
                    "style": "esriSLSSolid",
                    "type": "esriSLS",
                    "width": 1
                },
                "style": "esriSFSSolid",
                "type": "esriSFS"
            },
            "value": "State park or forest"
        },
        {
            "label": "County Park",
            "symbol": {
                "color": [0.0, 0.0, 0.0, 64.0],
                "outline": {
                    "color": [0, 0, 0, 255],
                    "style": "esriSLSSolid",
                    "type": "esriSLS",
                    "width": 1
                },
                "style": "esriSFSSolid",
                "type": "esriSFS"
            },
            "value": "County park"
        },
        {
            "label": "Local Park",
            "symbol": {
                "color": [0.0, 0.0, 0.0, 64.0],
                "outline": {
                    "color": [0, 0, 0, 255],
                    "style": "esriSLSSolid",
                    "type": "esriSLS",
                    "width": 1
                },
                "style": "esriSFSSolid",
                "type": "esriSFS"
            },
            "value": "Local park"
        }
    ]
}
Returns:

The renderer dataclass that was set on the layer. Further edits can be made to this renderer and assigned to the renderer property.

# Usage Example: Apply custom edits to a renderer

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

gis = GIS(profile="geosaurus")

m1 = Map(item="<item_id>")

renderer_manager_layer1 = m1.content.renderer_manager(index=0)
predominance_rend = renderer_manager_layer1.from_template(
                        "path/to/predominance_renderer_template.json"
                    )
print(predominance_rend)

>>> PredominanceRenderer(...)

# make further edits and update again
predominance_rend.unique_value_infos[0].label = "New Label"
renderer_manager_layer1.renderer = predominance_rend
property renderer: SimpleRenderer' | 'HeatmapRenderer' | 'PredominanceRenderer' | 'DotDensityRenderer' | 'FlowRenderer' | 'ClassBreaksRenderer' | 'DictionaryRenderer' | 'PieChartRenderer' | 'VectorFieldRenderer

Get an instance of the specific Renderer dataclass used to symbolize the the layer.

Returns:

Specific type of Renderer dataclass for the specified layer

# Usage Example: Report the type of renderer used for a Web Map layer

from arcgis.gis import GIS

gis = GIS(profile="your_organization_profile")

wm_list = gis.content.search(query="owner:gis_analyst", item_type="Web Map")

>>>
    [<Item title:"World Oil Field locations" type:Web Map owner:gis_analyst>,
     <Item title:"Downtown Infrastructure" type:Web Map owner:gis_analyst>,
     <Item title:"Habitat Reserves" type:Web Map owner:gis_analyst>]

wm_reserves = wm_list[2]

wm_res = gis.map(location=wm_reserves)

for idx, lyr in enumerate(wm_res.content.layers):
    print(f"{idx:<6}{lyr.properties.name}")
    print(f"{' ' * 4}{type(m6.content.renderer_manager(index=idx).renderer)}")

>>>

0     County_Boundary
      <class 'arcgis.map.dataclasses.models.renderers.SimpleRenderer'>

1     Township_SubCounty
      <class 'arcgis.map.dataclasses.models.renderers.SimpleRenderer'>

2     Protected Areas
      <class 'arcgis.map.dataclasses.models.renderers.PredominanceRenderer'>

3     Wetlands
      <class 'arcgis.map.dataclasses.models.renderers.SimpleRenderer'>
smart_mapping() SmartMappingManager

Returns a SmartMappingManager object to use for smart mapping visualizations.

Note

Requires the Map to be rendered in a Jupyter lab notebook environment.

to_template(path: str | None = None) bool

Saves the current renderer as a resource on a map or scene Item containing the layers whose renderer is used for the template. This allows the renderer to be used in other web maps and applications. You can also share the renderer with other users. Use the Item’s resources property to access the ResourceManager to export the renderer to a file.

Note

The map or scene must first be saved to a Web Map or Web Scene Item before a template can be stored or saved to a path.

Parameter

Description

path

Optional string. A file path to store a renderer template JSON file. If no value is provided, the renderer will be stored as a resource on the map or scene Item.

Returns:

If added to item resources, returns the resource name. If saved to path, returns the path.

# Usage Example:
from arcgis.gis import GIS
from arcgis.map import Map

gis = GIS(profile="geosaurus")
m1 = Map(item="<item_id>")

renderer_manager_layer1 = m1.content.renderer_manager(index=0)
resource_name = renderer_manager_layer1.to_template()
print(resource_name)

>>> simple_renderer_renderer_1627891234567.json

# Get the resource from the item
resource = m1.item.resources.get(resource_name)
print(resource)

>>> "C:/path/to/resource/simple_renderer_renderer_1627891234567.json"

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.

field classification_method: ClassificationMethod | None = None

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: ColorRampMultipart | ColorRampAlgorithmic | None = None
field fade_ratio: Annotated[float, Field(ge=0.0, le=1.0)] | None = None

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: AuthoringInfoField | None = None
field field2: AuthoringInfoField | None = None
field fields: list[str] | None = None

An array of string values representing field names used for creating predominance renderers.

field flow_theme: FlowTheme | None = None

Theme to be used only when working with renderers of type flow.

field focus: Focus | None = None

Optional. Used for Relationship renderer. If not set, the legend will default to being square.

field is_auto_generated: bool | None = None

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 length_unit: LengthUnit | None = None

Unit used in user interfaces to display world/map sizes and distances

field max_slider_value: float | int | None = None

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: float | int | None = None

Optional. Indicates the minimum value of a slider if one was used to generate the dot value for dot density renderer.

field num_classes: Annotated[int, Field(ge=2, le=4)] | None = None

Number of classes to be associated with the relationship. Used for Relationship renderer.

field standard_deviation_interval: StandardDeviationInterval | None = None

Use this property if the classificationMethod is esriClassifyStandardDeviation.

field statistics: AuthoringInfoStatistics | None = 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: RendererType | None = None
field univariate_symbol_style: UnivariateSymbolStyle | None = None

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: UnivariateTheme | None = None

Theme to be used only when working with renderers of type univariateColorSize.

field visual_variables: list[AuthoringInfoVisualVariable] | None = None

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.

field max_value: float | int | None = None

A numeric value used to specify the maximum value for a break.

field min_value: float | int | None = None

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.

field class_break_infos: list[AuthoringInfoClassBreakInfo] | None = None
field field: str | None = None

Attribute field used for renderer.

field label: str | None = None

The label used to describe the field or attribute in the legend.

field normalization_field: str | None = None

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.

field max: float | int | None = None

A numeric value indicating the maximum value of the data represented by the renderer.

field min: float | int | None = 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.

field end_time: float | str | None = None

A Unix stamp. Both start_time or end_time can be fields. If this is the case, their names must be different.

field field: str | None = None

The attribute field the user chose in the Smart Mapping gallery. Applies to age style, reference-size theme, and spike theme. For age style, this value must also be specified in either startTime or endTime. This property is used for UI purposes only.

field max_slider_value: float | int | None = None

A numeric value indicating the maximum value displayed.

field min_slider_value: float | int | None = None

A numeric value indicating the minimum value displayed.

field normalization_field: str | None = None

Only applicable when theme is reference-size or spike. Indicates the attribute field the user chose in the Smart Mapping gallery for normalizing data in the selected field. This property is used for UI purposes only.

field reference_size_scale: float | int | None = 0

A numeric value indicating the scale of the reference size. This is used to calculate the size of the symbol in the reference-size theme.

Constraints:
  • ge = 0

field reference_size_symbol_style: UnivariateSymbolStyle | None = None

The symbol style to be used for the reference size. This is used in the reference-size theme.

field size_stops: list[SizeStop] | None = None

An array of objects that defines the thematic size ramp for a size-based visualization with a reference-size or spike theme. 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 when theme is reference-size or spike for the legend to properly render the symbol style along with its labels.

field spike_symbol_style: SpikeSymbolStyle | None = None

Only applicable when theme is spike. This value describes the configuration of the generated spike symbol. Visualizations with a spike theme must be defined in a ClassBreaksRenderer or UniqueValueRenderer with a CIMSymbol resembling a spike whose size is driven by a data value set in the renderer’s field property, and configured in a primitive override of the CIMSymbol. These renderers must not contain size visual variables, but may contain other visual variable types. This property is used for UI purposes only. When defined, AuthoringInfoVisualVariable.sizeStops must also be defined for the legend to properly represent the visualization.

field start_time: float | str | None = None

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: RatioStyle | None = 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.

field theme: Theme | None = 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: VisualVariableType | None = None

A string value specifying the type of renderer’s visual variable.

field units: TimeUnits | None = None

Units for start_time and end_time.

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.

field color: list[Annotated[int, Field(ge=0, le=255)]] [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: str | None = None

The name of a numeric attribute field.

field label: str | None = None

The label used to describe the field or attribute in the legend.

field value_expression: str | None = None

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: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

Axis

class arcgis.map.renderers.Axis(*values)

Defines the axis the size visual variable should be applied to when rendering features with an ObjectSymbol3DLayer.

all = 'all'
depth = 'depth'
heading = 'heading'
height = 'height'
roll = 'roll'
tilt = 'tilt'
width = 'width'
width_and_depth = 'widthAndDepth'

BlendMode

class arcgis.map.renderers.BlendMode(*values)

Blend modes are used to create various effects by blending colors of top and background layers. normal blend mode is the default.

average = 'average'
color = 'color'
color_burn = 'color-burn'
color_dodge = 'color-dodge'
darken = 'darken'
destination_atop = 'destination-atop'
destination_in = 'destination-in'
destination_out = 'destination-out'
destination_over = 'destination-over'
difference = 'difference'
exclusion = 'exclusion'
hard_light = 'hard-light'
hue = 'hue'
invert = 'invert'
lighten = 'lighten'
lighter = 'lighter'
luminosity = 'luminosity'
minus = 'minus'
multiply = 'multiply'
normal = 'normal'
overlay = 'overlay'
plus = 'plus'
reflect = 'reflect'
saturation = 'saturation'
screen = 'screen'
soft_light = 'soft-light'
source_atop = 'source-atop'
source_in = 'source-in'
source_out = 'source-out'
vivid_light = 'vivid-light'
xor = 'xor'

ClassBreakInfo

pydantic model arcgis.map.renderers.ClassBreakInfo

The classBreaksInfo object provides information about the class breaks associated with the renderer.

field alternate_symbols: list[CimSymbolReference] | None = None

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.

field class_max_value: float | int | None = None

A numeric value used to specify the maximum value for a break.

field class_min_value: float | int | None = None

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.

field description: str | None = None

String value used to describe the drawn symbol.

field label: str | None = None

String value used to label the drawn symbol.

field symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None [Required]

An object used to display the value.

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.

field authoring_info: AuthoringInfo | None = None

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: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | SimpleFillSymbolEsriSFS | None = None

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.

field class_break_infos: list[ClassBreakInfo] [Required]

Array of classBreakInfo objects.

field classification_method: ClassificationMethod | None = None

Determines the classification method that was used to generate class breaks. This has been replaced by AuthoringInfo.

field default_label: str | None = None

Label for the default symbol used to draw unspecified values.

field default_symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None = None

Symbol used when a value cannot be classified.

field field: str | None = None

Attribute field used for renderer.

field legend_options: LegendOptions | None = None

A legend containing one title, which is a string describing the renderer in the legend.

field min_value: float | int | None = None

The minimum numeric data value needed to begin class breaks.

field normalization_field: str | None = None

Used when normalizationType is field. The string value indicating the attribute field by which the data value is normalized.

field normalization_total: float | int | None = None

Used when normalizationType is percent-of-total, this number property contains the total of all data values.

field normalization_type: NormalizationType | None = None

Determine how the data was normalized.

field rotation_expression: str | None = None

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.

field rotation_type: RotationType | None = None

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.

field type: Literal['classBreaks'] = 'classBreaks'

Specifies the type of renderer used.

field value_expression: str | None = None

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

field value_expression_title: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] | None = None

An array of objects used to set rendering properties.

ClassificationMethod

class arcgis.map.renderers.ClassificationMethod(*values)

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'

ColorClassBreakInfo

pydantic model arcgis.map.renderers.ColorClassBreakInfo

The classBreaksInfo object provides information about the class breaks associated with the renderer.

field class_max_value: float [Required]

A numeric value used to specify the maximum value for a break.

field class_min_value: float [Required]

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.

field color: list[conint(ge=0, le=255)] [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 description: str | None = None

String value used to describe the class.

field label: str | None = None

String value used to label the class.

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.

field field: str | None = None

Attribute field used for color rendering if no valueExpression is provided.

field legend_options: LegendOptions | None = None
field normalization_field: str | None = None

Attribute field used to normalize the data.

field stops: list[ColorStop] | None = None

An array of stop objects.

field type: Literal['colorInfo'] = 'colorInfo'

Specifies the type of visual variable.

field value_expression: str | None = None

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: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

ColorModulationInfo

pydantic model arcgis.map.renderers.ColorModulationInfo

Indicates whether modulation should be used to render the point.

field field: str [Required]

the attribute to use as a source for the modulation amplitude

field max_value: float [Required]

maximum value to compute modulation linear mapping

field min_value: float [Required]

minimum value to compute modulation linear mapping

ColorRampAlgorithmic

pydantic model arcgis.map.renderers.ColorRampAlgorithmic

A ColorRamp object that defines a smooth transition from one color to another using a specific interpolation algorithm.

field algorithm: RampAlgorithm | None = None

Algorithm used for calculating the ramp.

field from_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

Array representing the initial color to start the ramp from.

field to_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

Array representing the final color to end the ramp with.

field type: Literal['algorithmic'] = 'algorithmic'

Value indicating the type of colorRamp.

ColorRampMultipart

pydantic model arcgis.map.renderers.ColorRampMultipart

A ColorRamp object used to specify a range of colors that are applied to a group of symbols.

field color_ramps: list[ColorRampPart] [Required]

A multipart color ramp is defined by a list of constituent color ramps.

field type: Literal['multipart'] = 'multipart'

Value indicating the type of colorRamp.

ColorRampPart

pydantic model arcgis.map.renderers.ColorRampPart

A part of a multipart ColorRamp that specifies a range of colors, algorithm, and optional weights for the part.

field algorithm: RampAlgorithm | None = None

Algorithm used for calculating the ramp.

field from_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

Array representing the initial color to start the ramp from.

field start: int | float | None = None

The start percentage of the color ramp part

Constraints:
  • ge = 0

  • le = 100

field stop: int | float | None = None

The stop percentage of the color ramp part

Constraints:
  • ge = 0

  • le = 100

field to_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

Array representing the final color to end the ramp with.

field type: Literal['algorithmic'] = 'algorithmic'

Value indicating the type of colorRamp part.

ColorRampType

class arcgis.map.renderers.ColorRampType(*values)

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.

field color: list[Annotated[int, Field(ge=0, le=255)]] [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: str | None = None

Value if a label is needed on the legend for a stop.

field value: float = None

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.

ColorUniqueValueInfo

pydantic model arcgis.map.renderers.ColorUniqueValueInfo

The colorUniqueValueInfo object matches a unique value with a specific color.

field color: list[conint(ge=0, le=255)] [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 description: str | None = None

String value used to describe the class.

field label: str | None = None

String value used to label the class.

field values: list[str] [Required]

List of string values used to classify points.

ColormapInfo

pydantic model arcgis.map.renderers.ColormapInfo

The color map information used when [rendering](rasterColormapRenderer.md) raster data.

field color: list[conint(ge=0, le=255)] | None = None

The pixel color.

field label: str | None = None

The label used for the pixel value.

field value: float | None = None

The raster pixel value.

DictionaryRenderer

pydantic model arcgis.map.renderers.DictionaryRenderer

A renderer where symbols are drawn from a dictionary style.

field configuration: dict[Annotated[str, StringConstraints(pattern='.*')], str] | None = None

An object representing the configuration properties for a symbol.

field dictionary_name: str | None = None

The name of the symbol dictionary.

field field_map: dict[Annotated[str, StringConstraints(pattern='.*')], str] | None = None

An object with key/ value pairs representing expected field name and actual field name.

field scaling_expression_info: ExpressionInfo | None = None

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 style_path: str | None = None

The file path to the dictionary style.

field type: Literal['dictionary'] = 'dictionary'

Specifies the type of renderer used.

field url: str [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.

field attributes: list[AttributeColorInfo] [Required]

An array of AttributeColorInfo objects defining the dot colors.

field authoring_info: AuthoringInfo | None = None

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: list[Annotated[int, Field(ge=0, le=255)]] | None = None

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: bool | None = None

Only applicable when two or more attributes are specified. When true, indicates that colors for overlapping dots will blend.

field dot_size: float | int | None = 1

Defines the size of each dot in points. The default is 1 in maps that don’t persist dotSize.

field dot_value: float | int | None = None

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: LegendOptions | None = None

Options for describing the renderer in the legend. This includes the title and the units describing the dotValue.

field outline: SimpleLineSymbolEsriSLS | None = None

Sets the outline of the polygon.

field reference_scale: float | int | None = None

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: float | int | None = '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: Literal['dotDensity'] = 'dotDensity'

Specifies the type of renderer used.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] = None

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.

field expression: str | None = 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 name: str | None = None

Optional name of the expression. Typically used to identify the expression within a larger context, such as a list of expressions.

field return_type: ArcadeReturnType | None = 'string'

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: str | None = 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.

FieldTransformType

class arcgis.map.renderers.FieldTransformType(*values)

A transform that is applied to the field value before evaluating the renderer.

absolute_value = 'absoluteValue'
high_four_bit = 'highFourBit'
low_four_bit = 'lowFourBit'
modulo_ten = 'moduloTen'
none = 'none'

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.

field authoring_info: AuthoringInfo | None = None

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: list[Annotated[int, Field(ge=0, le=255)]] | None = [255, 255, 255, 255]

The color of the streamlines.

field density: float | int | None = 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: FlowRepresentation | None = 'flow-from'

Sets the flow direction of the data.

field flow_speed: float | int | None = 10

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: LegendOptions | None = None

A legend containing one title, which is a string describing the renderer in the legend.

field max_path_length: float | int | None = 200

The maximum length the streamlines will travel in points.

field trail_cap: TrailCap | None = 'butt'

The style of the streamline’s cap. The ‘round’ cap will only be applied if trailWidth is greater than 3pts.

field trail_length: float | int | None = 100

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: float | int | None = 1.5

The width of the streamlines in points.

field type: Literal['flowRenderer'] = 'flowRenderer'

Specifies the type of renderer used.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] = None

An array of objects used to set rendering properties. Supports color, size, and opacity visual variables.

FlowRepresentation

class arcgis.map.renderers.FlowRepresentation(*values)

Sets the flow direction of the data.

flow_from = 'flow_from'
flow_to = 'flow_to'

FlowTheme

class arcgis.map.renderers.FlowTheme(*values)

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(*values)

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.

field color: list[Annotated[int, Field(ge=0, le=255)]] [Required]
field ratio: float [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.

field authoring_info: AuthoringInfo | None = None

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: list[HeatmapColorStop] [Required]

An array of colorStop objects describing the renderer’s color ramp with more specificity than just colors.

field field: str | None = 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: LegendOptions | None = None

Options for describing the heatmap in the legend.

field max_density: float | int | None = None

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: float | int | None = None

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: float | int | None = 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: Annotated[float, Field(ge=0.0)] | None = 0

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: Literal['heatmap'] = 'heatmap'

Specifies the type of renderer used.

HillshadeType

class arcgis.map.renderers.HillshadeType(*values)

Use single (traditional), or multiple illumination sources to generate hillshade

multi_directional = 'multi-directional'
traditional = 'traditional'

InputOutputUnit

class arcgis.map.renderers.InputOutputUnit(*values)

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.

field dot_label: str | None = None

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: str | None = None

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: str | None = None

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: LegendOrder | None = None

Indicates the order in which the legend is displayed.

field show_legend: bool | None = None

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: str | None = None

The title of the legend.

field unit: str | None = 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(*values)

Indicates the order in which the legend is displayed.

ascending_values = 'ascendingValues'
descending_values = 'descendingValues'

LengthUnit

class arcgis.map.renderers.LengthUnit(*values)

Unit used in user interfaces to display world/map sizes and distances

centimeters = 'centimeters'
decimeters = 'decimeters'
feet = 'feet'
inches = 'inches'
kilometers = 'kilometers'
meters = 'meters'
miles = 'miles'
millimeters = 'millimeters'
nautical_miles = 'nautical-miles'
yards = 'yards'

NormalizationType

class arcgis.map.renderers.NormalizationType(*values)

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.

field color: list[Annotated[int, Field(ge=0, le=255)]] | None = 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: str | None = 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: Annotated[float, Field(ge=0.0, le=1.0)] | None = 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.

field attributes: list[AttributeColorInfo] [Required]

An array of AttributeColorInfo objects defining the color of each slice.

field authoring_info: AuthoringInfo | None = None

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: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | SimpleFillSymbolEsriSFS | None = None

The symbols used to represent the polygon fill behind the pie charts.

field default_color: list[Annotated[int, Field(ge=0, le=255)]] | None = None

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: str | None = None

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: Annotated[float, Field(ge=0.0, le=1.0)] | None = 0

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: LegendOptions | None = None

Options for describing the renderer in the legend.

field others_category: OthersThresholdColorInfo | None = None

Defines how to aggregate small pie slices to a generic “others” category.

field outline: SimpleLineSymbolEsriSLS | None = 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: float | int | None = 12

The diameter of the pie chart in points.

field type: Literal['pieChart'] = 'pieChart'

Specifies the type of renderer used.

field visual_variables: list[SizeInfoVisualVariable] | None = None

An array of sizeInfo objects used to vary the size of the pie charts.

PointCloudClassBreaksRenderer

pydantic model arcgis.map.renderers.PointCloudClassBreaksRenderer

PointCloudClassBreaksRenderer defines the color of each point in a PointCloudLayer based on the value of a numeric attribute. Colors are assigned based on classes or ranges of data. Each point is assigned a symbol based on the class break in which the value of the attribute falls.

field color_class_break_infos: list[ColorClassBreakInfo] [Required]

Each element in the array is an object that provides information about a class break associated with the renderer.

field color_modulation: ColorModulationInfo | None = None
field field: str [Required]

The name of the field that is used for the renderer.

field field_transform_type: FieldTransformType | None = None

A transform that is applied to the field value before evaluating the renderer.

field legend_options: RendererLegendOptions | None = None

A legend containing one title, which is a string describing the renderer in the legend.

field point_size_algorithm: PointCloudFixedSizeAlgorithm | PointCloudSplatAlgorithm | None = None

Size algorithms for point cloud performance.

field points_per_inch: float | None = None

Number of point to draw per display inch.

field type: Literal['pointCloudClassBreaksRenderer'] = 'pointCloudClassBreaksRenderer'

Specifies the type of renderer used.

PointCloudFixedSizeAlgorithm

pydantic model arcgis.map.renderers.PointCloudFixedSizeAlgorithm

Render points with fixed real world or screen space size.

field size: float [Required]

Symbol size in real world units or display unit

field type: Literal['pointCloudFixedSizeAlgorithm'] = 'pointCloudFixedSizeAlgorithm'
field use_real_world_symbol_sizes: bool | None = None

If true symbol size is in meters, display unit (pt) otherwise

PointCloudRGBRenderer

pydantic model arcgis.map.renderers.PointCloudRGBRenderer

PointCloudRGBRenderer defines the color of each point in a PointCloudLayer based on the value of a color attribute.

field color_modulation: ColorModulationInfo | None = None
field field: str [Required]

The name of the field that is used for the renderer.

field point_size_algorithm: PointCloudFixedSizeAlgorithm | PointCloudSplatAlgorithm | None = None

Size algorithms for point cloud performance.

field points_per_inch: float | None = None

Number of point to draw per display inch.

field type: Literal['pointCloudRGBRenderer'] = 'pointCloudRGBRenderer'

Specifies the type of renderer used.

PointCloudSplatAlgorithm

pydantic model arcgis.map.renderers.PointCloudSplatAlgorithm

Render points using sizes depending on point density.

field scale_factor: float [Required]

Scale factor to applied to the computed point size (in real world)

field type: Literal['pointCloudSplatAlgorithm'] = 'pointCloudSplatAlgorithm'

PointCloudStretchRenderer

pydantic model arcgis.map.renderers.PointCloudStretchRenderer

PointCloudStretchRenderer defines the color of each point in a PointCloudLayer based on the value of a numeric attribute. They allow you to easily map continuous color ramps to minimum and maximum data values of one of the layer’s numeric attribute fields.

field color_modulation: ColorModulationInfo | None = None
field field: str [Required]

The name of the field that is used for the renderer.

field field_transform_type: FieldTransformType | None = None

A transform that is applied to the field value before evaluating the renderer.

field legend_options: RendererLegendOptions | None = None

A legend containing one title, which is a string describing the renderer in the legend.

field point_size_algorithm: PointCloudFixedSizeAlgorithm | PointCloudSplatAlgorithm | None = None

Size algorithms for point cloud performance.

field points_per_inch: float | None = None

Number of points to draw per display inch.

field stops: list[ColorStop] [Required]

An array of color value pairs.

field type: Literal['pointCloudStretchRenderer'] = 'pointCloudStretchRenderer'

Specifies the type of renderer used.

PointCloudUniqueValueRenderer

pydantic model arcgis.map.renderers.PointCloudUniqueValueRenderer

PointCloudUniqueValueRenderer allows you to colorize points in a PointCloudLayer based on an attribute. This is done by using unique colors to represent points with equal attribute values.

field color_modulation: ColorModulationInfo | None = None
field color_unique_value_infos: list[ColorUniqueValueInfo] [Required]

Unique value infos.

field field: str [Required]

The name of the field that is used for the renderer.

field field_transform_type: FieldTransformType | None = None

A transform that is applied to the field value before evaluating the renderer.

field legend_options: RendererLegendOptions | None = None

A legend containing one title, which is a string describing the renderer in the legend.

field point_size_algorithm: PointCloudFixedSizeAlgorithm | PointCloudSplatAlgorithm | None = None

Size algorithms for point cloud performance.

field points_per_inch: float | None = None

Number of points to draw per display inch.

field type: Literal['pointCloudUniqueValueRenderer'] = 'pointCloudUniqueValueRenderer'

Specifies the type of renderer used.

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.

field authoring_info: AuthoringInfo | None = None

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: SimpleFillSymbolEsriSFS | None = None

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.

field default_label: str | None = None

Default label for the default symbol used to draw unspecified values.

field default_symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None = None

Symbol used when a value cannot be classified.

field rotation_expression: str | None = None

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

field rotation_type: RotationType | None = None

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 type: Literal['uniqueValue'] = 'uniqueValue'

Specifies the type of renderer used.

field unique_value_infos: list[UniqueValueInfo] [Required]

An array of uniqueValueInfo objects.

field value_expression: str | None = None

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.

field value_expression_title: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] = None

An array of objects used to set rendering properties.

RampAlgorithm

class arcgis.map.renderers.RampAlgorithm(*values)

Algorithm used for calculating the ramp.

esri_cie_lab_algorithm = 'esriCIELabAlgorithm'
esri_hsv_algorithm = 'esriHSVAlgorithm'
esri_lab_l_ch_algorithm = 'esriLabLChAlgorithm'

RasterColorMapRenderer

pydantic model arcgis.map.renderers.RasterColorMapRenderer

A value/color look up table used for rendering raster data only. This renderer is similar to [unique value rendering](uniqueValueRenderer.md) in regards to its functionality. The rendering is automatically applied when a raster source has colormap information.

field colormap_infos: list[ColormapInfo] [Required]

An array of colormapInfo objects.

field type: Literal['rasterColormap'] = 'rasterColormap'

Specifies the type of renderer used.

RasterShadedReliefRenderer

pydantic model arcgis.map.renderers.RasterShadedReliefRenderer

This renderer produces a grayscale or colored 3D representations. This renderer can be used on either layers of type: [ImageServiceLayer](imageServiceLayer.md) or [TiledImageServiceLayer](tiledImageServiceLayer.md)

field altitude: float [Required]

Used when the hillshadeType is traditional. The altitude of the illumination source.

field azimuth: float [Required]

Used when the hillshadeType is traditional. The azimuth of the illumination source.

field color_ramp: ColorRampMultipart | ColorRampAlgorithmic | None = None

The color ramp to display the shaded relief. when not specified, a grayscale hillshade is produced. When this is specified, grayscale hillshade is fused with colorized elevation.

field hillshade_type: HillshadeType [Required]

Use single (traditional), or multiple illumination sources to generate hillshade

field pixel_size_factor: float | None = None

Accounts for changes in scale as the viewer zooms in and out on the map display

field pixel_size_power: float | None = None

Accounts for the altitude changes (or scale) as the viewer zooms in and out on the map display

field scaling_type: ScalingType [Required]

Apply a constant or adjusted z-factor based on resolution changes. The adjusted type is suitable for worldwide elevation dataset. An adjusted zFactor is determined using this equation: Adjusted Z-Factor = (Z Factor) + (Pixel Size) <sup>(Pixel Size Power)</sup> x Pixel Size Factor

field type: Literal['rasterShadedRelief'] = 'rasterShadedRelief'

Specifies the type of renderer used.

field z_factor: float [Required]

A conversion factor that adjusts the units of measure for the vertical (or elevation) units when they are different from the horizontal coordinate (x,y) units of the input surface. It is the number of ground x,y units in one surface z-unit.

RatioStyle

class arcgis.map.renderers.RatioStyle(*values)

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'

RendererLegendOptions

pydantic model arcgis.map.renderers.RendererLegendOptions

Options available for the renderer legend.

field title: str | None = None

The title of the legend.

RendererType

class arcgis.map.renderers.RendererType(*values)
class_breaks = 'classBreaks'
classed_color = 'classedColor'
classed_size = 'classedSize'
dot_density = 'dotDensity'
flow = 'flow'
predominance = 'predominance'
relationship = 'relationship'
unique_value = 'uniqueValue'
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.

field axis: Axis | None = Axis.heading

Defines the rotation axis the visual variable should be applied to when rendering features with an ObjectSymbol3DLayer. [Detailed description](static/objectSymbolLayerOrientation.md).

field field: str | None = None

Attribute field used for setting the rotation of a symbol if no valueExpression is provided.

field legend_options: LegendOptions | None = None
field rotation_type: RotationType | None = 'geographic'

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: Literal['rotationInfo'] = 'rotationInfo'

A string value indicating the type of visual variable used for the renderer.

field value_expression: str | None = None

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

field value_expression_title: str | None = None

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(*values)

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'

ScalingType

class arcgis.map.renderers.ScalingType(*values)

Apply a constant or adjusted z-factor based on resolution changes. The adjusted type is suitable for worldwide elevation dataset. An adjusted zFactor is determined using this equation: Adjusted Z-Factor = (Z Factor) + (Pixel Size) <sup>(Pixel Size Power)</sup> x Pixel Size Factor

adjusted = 'adjusted'
none = 'none'

SimpleRenderer

pydantic model arcgis.map.renderers.SimpleRenderer

A simple renderer is a renderer that uses one symbol only.

field authoring_info: AuthoringInfo | None = None

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 description: str | None = None

Description of the renderer.

field label: str | None = None

The text string that is displayed in the table of contents.

field rotation_expression: str | None = None

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

field rotation_type: RotationType | None = None

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 symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None [Required]

An object that represents how all features will be drawn.

field type: Literal['simple'] = 'simple'

Specifies the type of renderer used.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] = None

An array of objects used to set rendering properties.

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.

field expression: str = 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: list[SizeStop] [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: Literal['sizeInfo'] = 'sizeInfo'

Value indicating the type of rendering.

field value_expression: str | None = None

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.

field axis: Axis | None = Axis.all

Defines the axis the size visual variable should be applied to when rendering features with an ObjectSymbol3DLayer.

field field: str | None = None

Attribute field used for size rendering if no valueExpression is provided.

field legend_options: LegendOptions | None = None
field max_data_value: float | int | None = None

The maximum data value.

field max_size: Size | float | None = None

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: float | int | None = None

The minimum data value.

field min_size: Size | float | None = None

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: str | None = None

Attribute field used to normalize the data.

field stops: list[SizeStop] | None = 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: Literal['outline'] | None = None

Only used when sizeInfo is used for polygon outlines.

field type: Literal['sizeInfo'] = 'sizeInfo'

Specifies the type of visual variable.

field use_symbol_value: bool | None = None

When setting a size visual variable on a renderer using an ObjectSymbol3DLayer, this property indicates whether to apply the value defined by the height, width, or depth properties to the corresponding axis of this visual variable instead of proportionally scaling this axis’ value after other axes.

field value_expression: str | None = None

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 property where the outline looks thinner at smaller scales and thicker at larger scales.

field value_expression_title: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

field value_representation: ValueRepresentation | None = None

Specifies how to apply the data value when mapping real-world sizes. See table below for supported values.

field value_unit: str | None = None

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.

field label: str | None = None

Value if a label is needed on the legend for a stop.

field size: float [Required]

Specifies the marker size to use for the specified value.

field value: float [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(*values)

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.

field color_ramp: ColorRampMultipart | ColorRampAlgorithmic | None = None
field compute_gamma: bool | None = None

Indicates if gamma values should be computed by default.

field dra: bool | None = None

Indicates if Dynamic Range Adjustment should be applied.

field gamma: list[float] | list[int] | None = None

The list of Gamma value(s).

field max: float | int | None = None

The current maximum output value.

field max_percent: float | int | None = None

The current maximum percent value.

field min: float | int | None = None

The current minimum output value.

field min_percent: float | int | None = None

The current minimum percent value.

field number_of_standard_deviations: float | int | None = None

The number of standard deviations for standard deviation stretch.

field sigmoid_strength_level: float | int | None = None

Set this from (1 to 6) to adjust the curvature of Sigmoid curve used in color stretch.

field statistics: list[list[float]] | None = None

The custom raster stretch statistics.

field stretch_type: StretchType | None = None

The stretch types for stretch raster function.

field type: Literal['rasterStretch'] | None = None

Specifies the type of renderer used.

field use_gamma: bool | None = None

Indicates if the renderer applies Gamma stretch.

StretchType

class arcgis.map.renderers.StretchType(*values)

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.

field latest_observation_renderer: SimpleRenderer | None = None

Simple renderer used to symbolize point geometries for the most current observations.

field observational_renderer: SimpleRenderer | None = None

Simple renderer used to symbolize regular/historic observations.

field track_renderer: SimpleRenderer | None = None

Simple renderer used to symbolize the tracks.

field type: Literal['temporal'] | None = None

Specifies the type of renderer used.

Theme

class arcgis.map.renderers.Theme(*values)

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'
spike = 'spike'

TimeUnits

class arcgis.map.renderers.TimeUnits(*values)

Units for startTime and endTime.

days = 'days'
hours = 'hours'
minutes = 'minutes'
months = 'months'
seconds = 'seconds'
years = 'years'

TrailCap

class arcgis.map.renderers.TrailCap(*values)

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.

field field: str | None = None

Attribute field used for setting the transparency of a feature if no valueExpression is provided.

field legend_options: LegendOptions | None = None
field normalization_field: str | None = None

Attribute field used to normalize the data.

field stops: list[TransparencyStop] | None = None

An array of transparencyStop objects.

field type: Literal['transparencyInfo'] = 'transparencyInfo'

Specifies the type of visual variable.

field value_expression: str | None = None

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to a number.

field value_expression_title: str | None = None

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.

field label: str | None = None

A string value used to label the stop in the legend.

field transparency: int | float [Required]

A numeric transparancy value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.

field value: float [Required]

The pixel intensity value. Describes the pixel intensity value that the color should be associated with.

UnivariateSymbolStyle

class arcgis.map.renderers.UnivariateSymbolStyle(*values)

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(*values)

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'

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.

field alternate_symbols: list[CimSymbolReference] | None = None

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.

field description: str | None = None

String value used to describe the drawn symbol.

field label: str | None = None

String value used to label the drawn symbol.

field symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None [Required]

An object used to display the value.

field values: list[list[str]] [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.

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.

field classes: list[UniqueValueClass] [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: str | None = 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.

field alternate_symbols: list[CimSymbolReference] | None = None

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.

field description: str | None = None

String value used to describe the drawn symbol.

field label: str | None = None

String value used to label the drawn symbol.

field symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None = None

An object used to display the value.

field value: str | int | float = None

String value indicating the unique value.

UniqueValueRenderer

pydantic model arcgis.map.renderers.UniqueValueRenderer

This renderer symbolizes features based on one or more matching string attributes.

field authoring_info: AuthoringInfo | None = None

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 background_fill_symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | SimpleFillSymbolEsriSFS | PolygonSymbol3D | None = None

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.

field default_label: str | None = None

Default label for the default symbol used to draw unspecified values.

field default_symbol: CimSymbolReference | PictureFillSymbolEsriPFS | PictureMarkerSymbolEsriPMS | SimpleFillSymbolEsriSFS | SimpleLineSymbolEsriSLS | SimpleMarkerSymbolEsriSMS | TextSymbolEsriTS | PointSymbol3D | LineSymbol3D | PolygonSymbol3D | MeshSymbol3D | LineSymbol3D | MeshSymbol3D | PointSymbol3D | PolygonSymbol3D | StyleSymbolReference | None = None

Symbol used when a value cannot be matched.

field draw_in_class_order: bool | None = None

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.

field field1: str | None = None

Attribute field renderer uses to match values.

field field2: str | None = None

If needed, specify an additional attribute field the renderer uses to match values.

field field3: str | None = None

If needed, specify an additional attribute field the renderer uses to match values.

field field_delimiter: str | None = None

String inserted between the values if multiple attribute fields are specified.

field legend_options: LegendOptions | None = None

Allows the user to override the layer title with a more descriptive title of the renderer.

field rotation_expression: str | None = None

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.

field rotation_type: RotationType | None = None

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.

field type: Literal['uniqueValue'] = 'uniqueValue'

Specifies the type of renderer used.

field unique_value_groups: list[UniqueValueGroup] | None = None

An array of uniqueValueGroup objects. If present, then uniqueValueGroups should be used in favor of uniqueValueInfos.

field unique_value_infos: list[UniqueValueInfo] | None = None

An array of uniqueValueInfo objects. If present, then uniqueValueGroups should not be used.

field value_expression: str | None = None

An [Arcade expression](https://developers.arcgis.com/arcade/) evaluating to either a string or a number.

field value_expression_title: str | None = None

The title identifying and describing the associated [Arcade](https://developers.arcgis.com/arcade/) expression as defined in the valueExpression property.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] | None = None

An array of objects used to set rendering properties.

ValueRepresentation

class arcgis.map.renderers.ValueRepresentation(*values)

Specifies how to apply the data value when mapping real-world sizes. See table below for supported values.

area = 'area'
diameter = 'diameter'
distance = 'distance'
radius = 'radius'
width = 'width'

VectorFieldRenderer

pydantic model arcgis.map.renderers.VectorFieldRenderer

A vector field renderer is a renderer that uses symbolizes a U-V or Magnitude-Direction data.

field attribute_field: str | None = None

Name of the feature attribute field that contains the data value.

field flow_representation: FlowRepresentation | None = 'flow-from'

Sets the flow direction of the data.

field input_unit: InputOutputUnit | None = None

Input unit for Magnitude.

field output_unit: InputOutputUnit | None = None

Output unit for Magnitude.

field rotation_type: RotationType | None = None

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: VectorFieldStyle | None = None

A predefined style.

field symbol_tile_size: float | int | None = 50

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: Literal['vectorField'] = 'vectorField'

Specifies the type of renderer used.

field visual_variables: list[ColorInfoVisualVariable | RotationInfoVisualVariable | SizeInfoVisualVariable | TransparencyInfoVisualVariable] | None = None

An array of objects used to set rendering properties.

VectorFieldStyle

class arcgis.map.renderers.VectorFieldStyle(*values)

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(*values)

A string value specifying the type of renderer’s visual variable.

color_info = 'colorInfo'
rotation_info = 'rotationInfo'
size_info = 'sizeInfo'
transparency_info = 'transparencyInfo'

Forms

FormManager

class arcgis.map.forms.FormManager(**kwargs)

Bases: object

A class that defines the Field App Form found on a layer. Through this class you can edit the form info and get information on it.

Note

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

property form_info: FormInfo | None

Get the FormInfo object for the layer.

Returns:

FormInfo object or None if not set

Return type:

FormInfo

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.

field coded_values: list[UniqueCodedValue] [Required]

A set of valid values with unique names.

field name: str | None = None

The domain name.

field type: Literal['codedValue'] = '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.

field allow_user_rename: bool | None = True

A boolean value indicating whether the user can rename the attachment. If not provided, the default value is true.

field attachment_keyword: str [Required]

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: str | None = None

A string that describes the element in detail.

field display_file_name: bool | None = False

A boolean value indicating whether the file name is displayed. If not provided, the default value is false.

field editable_expression: str | None = None

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 file_name_expression: str | None = None

Determines the name of a new attachment. If not specified, a unique name will be generated using the attachmentKeyword and the current timestamp when attachment is added.

field input_type: FormAttachmentInput | FormAudioInput | FormDocumentInput | FormImageInput | FormSignatureInput | FormVideoInput | None [Required]

The input user interface to use for the attachment.

field label: str | None [Required]

A string value indicating what the element represents.

field max_attachment_count: int | None = None

An integer that indicates the maximum number of attachments that can be added. If not provided, there is no maximum number required.

field min_attachment_count: int | None = None

An integer that indicates the minimum number of attachments that must be added. If not provided, there is no minimum number required.

field type: Literal['attachment'] = 'attachment'

String value indicating which type of element to use.

field use_original_file_name: bool | None = True

Determines whether the uploaded attachment’s file name is preserved. If false, the name is updated based on filenameFormatExpression. Default is true.

field visibility_expression: str | None = None

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.

field attachment_association_type: AttachmentAssociationType | None = AttachmentAssociationType.exact

Indicates if existing attachments should be associated with this element. any will associate all existing attachments to this form element; this can be the only formAttachmentElement within the form. exactOrNone will associate any attachments with the associated keyword and any attachments with no keyword defined; only one form element can have this value defined. exact will associate only attachments that include the specific keyword.

field input_types: list[FormAudioInput | FormDocumentInput | FormImageInput | FormSignatureInput | FormVideoInput] [Required]

An array of input types that are allowed for the attachment.

field type: Literal['attachment'] = 'attachment'

The input type identifier.

FormAudioInput

pydantic model arcgis.map.forms.FormAudioInput

Defines that an audio file can be attached.

field input_method: InputMethodType | None = InputMethodType.any

The input method used to attach an audio.

field max_duration: int | None = None

The maximum duration of the audio file in seconds. If not provided, there is no maximum length.

field type: Literal['audio'] = '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.

field max_length: int | None = None

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: int | None = None

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: Literal['barcode-scanner'] = '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.

field no_value_option_label: str | None = None

The text used to represent a null value.

field show_no_value_option: bool | None = None

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: Literal['combo-box'] = 'combo-box'

The input type identifier.

FormDatePickerInput

pydantic model arcgis.map.forms.FormDatePickerInput

Defines the desired user interface is a date picker.

field max: str | None = None

The maximum date to allow. The number represents an ISO-8601 date.

field min: str | None = None

The minimum date to allow. The number represents an ISO-8601 date.

field type: Literal['date-picker'] = 'date-picker'

The input type identifier.

FormDatetimePickerInput

pydantic model arcgis.map.forms.FormDatetimePickerInput

Defines the desired user interface is a calendar date picker.

field include_time: bool | None = None

Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is false.

field max: int | None = None

The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.

field min: int | None = None

The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.

field type: Literal['datetime-picker'] = 'datetime-picker'

The input type identifier.

FormDocumentInput

pydantic model arcgis.map.forms.FormDocumentInput

Defines that a document file can be attached.

field max_file_size: int | None = None

The maximum file size in megabytes. If not provided, there is no maximum size.

field type: Literal['document'] = 'document'

The input type identifier.

FormExpressionInfo

pydantic model arcgis.map.forms.FormExpressionInfo

Arcade expression used in the form.

field expression: str | None = None

The Arcade expression.

field name: str | None = None

Unique identifier for the expression.

field return_type: ArcadeReturnType | None = None

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: str | None = None

Title of the expression.

FormFieldElement

pydantic model arcgis.map.forms.FormFieldElement

Defines how a field in the dataset participates in the form.

field description: str | None = None

A string that describes the element in detail.

field domain: CodedValue | InheritedDomain | RangeDomain | None = None

The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.

field editable_expression: str | None = None

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: str | None = None

A string containing the field name as defined by the feature layer.

field hint: str | None = None

A string representing placeholder text. This only applies for input types that support text or numeric entry.

field input_type: FormBarcodeScannerInput | FormComboBoxInput | FormDatePickerInput | FormDatetimePickerInput | FormRadioButtonsInput | FormSwitchInput | FormTextAreaInput | FormTextBoxInput | FormTimeInput | FormTimestampOffsetPickerInput | None [Required]

The input user interface to use for the element.

field label: str | None = 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: str | None = None

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: Literal['field'] = 'field'

A string indicating which type of element to use.

field value_expression: str | None = None

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: str | None = None

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.

field description: str | None = None

A string that describes the element in detail.

field form_elements: list[FormAttachmentElement | FormFieldElement | FormRelationshipElement | FormTextElement] [Required]

An array of Form Element objects that represent an ordered list of form elements. Nested group elements are not supported.

field initial_state: GroupInitialState | None = None

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: str | None = None

A string value indicating what the element represents.

field type: Literal['group'] = 'group'

String value indicating which type of element to use.

field visibility_expression: str | None = None

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.

field input_method: InputMethodType | None = InputMethodType.any

The input method used to attach an image.

field max_image_size: int | None = None

Number of pixels on the longest edge depending on orientation. Larger images will be resized and aspect ratio is maintained. If maxImageSize is not specified, images will not be resized.

field type: Literal['image'] = 'image'

The input type identifier.

FormInfo

pydantic model arcgis.map.forms.FormInfo

Defines the form configuration when a user edits a feature.

field description: str | None = None

A string that appears in the body of the form as a description.

field expression_infos: list[FormExpressionInfo] | None = None

List of Arcade expressions used in the form.

field form_elements: list[FormAttachmentElement | FormFieldElement | FormRelationshipElement | FormTextElement | FormGroupElement | FormUtilityNetworkAssociationsElement] [Required]

An array of formElement objects that represent an ordered list of form elements.

field preserve_field_values_when_hidden: bool | None = None

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 supports_attachment_elements: bool | None = False

Indicates whether the form supports attachment elements. If false, any formAttachmentElement in the form will not be displayed. If not provided, the default value is false.

field title: str | None = None

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

FormRadioButtonsInput

pydantic model arcgis.map.forms.FormRadioButtonsInput

Defines the desired user interface is a radio button group.

field no_value_option_label: str | None = None

The text used to represent a null value.

field show_no_value_option: bool | None = None

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: Literal['radio-buttons'] = 'radio-buttons'

The input type identifier.

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.

field description: str | None = None

A string that describes the element in detail.

field display_count: int | None = None

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

field display_type: Literal['list'] = 'list'

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

field editable_expression: str | None = None

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: str [Required]

A string value indicating what the element represents.

field order_by_fields: list[OrderByField] | None = None

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: int [Required]

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

field type: Literal['relationship'] = 'relationship'

String value indicating which type of element to use.

field visibility_expression: str | None = None

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.

field input_method: InputMethodType | None = InputMethodType.any

The input method used to attach a signature.

field type: Literal['signature'] = '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.

field off_value: int | str [Required]

The coded value when switch state is off.

field on_value: int | str [Required]

The coded value when switch state is on.

field type: Literal['switch'] = 'switch'

The input type identifier.

FormTextAreaInput

pydantic model arcgis.map.forms.FormTextAreaInput

Defines the desired user interface is a multi-line text area.

field max_length: int | None = None

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: int | None = None

This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.

field type: Literal['text-area'] = 'text-area'

The input type identifier.

FormTextBoxInput

pydantic model arcgis.map.forms.FormTextBoxInput

Defines the desired user interface is a single-line text box.

field max_length: int | None = None

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: int | None = None

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: Literal['text-box'] = 'text-box'

The input type identifier.

FormTextElement

pydantic model arcgis.map.forms.FormTextElement

Configures read-only text in form elements.

field text: str [Required]

String value indicating the text to be displayed within the formTextElement.

field text_format: TextFormat | None = TextFormat.plain_text

Defines language of text property. Default is plain-text.

field type: Literal['text'] = 'text'

String value indicating which type of element to use. Valid value of this property is text.

field visibility_expression: str | None = None

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.

field max: str | None = None

The maximum time to allow. The number represents an extended ISO-8601 time.

field min: str | None = None

The minimum time to allow. The number represents an extended ISO-8601 time.

field time_resolution: TimeResolution | None = 'minutes'

The resolution identifier. If not specified default is ‘minutes’.

field type: Literal['time-picker'] = '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.

field include_time_offset: bool | None = True

Indicates if the timestampoffset picker should provide an option to select the timeoffset. If not provided, the default value is true.

field max: str | None = None

The maximum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.

field min: str | None = None

The minimum timestampoffset to allow. The number represents an ISO-8601 date with a time offset.

field time_resolution: TimeResolution | None = 'minutes'

The resolution identifier. If not specified default is ‘minutes’.

field type: Literal['timestampoffset-picker'] = 'timestampoffset-picker'

The input type identifier.

FormVideoInput

pydantic model arcgis.map.forms.FormVideoInput

Defines that a video file should be attached.

field input_method: InputMethodType | None = InputMethodType.any

The input method used to attach a video.

field max_duration: int | None = None

The maximum duration of the video file in seconds. If not provided, there is no maximum length.

field type: Literal['video'] = 'video'

The input type identifier.

GroupInitialState

class arcgis.map.forms.GroupInitialState(*values)

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'

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.

field type: Literal['inherited'] = 'inherited'

String value representing the domain type.

RangeDomain

pydantic model arcgis.map.forms.RangeDomain

Range domain specifies a range of valid values for a field.

field name: str | None = None

The domain name.

field range: list[float] | list[int] [Required]

The first element is the minValue and the second element is the maxValue.

Constraints:
  • min_length = 2

  • max_length = 2

field type: Literal['range'] = 'range'

String value representing the domain type.

TextFormat

class arcgis.map.forms.TextFormat(*values)

Defines language of text property. Default is plain-text.

markdown = 'markdown'
plain_text = 'plain-text'

TimeResolution

class arcgis.map.forms.TimeResolution(*values)

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.

field code: float | str [Required]

The value stored in the feature attribute.

field name: str [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.