當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python ArcGIS FeatureLayer.calculate用法及代碼示例


本文簡要介紹 python 語言中 arcgis.features.FeatureLayer.calculate 的用法。

用法:

calculate(where, calc_expression, sql_format='standard', version=None, sessionid=None, return_edit_moment=None, future=False)

返回:

具有以下格式的字典:

{ ‘updatedFeatureCount’: 1, ‘success’: True }

如果 future = True ,則結果是 Future 對象。調用result() 獲取響應。

calculate 操作在FeatureLayer 資源上執行。 calculate 根據 SQL 表達式或標量值更新現有要素服務圖層中的一個或多個字段的值。僅當圖層的 supportsCalculate 屬性為 True 時,才能使用 calculate 操作。 Shape 字段和係統字段都不能使用 calculate 進行更新。係統字段包括 ObjectIdGlobalId

Inputs

Description

where

必需的字符串。 where 子句可用於限製更新的記錄。允許對圖層中的字段進行任何合法的 SQL where 子句。

calc_expression

必填清單。字段/值信息對象數組,其中包含要更新的一個或多個字段及其標量值或 SQL 表達式。允許的類型是字典和列表。 List 必須是字典對象的列表。

計算格式如下:

{“field” : “<field name>”, “value” : “<value>”}

sql_format

可選字符串。 calc_expression 的 SQL 格式。它可以是標準 SQL92(標準)或本機 SQL(本機)。默認為標準。

值:standardnative

version

可選字符串。應用編輯的地理數據庫版本。

sessionid

可選字符串。客戶端在分支版本的長事務編輯期間設置的參數。 sessionid 是客戶端在開始時建立並在整個編輯會話期間使用的 GUID 值。 sessonid 確保編輯會話期間的隔離。僅當圖層的 isDataBranchVersioned 屬性為 true 時,此參數才適用。

return_edit_moment

可選布爾值。此參數指定響應是否將報告應用編輯的時間。如果為真,服務器將返回在響應的編輯時刻鍵中應用編輯的時間。僅當圖層的 isDataBranchVersioned 屬性為 true 時,此參數才適用。

future

可選布爾值。如果為 True,則將返回 future 對象,並且進程不會等待任務完成。默認為False,表示等待結果。

這僅適用於 10.8+

示例 1:

# Usage Example 1:

print(fl.calculate(where="OBJECTID < 2",
                   calc_expression={"field": "ZONE", "value" : "R1"}))

示例 2:

# Usage Example 2:

print(fl.calculate(where="OBJECTID < 2001",
                   calc_expression={"field": "A",  "sqlExpression" : "B*3"}))

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.features.FeatureLayer.calculate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。