arcgis.gis module¶
The gis module provides an information model for GIS hosted within ArcGIS Online or an ArcGIS Portal. This module provides functionality to manage (create, read, update and delete) GIS users, groups and content. This module is the most important and provides the entry point into the GIS.
GIS¶
-
class
arcgis.gis.
GIS
(url=None, username=None, password=None, key_file=None, cert_file=None, verify_cert=True, set_active=True)¶ A GIS is representative of ArcGIS Online or an ArcGIS Portal site. The GIS object provides helper objects to manage (search, create, retrieve) GIS resources such as content, users and groups.
Additionally, the GIS object has properties to query it’s state, accessible using the properties attribute.
The GIS provides a mapping widget that can be used in the Jupyter notebook environment for visualizing GIS content as well as the results of your analysis. To create a new map, call the map() method.
-
content
¶
-
groups
¶
-
map
(location=None, zoomlevel=None)¶ Creates a map widget centered at the location (Address or (lat, long) tuple) with the specified zoom-level(integer). If an Address is provided, it is geocoded using the GIS’s configured geocoders and if a match is found, the geographic extent of the matched address is used as the map extent. If a zoomlevel is also provided, the map is centered at the matched address instead and the map is zoomed to the specified zoomlevel.
-
properties
¶
-
users
¶
-
Item¶
-
class
arcgis.gis.
Item
(gis, itemid, itemdict=None)¶ Bases:
dict
An item (a unit of content) in the GIS. Each item has a unique identifier and a well known URL that is independent of the user owning the item. An item can have associated binary or textual data that’s available via the item data resource. For example, an item of type Map Package returns the actual bits corresponding to the map package via the item data resource.
-
add_relationship
(rel_item, rel_type)¶ Adds a relationship from this item to rel_item. Relationships are not tied to an item. They are directional links from an origin item to a destination item and have a type. The type defines the valid origin and destination item types as well as some rules. See Relationship types in REST API help for more information. Users don’t have to own the items they relate unless so defined by the rules of the relationship type. Users can only delete relationships they create. Relationships are deleted automatically if one of the two items is deleted.
rel_item is the related item rel_type is one of [‘Map2Service’, ‘WMA2Code’, ‘Map2FeatureCollection’, ‘MobileApp2Code’, ‘Service2Data’, ‘Service2Service’]. See Relationship types in REST API help for more information on this parameter Returns True if the relationship was added
-
delete
()¶ Deletes an item.
Returns: a boolean, indicating success
-
delete_relationship
(rel_item, rel_type)¶ Deletes a relationship between this item and the rel_item. rel_item is the related item rel_type is one of [‘Map2Service’, ‘WMA2Code’, ‘Map2FeatureCollection’, ‘MobileApp2Code’, ‘Service2Data’, ‘Service2Service’] Returns True if the relationship was deleted
-
dependent_to
()¶ Returns items and urls, etc dependend upon this item.
-
dependent_upon
()¶ Returns items and urls, etc that this items depends upon
-
download
(save_path)¶ Downloads the data to the specified folder or a tempoary folder if a folder isn’t provided
-
download_metadata
(save_folder=None)¶ Downloads the item metadata for the specified item id, returns file path. Returns None if the item does not have metadata. Items with metadata have ‘Metadata’ in their typeKeywords
-
download_thumbnail
(save_folder=None)¶ Downloads the item thumbnail for this item, returns file path.
-
get_data
(try_json=True)¶ Returns the data for the item. If the data is a file, it’s downloaded and the path to the downloaded file is returned. Else if try_json is True, the method tries to convert it to a Python dict and returns it. To convert this dict to string using json.dumps(data). Else, returns the data as a byte array, that can be converted to string using data.decode(‘utf-8’)
-
get_metadata
()¶ Returns the item metadata for the specified item. Returns None if the item does not have metadata. Items with metadata have ‘Metadata’ in their typeKeywords
-
get_thumbnail
()¶ Returns the bytes that make up the thumbnail for this item.
- Arguments
- None.
- Returns
- bytes that represent the item.
Example
response = item.get_thumbnail() f = open(filename, 'wb') f.write(response)
-
get_thumbnail_link
()¶ URL to the thumbnail image
-
move
(folder, owner=None)¶ Move this item to the folder with the given name.
Argument Description folder required string, the name of the folder to move the item to. Use ‘/’ for the root folder. For other folders, pass in the folder name as a string, or a dict containing the folder ‘id’, such as the dict obtained from the folders property. Returns: a json object like the following: { “success”: true | false, “itemId”: “<item id>”, “owner”: “<owner username>”, “folder”: “<folder id>”}
-
protect
(enable=True)¶ Enable or disable delete protection on the item
Argument Description enable optional boolean, True to enable delete protection, False to to disable it Returns: a json object like the following: { “success”: true | false}
-
publish
(publish_parameters=None, address_fields=None, output_type=None, overwrite=False)¶
-
reassign_to
(target_owner, target_folder=None)¶ Allows the administrator to reassign a single item from one user to another.
Note
If you wish to move all of a user’s items (and groups) to another user then use the user.reassign_to() method. This method only moves one item at a time.
Argument Description item_id required string, unique identifier for the item target_owner required string, desired owner of the item target_folder optional string, folder to move the item to. Returns: a boolean, indicating success
Returns items related to this item. Relationsships can be added and deleted using item.add_relationship() and item.delete_relationship() respectively. rel_type is one of [‘Map2Service’, ‘WMA2Code’, ‘Map2FeatureCollection’, ‘MobileApp2Code’, ‘Service2Data’, ‘Service2Service’] direction is one of [‘forward’, ‘reverse’]
Shares an item with the specified list of groups
Argument Description everyone optional boolean, share with everyone org optional boolean, share with the organization groups optional string, comma-separated list of group IDs with which the item will be shared. Returns: dict with key “notSharedWith” containing array of groups with which the item could not be shared.
Stops sharing the item with the specified list of groups
Argument Description groups optional string, comma-separated list of group IDs with which the item will be unshared. Returns: dict with key “notUnsharedFrom” containing array of groups from which the item could not be unshared.
-
update
(item_properties=None, data=None, thumbnail=None, metadata=None)¶ Updates an item in a Portal.
Note
That content can be a file (such as a layer package, geoprocessing package, map package) or it can be a URL (to an ArcGIS Server service, WMS service, or an application).
If you are uploading a package or other file, provide a path or URL to the file in the data argument.
Only pass in arguments for properties you want to update. All other properties will be left as they are. If you want to update description, then only provide the description argument in item_properties.
URL 1: http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000000ms000000
Returns: a boolean, that indicates success.
-
User¶
-
class
arcgis.gis.
User
(gis, username, userdict=None)¶ Bases:
dict
Represents a registered user of the GIS (ArcGIS Online, or Portal for ArcGIS).
-
delete
(reassign_to=None)¶ Deletes this user from the portal, optionally deleting or reassigning groups and items.
Note
You can not delete a user in Portal if that user owns groups or items. If you specify someone in the reassign_to argument then items and groups will be transferred to that user. If that argument is not set then the method will fail if the user has items or groups that need to be reassigned.
Argument Description reassign_to optional string, new owner of items and groups Returns: a boolean indicating whether the operation succeeded or failed.
-
download_thumbnail
(save_folder=None)¶ Downloads the item thumbnail for this user, returns file path.
-
folders
¶ list of the user’s folders
-
get_thumbnail
()¶ Returns the bytes that make up the thumbnail for this user.
- Arguments
- None.
- Returns
- bytes that represent the image.
Example
response = user.get_thumbnail() f = open(filename, 'wb') f.write(response)
-
get_thumbnail_link
()¶ URL to the thumbnail image
-
items
(folder=None, max_items=100)¶ Returns a list of items in the specified folder.
For content in the root folder, use the default value of None for the folder.
For other folders, pass in the folder name as a string, or a dict containing the folder ‘id’, such as the dict obtained from the folders property.
-
reassign_to
(target_username)¶ Reassigns all of this user’s items and groups to another user.
Items are transferred to the target user into a folder named <user>_<folder> where user corresponds to the user whose items were moved and folder corresponds to the folder that was moved.
Note
This method must be executed as an administrator. This method also can not be undone. The changes are immediately made and permanent.
Argument Description target_username required string, user who will own items/groups after this. Returns: a boolean indicating success
-
reset
(password, new_password=None, new_security_question=None, new_security_answer=None)¶ Resets a user’s password, security question, and/or security answer.
Note
This function does not apply to those using enterprise accounts that come from an enterprise such as ActiveDirectory, LDAP, or SAML. It only has an effect on built-in users.
If a new security question is specified, a new security answer should be provided.
Argument Description password required string, current password new_password optional string, new password if resetting password new_security_question optional int, new security question if desired new_security_answer optional string, new security question answer if desired Returns: a boolean, indicating success
-
update
(access=None, preferred_view=None, description=None, tags=None, thumbnail=None, fullname=None, email=None, culture=None, region=None)¶ Updates this user’s properties.
Note
Only pass in arguments for properties you want to update. All other properties will be left as they are. If you want to update description, then only provide the description argument.
Argument Description access optional string, values: private, org, public preferred_view optional string, values: Web, GIS, null description optional string, a description of the user. tags optional string (comma-separated tags) or list of tags thumbnail optional string, path or url to a file. can be PNG, GIF, JPEG, max size 1 MB fullname optional string, name of the user, only for built-in users email optional string, email address, only for built-in users culture optional string, two-letter language code, fr for example region optional string, two-letter country code, FR for example Returns: a boolean indicating success
-
update_role
(role)¶ Updates this user’s role to org_user, org_publisher, org_admin or a custom role
Note
There are four types of roles in Portal - user, publisher, administrator and custom roles A user can share items, create maps, create groups, etc. A publisher can do everything a user can do and create hosted services. An administrator can do everything that is possible in Portal. A custom roles privileges can be customized
Argument Description role required string, one of these values org_user, org_publisher, org_admin OR Role object (from gis.users.roles) Returns: a boolean, that indicates success
-
Group¶
-
class
arcgis.gis.
Group
(gis, groupid, groupdict=None)¶ Bases:
dict
Represents a group (for example, San Bernardino Fires) within the GIS (ArcGIS Online or Portal for ArcGIS)
-
add_users
(usernames)¶ Adds users to this group. .. note:
This method will only work if the user for the Portal object is either an administrator for the entire Portal or the owner of the group.
Argument Description usernames list of usernames Returns: A dictionary with a key of “not_added” which contains the users that were not added to the group.
-
content
(max_items=1000)¶ Returns a list of items shared with this group.
-
delete
()¶ Deletes this group.
- Returns
- a boolean indicating whether it was successful.
-
download_thumbnail
(save_folder=None)¶ Downloads the group thumbnail for this group, returns file path.
-
get_members
()¶ Returns members of this group.
- Arguments
- None.
- Returns
a dictionary with keys: owner, admins, and users.
Key Value owner string value, the group’s owner admins list of strings, typically this is the same as the owner users list of strings, the members of the group
Example (to print users in a group)
response = group.get_members() for user in response['users'] : print user
-
get_thumbnail
()¶ Returns the bytes that make up the thumbnail for this group.
- Arguments
- None
- Returns
- bytes that represent the image.
Example
response = group.get_thumbnail() f = open(filename, 'wb') f.write(response)
-
get_thumbnail_link
()¶ URL to the thumbnail image
-
invite_users
(usernames, role='group_member', expiration=10080)¶ Invites users to this group.
Note
A user who is invited to this group will see a list of invitations in the “Groups” tab of portal listing invitations. The user can either accept or reject the invitation.
- Requires
- The user executing the command must be group owner
Argument Description usernames: a required string list of users to invite role: an optional string, either group_member or group_admin expiration: an optional int, specifies how long the invitation is valid for in minutes. Returns: a boolean that indicates whether the call succeeded.
-
leave
()¶ Removes the logged in user from the specified group.
- Requires:
- User must be logged in.
- Arguments:
- None.
Returns: a boolean indicating whether the operation was successful.
-
reassign_to
(target_owner)¶ Reassigns this group to another owner.
Argument Description target_owner required string, username of new group owner Returns: a boolean, indicating success
-
remove_users
(usernames)¶ Remove users from this group.
Argument Description usernames required string, comma-separated list of users Returns: a dictionary with a key notRemoved that is a list of users not removed.
-
update
(title=None, tags=None, description=None, snippet=None, access=None, is_invitation_only=None, sort_field=None, sort_order=None, is_view_only=None, thumbnail=None)¶ Updates this group.
Note
Only provide the values for the arguments you wish to update.
Argument Description title optional string, name of the group tags optional string (comma-delimited list of tags) or list of tags as strings description optional string, describes group in detail snippet optional string, <250 characters summarizes group access optional string, can be private, public, or org thumbnail optional string, URL or file location to group image is_invitation_only optional boolean, defines whether users can join by request. sort_field optional string, specifies how shared items with the group are sorted. sort_order optional string, asc or desc for ascending or descending. is_view_only optional boolean, defines whether the group is searchable Returns: a boolean indicating success
-
Datastore¶
-
class
arcgis.gis.
Datastore
(datastore, path)¶ Bases:
dict
Represents a datastore (folder, database or bigdata fileshare) within the GIS’s data store
-
datasets
¶ Returns the datasets in the data store (currently implemented for big data file shares.)
-
delete
()¶ Unregisters this data item from the data store
-
manifest
¶ The manifest resource for bigdata fileshares,
-
ref_count
¶ The total number of references to this data item that exist on the server. You can use this property to determine if this data item can be safely deleted (or taken down for maintenance).
-
update
(item)¶ Edits this data item to update its connection information.
- Input
- item - the dict representation of the updated item
- Output:
- True if successful
-
validate
()¶ Validates that this data item’s path (for file shares) or connection string (for databases) is accessible to every server node in the site
- Output:
- True if successful
-
Role¶
-
class
arcgis.gis.
Role
(gis, role_id, role)¶ Bases:
object
A custom role in the GIS
-
delete
()¶ Deletes this role and returns True if the operation was successful
-
description
¶ Description of the custom role
-
name
¶ Name of the custom role
-
privileges
¶ Privileges for the custom role as a list of strings
Supported privileges with predefined permissions are: Administrative Privileges:
Members
- portal:admin:viewUsers: grants the ability to view full member account information within organization.
- portal:admin:updateUsers: grants the ability to update member account information within organization.
- portal:admin:deleteUsers: grants the ability to delete member accounts within organization.
- portal:admin:inviteUsers: grants the ability to invite members to organization. (This privilege is only applicable to ArcGIS Online.)
- portal:admin:disableUsers: grants the ability to enable and disable member accounts within organization.
- portal:admin:changeUserRoles: grants the ability to change the role a member is assigned within organization; however, it does not grant the ability to promote a member to, or demote a member from, the Administrator role. That privilege is reserved for the Administrator role alone.
- portal:admin:manageLicenses: grants the ability to assign licenses to members of organization.
- portal:admin:reassignUsers: grants the ability to assign all groups and content of a member to another within organization.
Groups
- portal:admin:viewGroups: grants the ability to view all groups within organization.
- portal:admin:updateGroups: grants the ability to update groups within organization.
- portal:admin:deleteGroups: grants the ability to delete groups within organization.
- portal:admin:reassignGroups: grants the ability to reassign groups to other members within organization.
- portal:admin:assignToGroups: grants the ability to assign members to, and remove members from, groups within organization.
- portal:admin:manageEnterpriseGroups: grants the ability to link group membership to an enterprise group. (This privilege is only applicable to Portal for ArcGIS.)
Content
- portal:admin:viewItems: grants the ability to view all content within organization.
- portal:admin:updateItems: grants the ability to update content within organization.
- portal:admin:deleteItems: grants the ability to delete content within organization.
- portal:admin:reassignItems: grants the ability to reassign content to other members within organization.
- portal:admin:shareToGroup: grants the ability to share other member’s content to groups the user belongs to.
- portal:admin:shareToOrg: grants the ability to share other member’s content to organization.
- portal:admin:shareToPublic: grants the ability to share other member’s content to all users of the portal.
ArcGIS Marketplace Subscriptions
- marketplace:admin:purchase: grants the ability to request purchase information about apps and data in ArcGIS Marketplace. (This privilege is only applicable to ArcGIS Online.)
- marketplace:admin:startTrial: grants the ability to start trial subscriptions in ArcGIS Marketplace. (This privilege is only applicable to ArcGIS Online.)
- marketplace:admin:manage: grants the ability to create listings, list items and manage subscriptions in ArcGIS Marketplace. (This privilege is only applicable to ArcGIS Online.)
Publisher Privileges:
Content
- portal:publisher:publishFeatures: grants the ability to publish hosted feature layers from shapefiles, CSVs, etc.
- portal:publisher:publishTiles: grants the ability to publish hosted tile layers from tile packages, features, etc.
- portal:publisher:publishScenes: grants the ability to publish hosted scene layers.
User Privileges:
Groups
- portal:user:createGroup: grants the ability for a member to create, edit, and delete their own groups.
- portal:user:joinGroup: grants the ability to join groups within organization.
- portal:user:joinNonOrgGroup: grants the ability to join groups external to the organization. (This privilege is only applicable to ArcGIS Online.)
Content
- portal:user:createItem: grants the ability for a member to create, edit, and delete their own content.
Sharing
- portal:user:shareToGroup: grants the ability to share content to groups.
- portal:user:shareToOrg: grants the ability to share content to organization.
- portal:user:shareToPublic: grants the ability to share content to all users of portal.
- portal:user:shareGroupToOrg: grants the ability to make groups discoverable by the organization.
- portal:user:shareGroupToPublic: grants the ability to make groups discoverable by all users of portal.
Premium Content
- premium:user:geocode: grants the ability to perform large-volume geocoding tasks with the Esri World Geocoder such as publishing a CSV of addresses as hosted feature layer.
- premium:user:networkanalysis: grants the ability to perform network analysis tasks such as routing and drive-time areas.
- premium:user:geoenrichment: grants the ability to geoenrich features.
- premium:user:demographics: grants the ability to make use of premium demographic data.
- premium:user:spatialanalysis: grants the ability to perform spatial analysis tasks.
- premium:user:elevation: grants the ability to perform analytical tasks on elevation data.
Features
- features:user:edit: grants the ability to edit features in editable layers, according to the edit options enabled on the layer.
- features:user:fullEdit: grants the ability to add, delete, and update features in a hosted feature layer regardless of the editing options enabled on the layer.
Open Data
- opendata:user:openDataAdmin: grants the ability to manage Open Data Sites for the organization. (This privilege is only applicable to ArcGIS Online.)
- opendata:user:designateGroup: grants the ability to designate groups within organization as being available for use in Open Data. (This privilege is only applicable to ArcGIS Online.)
-
Layer¶
-
class
arcgis.gis.
Layer
(url, gis=None)¶ Bases:
arcgis.gis._GISResource
The layer is a primary concept for working with data in a GIS.
Users create, import, export, analyze, edit, and visualize layers.
Layers can be added to and visualized using maps. They act as inputs to and outputs from analysis tools.
Layers are created by publishing data to a GIS, and are exposed as a broader resource (Item) in the GIS. Layer objects can be obtained through the layers attribute on layer Items in the GIS.
-
classmethod
fromitem
(item, index=0)¶ returns the layer at the specified index from a layer item :param item: an item representing a layer :param index: optional, the index of the layer amongst the item’s layers :return: the layer at the specified index
-
classmethod
ContentManager¶
-
class
arcgis.gis.
ContentManager
(gis)¶ Helper class for managing GIS content. This class is not created by users directly. An instance of this class, called ‘content’, is available as a property of the Gis object. Users call methods on this ‘content’ object to manipulate (create, get, search...) items.
-
add
(item_properties, data=None, thumbnail=None, metadata=None, owner=None, folder=None)¶ Adds content to a Portal by creating an item.
Note
That content can be a file (such as a service definition, shapefile, CSV, layer package, file geodatabase, geoprocessing package, map package) or it can be a URL (to an ArcGIS Server service, WMS service, or an application).
If you are uploading a package or other file, provide a path or URL to the file in the data argument.
From a technical perspective, none of the item properties below are required. However, it is strongly recommended that title, type, typeKeywords, tags, snippet, and description be provided.
Argument Description item_properties required dictionary, see below for the keys and values data optional string, either a path or URL to the data thumbnail optional string, either a path or URL to an image metadata optional string, either a path or URL to metadata. owner optional string, defaults to logged in user. folder optional string, name of folder where placing item Key Value type optional string, indicates type of item. See URL 1 below for valid values. typeKeywords optinal string list. Lists all sub-types. See URL 1 for valid values. description optional string. Description of the item. title optional string. Name of the item. url optional string. URL to item that are based on URLs. tags optional string of comma-separated values, or list of strings. Used for searches on items. snippet optional string. Provides a very short summary of the what the item is. extent optional string with comma separated values for min x, min y, max x, max y. spatialReference optional string. Coordinate system that the item is in. accessInformation optional string. Information on the source of the content. licenseInfo optinal string, any license information or restrictions regarding content. culture optional string. Locale, country and language information. access optional string. Valid values: private, shared, org, or public. commentsEnabled optional boolean. Default is true. Controls whether comments are allowed. culture optional string. Language and country information. URL 1: http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000000ms000000
return: The item if successfully added, None if unsuccessful.
-
create_folder
(folder, owner=None)¶ Creates a folder with the given name, for the given owner. Does nothing if the folder already exists. If owner is not specified, does so for the logged in user.
Argument Description folder required string, the name of the folder to create for the owner owner optional string or User, folder owner, None for logged in user Returns: a json object like the following: {“username” : “portaladmin”,”id” : “bff13218991c4485a62c81db3512396f”,”title” : “testcreate”} if the folder was created, None otherwise.
-
create_service
(name, service_description='', has_static_data=False, max_record_count=1000, supported_query_formats='JSON', capabilities=None, description='', copyright_text='', wkid=102100, create_params=None, service_type='imageService', owner=None, folder=None)¶ Creates a service in the Portal
- Arguments
name required string, the unique name of the service service_description optional string, description of the service has_static_data optional boolean, indicating whether the data changes max_record_count optional int, ,maximum number of records in query operations supported_query_formats optional string, formats in which query results are returned capabilities optional string, Specify service capabilities.
If left unspecified, ‘Image,Catalog,Metadata,Download,Pixels,Edit,Mensuration,Uploads’ are used for image services, and ‘Create,Delete,Query,Update,Editing’ are used for feature services, and ‘Query’ otherwisedescription optional string, a user-friendly description for the published dataset. copyright_text optional string, copyright information associated with the dataset. wkid optional int, the well known id of the spatial reference for the service.
All layers added to a hosted feature service need to have the same spatial reference defined for the feature service. When creating a new empty service without specifying its spatial reference, the spatial reference of the hosted feature service is set to the first layer added to that feature service.create_params optional dict, containing all create parameters. If this parameter is used, all the parameters above are ignored
service_type optional string, the type of service to be created, imageService, featureService
owner optional string, the username of the owner folder optional string, name of folder in which to create the service
return: The item for the service, if successfully created, None if unsuccessful.
-
delete_folder
(folder, owner=None)¶ Deletes a folder for the given owner (logged in user by default) with the given folder name.
Argument Description folder required string, the name of the folder to delete owner optional string or User, folder owner, None for logged in user Returns: True if succeeded, False otherwise
-
get
(itemid)¶ Returns the item object for the specified itemid.
- Arguments
- itemid required string, the item identifier
Returns: None if the item is not found and returns an item object if the item is found
-
import_data
(df, address_fields=None)¶ Imports a Pandas data frame, that has an address column, to a feature collection
df : pandas dataframe address_fields : dict containing mapping of df columns to address fields, eg: { “CountryCode” : “Country”} or { “Address” : “Address” }
Returns feature collection, that can be used for analysis, visualization or published to the GIS as an item
-
is_service_name_available
(service_name, service_type)¶ Returns True is the specified service_name is available for the specified service_type
-
search
(query, item_type=None, sort_field='numViews', sort_order='desc', max_items=10, outside_org=False)¶ Searches for portal items.
Note
A few things that will be helpful to know.
- The query syntax has quite a few features that can’t
be adequately described here. The query syntax is available in ArcGIS help. A short version of that URL is http://bitly.com/1fJ8q31.
- Most of the time when searching items you want to
search within your organization in ArcGIS Online or within your Portal. As a convenience, the method automatically appends your organization id to the query by default. If you want content from outside your org set outside_org to True.
Argument Description query required string, query string. See notes. item_type optional string, set type of item to search http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000000ms000000 sort_field optional string, valid values can be title, uploaded, type, owner, modified, avgRating, numRatings, numComments, and numViews. sort_order optional string, valid values are asc or desc max_items optional int, maximum number of items returned, default is 10 outside_org optional boolean, controls whether to search outside your org (default is False) Returns: Returns a list of items matching the specified query
-
UserManager¶
-
class
arcgis.gis.
UserManager
(gis)¶ Bases:
object
Helper class for managing GIS users. This class is not created by users directly. An instance of this class, called ‘users’, is available as a property of the Gis object. Users call methods on this ‘users’ object to manipulate (create, get, search...) users.
-
create
(username, password, firstname, lastname, email, description=None, role='org_user', provider='arcgis', idpUsername=None)¶ This operation is used to pre-create built-in or enterprise accounts within the portal. The provider parameter is used to indicate the type of user account. Only an administrator can call this method.
Argument Description username required string, must be unique in the Portal, >=6 characters, =<24 characters password required string, must be >= 8 characters. This is a required parameter only if the provider is arcgis; otherwise, the password parameter is ignored. firstname required string, the first name for the user lastname required string, the last name for the user email required string, must be an email address description An optional description string for the user account. role The role for the user account. The default value is org_user. Values: org_user | org_publisher | org_admin provider The provider for the account. The default value is arcgis. Values: arcgis | enterprise idpUsername The name of the user as stored by the enterprise user store. This parameter is only required if the provider parameter is enterprise. Returns: the user, if created, else None
-
get
(username)¶ Returns the user object for the specified username.
- Arguments
- username required string, the username whose user object you want.
Returns: None if the user is not found and returns a user object if the user is found
-
me
¶ Returns the logged in user
-
roles
¶ Helper object to manage custom roles for users
-
search
(query=None, sort_field='username', sort_order='asc', max_users=100, outside_org=False)¶ Searches portal users.
Returns a list of users matching the specified query
Note
A few things that will be helpful to know.
- The query syntax has quite a few features that can’t be adequately described here. The query syntax is available in ArcGIS help. A short version of that URL is http://bitly.com/1fJ8q31.
- Searching without specifying a query parameter returns a list of all users in your organization.
- Most of the time when searching users you want to search within your organization in ArcGIS Online or within your Portal. As a convenience, the method automatically appends your organization id to the query by default. If you don’t want the API to append to your query set outside_org to True. If you use this feature with an OR clause such as field=x or field=y you should put this into parenthesis when using outside_org.
Argument Description query optional string, query string. See notes. pass None to get list of all users in the org sort_field optional string, valid values can be username or created sort_order optional string, valid values are asc or desc max_users optional int, maximum number of users returned outside_org optional boolean, controls whether to search outside your org (default is False) Returns: A list of users:
-
signup
(username, password, fullname, email)¶ Signs up users to an instance of Portal for ArcGIS.
Argument Description username required string, must be unique in the Portal, >4 characters password required string, must be >= 8 characters. fullname required string, name of the user email required string, must be an email address Returns: the user, if created, else None
-
GroupManager¶
-
class
arcgis.gis.
GroupManager
(gis)¶ Bases:
object
Helper class for managing GIS groups. This class is not created by users directly. An instance of this class, called ‘groups’, is available as a property of the Gis object. Users call methods on this ‘groups’ object to manipulate (create, get, search...) users.
-
create
(title, tags, description=None, snippet=None, access='public', thumbnail=None, is_invitation_only=False, sort_field='avgRating', sort_order='desc', is_view_only=False)¶ Creates a group and returns it if successful.
Returns: the group, if created, or None
-
create_from_dict
(dict)¶ Create a group with parameters specified in the dict See help of create() method for parameters :return:
the group, if created, or None
-
get
(groupid)¶ Returns the group object for the specified groupid.
- Arguments
- groupid required string, the group identifier
Returns: None if the group is not found and returns a group object if the group is found
-
search
(query='', sort_field='title', sort_order='asc', max_groups=1000, outside_org=False)¶ Searches for portal groups.
Note
A few things that will be helpful to know.
- The query syntax has quite a few features that can’t
be adequately described here. The query syntax is available in ArcGIS help. A short version of that URL is http://bitly.com/1fJ8q31.
Searching without specifying a query parameter returns a list of all groups in your organization.
- Most of the time when searching groups you want to
search within your organization in ArcGIS Online or within your Portal. As a convenience, the method automatically appends your organization id to the query by default. If you don’t want the API to append to your query set outside_org to True.
Argument Description query optional query string on Portal, required for Online. If not specified, all groups will be searched. See notes sort_field optional string, valid values can be title, owner, created sort_order optional string, valid values are asc or desc max_groups optional int, maximum number of groups returned outside_org optional boolean, controls whether to search outside your org Returns: Returns a list of groups matching the specified query
-
DatastoreManager¶
-
class
arcgis.gis.
DatastoreManager
(gis, admin_url, server)¶ Bases:
object
Helper class for managing the GIS data stores in on-premises ArcGIS Portals. This class is not created by users directly. Instances of this class are returned from arcgis.geoanalytics.get_datastores() and arcgis.raster.analytics.get_datastores() functions to get the corresponding datastores. Users call methods on this ‘datastores’ object to manage the datastores in a site federated with the portal.
-
add
(name, item)¶ Registers a new data item with the data store. Input
item - The disct representing the data item. See http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000001s9000000- Output:
- True if the data item is registered successfully, False otherwise
-
add_bigdata
(name, server_path=None)¶ Registers a bigdata fileshare with the data store. Input
name - unique bigdata fileshare name on the server server_path - the path to the folder from the server- Output:
- the data item if registered successfully, None otherwise
-
add_database
(name, conn_str, client_conn_str=None, conn_type='shared')¶ Registers a database with the data store. Input
name - unique database name on the server conn_str - the path to the folder from the server (and client, if shared or serverOnly database) client_conn_str: connection string for client to connect to replicated enterprise database> conn_type - “<shared|replicated|serverOnly>”- Output:
- the data item is registered successfully, None otherwise
-
add_folder
(name, server_path, client_path=None)¶ Registers a folder with the data store. Input
name - unique fileshare name on the server server_path - the path to the folder from the server (and client, if shared path) client_path - if folder is replicated, the path to the folder from the client if folder is shared, don’t set this parameter- Output:
- the data item is registered successfully, None otherwise
-
config
¶ The data store configuration properties affect the behavior of the data holdings of the server. The properties include: blockDataCopy—When this property is False, or not set at all, copying data to the site when publishing services from a client application is allowed. This is the default behavior. When this property is True, the client application is not allowed to copy data to the site when publishing. Rather, the publisher is required to register data items through which the service being published can reference data. Values: True | False Note: If you specify the property as True, users will not be able to publish geoprocessing services and geocode services from composite locators. These service types require data to be copied to the server. As a workaround, you can temporarily set the property to False, publish the service, and then set the property back to True.
-
get
(path)¶ Returns the data item object at the given path
- Arguments
- path required string, the data item path
Returns: None if the data item is not found at that path and the data item object if its found
-
search
(parent_path=None, ancestor_path=None, types=None, id=None)¶ You can use this operation to search through the various data items registered in the server’s data store. Searching without specifying the parent_path and other parameters returns a lists of all registered data items Inputs:
parentPath - The path of the parent under which to find items. To get the root data items, pass ‘/’ ancestorPath - The path of the ancestor under which to find
items.types - A comma separated filter for the type of the items. Types include folder, egdb, bigDataFileShare, datadir id - A filter to search by the ID of the item
return: Returns a list of data items matching the specified query
-
validate
()¶ Validates all items in the datastore and returns True if validated.
In order for a data item to be registered and used successfully within the GIS’s data store, you need to make sure that the path (for file shares) or connection string (for databases) is accessible to every server node in the site. To validate all registered data items all at once, you can invoke this operation.
-
RoleManager¶
-
class
arcgis.gis.
RoleManager
(gis)¶ Bases:
object
Helper class to manage custom roles for users in a GIS
-
all
(max_roles=1000)¶ Returns list of all roles in the GIS :param max_roles: the maximum number of roles to be returned :return: list of all roles in the GIS
-
create
(name, description, privileges=None)¶ Creates and returns a custom role with the specified parameters
-
get_role
(role_id)¶ Returns the role with the specified role id. Returns list of all roles in the GIS if a role_id is not specified :param role_id: the role id of the role to get. Leave None to get all roles :return: the role with the specified role id or a list of all roles
-