本文简要介绍 python 语言中 arcgis.gis.GIS
的用法。
用法:
class arcgis.gis.GIS(url=None, username=None, password=None, key_file=None, cert_file=None, verify_cert=True, set_active=True, client_id=None, profile=None, **kwargs)
GIS
类代表单个 ArcGIS Online 组织或 ArcGIS Enterprise 部署。GIS
对象提供帮助对象来管理(搜索、创建、检索)GIS 资源,例如内容、用户和组。此外,
GIS
对象具有查询其状态的属性,可使用 properties 属性访问。注意:
GIS
提供了一个Map小部件,可在 Jupyter Notebook 环境中使用,用于可视化 GIS 内容以及分析结果。要创建新Map,请调用map
方法。不再支持 IE11。请使用最新版本的 Google Chrome、Mozilla Firefox、Apple Safari 或 Microsoft Edge。构造函数构造一个
GIS
对象,给定一个 URL 和用户凭据到 ArcGIS Online 或 ArcGIS Enterprise 门户。可以使用用户名/密码对或key_file/cert_file 对(在 PKI 的情况下)传递用户凭据。支持内置用户、LDAP、PKI、集成 Windows 身份验证(使用 NTLM 和 Kerberos)和匿名访问。如果未提供 url,则使用 ArcGIS Online。如果未提供用户名/密码或 key /证书文件,则使用当前 logged-in 用户的凭据 (IWA) 或匿名访问。
可以通过提供 GIS 授权凭据并指定配置文件名称来创建 GIS 的持久配置文件。该配置文件将所有授权凭证(密码除外)存储在用户主目录中名为 .arcgisprofile 的未加密配置文件中。配置文件将密码安全地存储在操作系统中。特定密码管理器通过keyring python 模块。
注意:
Linux 系统可能需要安装和配置额外的软件以获得适当的安全性。
保存配置文件后,传递配置文件参数本身会使用该配置文件名称保存在配置文件/密码管理器中的授权凭据。可以并行创建和使用多个配置文件。
有关示例,请参阅ArcGIS API for Python 指南中的Working with different authentication schemes。
Parameter
Description
url
可选字符串。如果 URL 为 None,则 URL 将为 ArcGIS Online。这应该是ArcGIS Enterprise 门户或ArcGIS Online 的网址,格式为:
:// / 。 Enterprise 示例的格式为:https://gis.example.com/portal username
可选字符串。登录用户名(区分大小写)。
password
可选字符串。如果提供了用户名,则需要密码。这是区分大小写的。如果未提供密码,则会在交互式对话框中提示用户。
key_file
可选字符串。用于 PKI 身份验证的用户 key 证书的文件路径
cert_file
可选字符串。用于 PKI 身份验证的用户证书文件的文件路径。如果使用 PFX 或 P12 证书,则需要密码。如果使用 PEM 文件,则需要 key_file。
verify_cert
可选的布尔值。如果站点具有无效的 SSL 证书或正在通过 IP 或主机名而不是证书上的名称访问,请将此值设置为
False
。这将确保忽略所有 SSL 证书问题。默认值为True
。警告:将该值设置为
False
可能存在安全风险。set_active
可选的布尔值。默认值为真。如果为 True,则 GIS 对象将在整个脚本会话期间用作默认 GIS 对象。
client_id
可选字符串。用于 OAuth 身份验证。这是客户端 ID 值。
profile
可选字符串。用户希望用来进行身份验证的配置文件的名称,如果设置,标识的配置文件将用于登录到指定的 GIS。
除了显式命名的参数外,GIS 对象还支持可选的关键字参数:
关键字参数:
- proxy_host: 可选字符串。用于允许在运行脚本的网络中进行 HTTP/S 访问的代理服务器的主机名。 例如:127.0.0.1
- use_gen_token:
可选布尔值。默认为
False
。使用generateToken 登录而不是OAuth2 登录。 - proxy_port: 可选整数。代理主机端口。默认值为 80。
- token: 可选字符串。这是内置登录的企业令牌。仅当用户名/密码为 None 并且站点的安全性使用 BUILT-IN 安全性时,才使用此参数。
- api_key: 可选字符串。这是开发人员站点生成的 key ,用于允许 REST API 函数的有限子集。
- trust_env:
可选布尔值。代理配置、默认身份验证等的信任环境设置。如果
False
GIS 类将忽略系统上定义的netrc
文件。 - proxy:
可选字典。如果您需要使用代理,您可以为任何请求方法配置带有代理参数的单个请求。有关示例用法,请参见
`Usage Exmaple 9: Using a Proxy`
。- 使用示例
- {
- “http”:“http://10.343.10.22:111”,“https”:“https://127.343.13.22:6443”
- expiration: 可选整数。默认值为 60 分钟。给定令牌的到期时间。这用于用户提供的令牌和 API key 。
- validate_url:
可选布尔值。默认值为 False。用户可以选择验证
Item
的 url 上的 URL。 - mutual_authentication:
可选字符串。相互身份验证是一项安全函数,其中客户端进程必须向服务证明其身份,并且服务必须在通过客户端/服务连接传输任何应用程序流量之前向客户端证明其身份。
- 必需 - 默认情况下,API 需要相互
- 来自服务器的身份验证,以及服务器是否发出无法进行身份验证的非错误响应。
- 可选 - 这将导致 API 尝试相互
- 如果服务器通告它支持它,则进行身份验证,如果身份验证失败,则导致失败,但如果服务器根本不支持,则不会。
- 已禁用 - 从不尝试相互身份验证,这不是
- 受到推崇的。
- force_preemptive: 如果您使用 Kerberos 身份验证,则可以强制它抢先启动 Kerberos GSS 交换,并在初始请求(以及所有后续请求)上提供 Kerberos 票证。默认情况下,仅在从源服务器收到包含 Kerberos 或 Negotiate 质询的 401 Unauthorized 响应后才会进行身份验证。这可能会导致使用持久连接(例如 Windows/WinRM)的主机相互身份验证失败,因为在初始身份验证握手后不会发送 Kerberos 质询。可以通过设置force_preemptive=True 来更改此行为。默认为假
- hostname_override: 可选字符串。如果与 DNS 名称与其 kerberos 主机名不匹配的主机(例如,在内容交换机或负载均衡器后面)进行通信,则可以通过设置此值来覆盖用于 Kerberos GSS 交换的主机名。
- delegate:
可选布尔值。 Kerberos 支持凭据委派 (GSS_C_DELEG_FLAG)。要启用将凭据委派给请求委派的服务器,请传递
delegate=True
。请小心,仅允许委派给您信任的服务器,因为它们将能够使用委派的凭据来模拟您。
示例 1:
# Usage Example 1: Anonymous Login to ArcGIS Online gis = GIS()
示例 2:
# Usage Example 2: Built-in Login to ArcGIS Online gis = GIS(username="someuser", password="secret1234")
示例 3:
# Usage Example 3: Built-in Login to ArcGIS Enterprise gis = GIS(url="http://pythonplayground.esri.com/portal", username="user1", password="password1")
示例 4:
# Usage Example 4: Built-in Login to ArcGIS Enterprise, ignoring SSL errors gis = GIS(url="http://pythonplayground.esri.com/portal", username="user1", password="password1", verify_cert=False)
示例 5:
# Usage Example 5: Anonymous ArcGIS Online Login with Proxy gis = GIS(proxy_host='127.0.0.1', proxy_port=8888)
示例 6:
# Usage Example 6: PKI Login to ArcGIS Enterprise, using PKCS12 user certificate gis = GIS(url="https://pkienterprise.esri.com/portal", cert_file="C:\users\someuser\mycert.pfx", password="password1")
示例 7:
# Usage Exmaple 7: Login with token (actual token abbreviated for this illustration) gis = GIS(token="3G_e-FSoJdwxBgSA0RiOZg7zJVVqlOG-ENw83UtoUzDdz4 ... _L2aQMrthrEq7vKYBn39HGSc.", referer="https://www.arcgis.com")
示例 8:
# Usage Exmaple 8: Login with API Key (actual token abbreviated for this illustration) gis = GIS(api_key="APKSoJdwxBgSA0RiOZg7zJVVqlOG-ENw83UtoUzDdz4 ... _L2aQMrth39HGSc.", referer="https")
示例 9:
# Usage Exmaple 9: Using a Proxy proxy = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080', } gis = GIS(proxy=proxy)
相关用法
- Python ArcGIS GIS.update_properties用法及代码示例
- Python ArcGIS GIS.map用法及代码示例
- Python ArcGIS Geometry.true_centroid用法及代码示例
- Python ArcGIS GeoAccessor.bbox用法及代码示例
- Python ArcGIS Group.get_members用法及代码示例
- Python ArcGIS Geometry.last_point用法及代码示例
- Python ArcGIS Geometry.measure_on_line用法及代码示例
- Python ArcGIS GeoAccessor.area用法及代码示例
- Python ArcGIS Geometry.point_from_angle_and_distance用法及代码示例
- Python ArcGIS Geometry.hull_rectangle用法及代码示例
- Python ArcGIS GeoAccessor.from_parquet用法及代码示例
- Python ArcGIS Geometry.translate用法及代码示例
- Python ArcGIS Geometry.from_shapely用法及代码示例
- Python ArcGIS Geometry.intersect用法及代码示例
- Python ArcGIS Geometry.length用法及代码示例
- Python ArcGIS Geometry.area用法及代码示例
- Python ArcGIS Geometry.angle_distance_to用法及代码示例
- Python ArcGIS Group.update用法及代码示例
- Python ArcGIS Geometry.project_as用法及代码示例
- Python ArcGIS Geometry.part_count用法及代码示例
- Python ArcGIS GeoAccessor.length用法及代码示例
- Python ArcGIS Geometry.spatial_reference用法及代码示例
- Python ArcGIS GeoAccessor.full_extent用法及代码示例
- Python ArcGIS Gallery用法及代码示例
- Python ArcGIS Geometry.densify用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.gis.GIS。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。