本文簡要介紹 python 語言中 arcgis.features.Table.query
的用法。
用法:
query(where='1=1', out_fields='*', time_filter=None, return_count_only=False, return_ids_only=False, return_distinct_values=False, group_by_fields_for_statistics=None, statistic_filter=None, result_offset=None, result_record_count=None, object_ids=None, gdb_version=None, order_by_fields=None, out_statistics=None, return_all_records=True, historic_moment=None, sql_format=None, return_exceeded_limit_features=None, as_df=False, having=None, **kwargs)
返回:
FeatureSet
對象,或者如果`as_df=True`
則為 Panda 的 DataFrame,包含與查詢匹配的特征,除非指定了其他返回類型,例如return_count_only
query
方法根據一組條件查詢Table
層。Parameter
Description
where
可選字符串。默認值為 1=1。選擇sql語句。
out_fields
可選的要返回的字段名稱列表。字段名稱可以指定為字段名稱列表或逗號分隔的字符串。默認值為“*”,它返回所有字段。
object_ids
可選字符串。要查詢的該圖層或表的對象ID。對象 ID 值應該是逗號分隔的字符串。
time_filter
可選列表。格式為 [<startTime>, <endTime>],使用 datetime.date、datetime.datetime 或時間戳(以毫秒為單位)。語法:time_filter=[<開始時間>, <結束時間>] ;指定為
datetime.date, datetime.datetime or timestamp in milliseconds
gdb_version
可選字符串。要查詢的地理數據庫版本。僅當圖層的 isDataVersioned 屬性為 true 時,此參數才適用。如果未指定,則查詢將應用於已發布Map的版本。
return_geometry
可選的布爾值。如果為真,幾何圖形將隨查詢返回。默認為真。
return_distinct_values
可選的布爾值。如果為真,它會根據out_fields 中指定的字段返回不同的值。僅當圖層的 supportsAdvancedQueries 屬性為 true 時,此參數才適用。
return_ids_only
可選的布爾值。默認為假。如果為 true,則響應僅包含對象 ID 數組。否則,響應是一個特征集。
return_count_only
可選的布爾值。如果為真,則響應僅包括查詢將返回的計數(特征/記錄的數量)。否則,響應是一個特征集。默認值為假。此選項取代 returnIdsOnly 參數。如果 returnCountOnly = true,則響應將返回計數和範圍。
order_by_fields
可選字符串。需要對其特征/記錄進行排序的一個或多個字段名稱。分別使用 ASC 或 DESC 進行升序或降序,跟隨每個字段來控製排序。例如:STATE_NAME ASC、種族 DESC、性別
group_by_fields_for_statistics
可選字符串。一個或多個字段名稱,需要對其值進行分組以計算統計信息。示例:STATE_NAME,性別
out_statistics
可選字符串。要計算的一個或多個基於字段的統計數據的定義。
用法:
- [
- {
“statisticType”:“<count |總和 |分鍾 |最大 |平均 |標準開發 | var>”,“onStatisticField”:“Field1”,“outStatisticFieldName”:“Out_Field_Name1”
}, {
“statisticType”: “<count | sum | min | max | avg | stddev | var>”, “onStatisticField”: “Field2”, “outStatisticFieldName”: “Out_Field_Name2”
}
]
result_offset
可選整數。該選項可用於通過跳過指定數量的記錄並從下一條記錄開始(即resultOffset + 1th)來獲取查詢結果。如果 return_all_records 為 True(即默認情況下),則忽略此選項。
result_record_count
可選整數。此選項可用於獲取最多指定result_record_count 的查詢結果。當指定result_offset 但未指定此參數時,Map服務默認為max_record_count。此參數的最大值是圖層的max_record_count 屬性的值。如果 return_all_records 為 True(即默認情況下),則忽略此選項。
return_all_records
可選的布爾值。當為 True 時,查詢操作將調用服務,直到返回所有滿足 where_clause 的記錄。注意:如果 return_all_records 為 True,則 result_offset 和 result_record_count 將被忽略。此外,如果 return_count_only、return_ids_only 或 return_extent_only 為 True,則此參數將被忽略。
historic_moment
可選整數。曆史性時刻查詢。此參數僅適用於圖層啟用歸檔且 supportsQueryWithHistoricMoment 屬性設置為 true 的情況。此屬性在圖層資源中提供。
如果未指定historic_moment,則查詢將應用於當前要素。
sql_format
可選字符串。 sql_format 參數可以是標準 SQL92 標準,也可以使用底層數據存儲本機的本機 SQL。默認值為 none,這意味著 sql_format 取決於 useStandardizedQuery 參數。值:無 |標準 |本國的
return_exceeded_limit_features
可選的布爾值。可選參數,默認為 true。設置為 true 時,即使結果包含“exceededTransferLimit”,也會返回特征:True。
當設置為 false 並且使用 resultType = 切片函數進行查詢時,當結果包括“exceededTransferLimit”時,不返回:True。這允許客戶端在不進行多次調用的情況下找到不再超過傳輸限製的分辨率。
as_df
可選布爾值。如果為 True,結果將作為 DataFrame 而不是函數集返回。
kwargs
可選字典。可以傳遞給查詢函數的可選參數。這將允許用戶傳遞未在函數上明確實現的附加參數。查詢 REST API 中記錄了可用函數的完整列表。
示例 1:
# Usage Example with only a "where" sql statement >>> feat_set = feature_layer.query(where = "OBJECTID1") >>> type(feat_set) <arcgis.Features.FeatureSet> >>> feat_set[0] <Feature 1>
示例 2:
# Usage Example of an advanced query returning the object IDs instead of Features >>> id_set = feature_layer.query(where = "OBJECTID1", out_fields = ["FieldName1, FieldName2"], distance = 100, units = 'esriSRUnit_Meter', return_ids_only = True) >>> type(id_set) <Array> >>> id_set[0] <"Item_id1">
示例 3:
# Usage Example of an advanced query returning the number of features in the query >>> search_count = feature_layer.query(where = "OBJECTID1", out_fields = ["FieldName1, FieldName2"], distance = 100, units = 'esriSRUnit_Meter', return_count_only = True) >>> type(search_count) <Integer> >>> search_count <149>
相關用法
- Python ArcGIS Table.query_date_bins用法及代碼示例
- Python ArcGIS Table.query_related_records用法及代碼示例
- Python ArcGIS Table.append用法及代碼示例
- Python ArcGIS Table.calculate用法及代碼示例
- Python ArcGIS Table.delete_features用法及代碼示例
- Python ArcGIS Table.generate_renderer用法及代碼示例
- Python ArcGIS Table.get_unique_values用法及代碼示例
- Python ArcGIS Table.edit_features用法及代碼示例
- Python ArcGIS Table.manager用法及代碼示例
- Python ArcGIS TimeInstant用法及代碼示例
- Python ArcGIS TrackView用法及代碼示例
- Python ArcGIS TimeInterval用法及代碼示例
- Python ArcGIS Timeline用法及代碼示例
- Python ArcGIS power用法及代碼示例
- Python ArcGIS APIKeyManager.get用法及代碼示例
- Python ArcGIS KnowledgeGraph.named_object_type_delete用法及代碼示例
- Python ArcGIS ContentManager.unshare_items用法及代碼示例
- Python ArcGIS ImageryLayer.thumbnail用法及代碼示例
- Python ArcGIS FormFieldElement用法及代碼示例
- Python ArcGIS Geometry.true_centroid用法及代碼示例
- Python ArcGIS Site.delete用法及代碼示例
- Python ArcGIS GeoAccessor.bbox用法及代碼示例
- Python arcgis.apps.hub.Initiative.update用法及代碼示例
- Python ArcGIS generate_service_areas用法及代碼示例
- Python ArcGIS build_overview用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.features.Table.query。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。