本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。