本文簡要介紹 python 語言中 arcgis.mapping.MapFeatureLayer.query
的用法。
用法:
query(where='1=1', text=None, out_fields='*', time_filter=None, geometry_filter=None, return_geometry=True, return_count_only=False, return_ids_only=False, return_distinct_values=False, return_extent_only=False, group_by_fields_for_statistics=None, statistic_filter=None, result_offset=None, result_record_count=None, object_ids=None, distance=None, units=None, max_allowable_offset=None, out_sr=None, geometry_precision=None, gdb_version=None, order_by_fields=None, out_statistics=None, return_z=False, return_m=False, multipatch_option=None, quantization_parameters=None, return_centroid=False, return_all_records=True, result_type=None, historic_moment=None, sql_format=None, return_true_curves=False, return_exceeded_limit_features=None, as_df=False, datum_transformation=None, range_values=None, parameter_values=None, **kwargs)
返回:
A
FeatureSet
包含與查詢匹配的特征,除非另一個
query
方法基於 sql 語句查詢Map要素圖層。Parameter
Description
where
可選字符串。默認值為 1=1。選擇sql語句。
text
可選字符串。文字搜索文本。如果圖層具有與之關聯的顯示字段,則服務器會在此字段中搜索此文本。
out_fields
可選的要返回的字段名稱列表。字段名稱可以指定為字段名稱列表或逗號分隔的字符串。默認值為“*”,它返回所有字段。
object_ids
可選字符串。要查詢的該圖層或表的對象ID。對象 ID 值應該是逗號分隔的字符串。
distance
可選整數。輸入幾何的緩衝距離。距離單位由單位指定。例如,如果距離為 100,則查詢幾何是一個點,單位設置為米,並返回該點 100 米內的所有點。
units
可選字符串。計算緩衝距離的單位。如果未指定單位,則單位來自幾何空間參考。如果未指定幾何空間參考,則單位派生自要素服務數據空間參考。此參數僅在
supportsQueryWithDistance
為true
時適用。- 值選擇:
esriSRUnit_Meter
|esriSRUnit_StatuteMile
|esriSRUnit_Foot
|esriSRUnit_Kilometer
|esriSRUnit_NauticalMile
|esriSRUnit_USNauticalMile
time_filter
startTime
和endTime
值的可選列表。 :句法:>>> time_filter=[<startTime>, <endTime>]
注意:指定為
datetime.date
、datetime.datetime
或timestamp
以毫秒為單位geometry_filter
可選的
filter
對象。允許根據與另一個幾何的空間關係過濾信息。max_allowable_offset
可選浮點數。此選項可用於指定
max_allowable_offset
用於以out_sr
為單位對查詢操作返回的幾何進行概括。如果未指定out_sr
,則該值以圖層的空間參考為單位。out_sr
可選整數。返回幾何的空間參考的 WKID。
geometry_precision
可選整數。此選項可用於指定查詢操作返回的響應幾何中的小數位數。這僅適用於 X 和 Y 值(不適用於 m 或 z-values)。
gdb_version
可選字符串。要查詢的地理數據庫版本。僅當圖層的
isDataVersioned
屬性為 true 時,此參數才適用。如果未指定,查詢將應用於已發布Map的版本。return_geometry
可選的布爾值。如果
true
,幾何圖形將與查詢一起返回。默認為true
。return_distinct_values
可選的布爾值。如果
True
,它會根據out_fields
中指定的字段返回不同的值。僅當圖層的supportsAdvancedQueries
屬性為 true 時,此參數才適用。return_ids_only
可選的布爾值。默認為
False
。如果True
,則響應僅包含對象 ID 數組。否則,響應為FeatureSet
。return_count_only
可選布爾值。如果
True
,則響應僅包含滿足查詢的要素/記錄的計數。否則,響應是FeatureSet
。默認為False
。此選項取代returns_ids_only
參數。如果是returnCountOnly = True
,響應將返回計數和範圍。return_extent_only
可選的布爾值。如果
True
,響應僅包括滿足查詢的特征的範圍。如果returnCountOnly=true
,響應將返回計數和範圍。默認值為False
。僅當圖層的supportsReturningQueryExtent
屬性為true
時,此參數才適用。order_by_fields
可選字符串。一個或多個用於對結果進行排序的字段名稱。在要排序的每個字段之後,分別使用
ASC
或DESC
進行升序或降序:>>> order_by_fields = "STATE_NAME ASC, RACE DESC, GENDER ASC"
group_by_fields_for_statistics
可選字符串。一個或多個字段名稱,用於對結果進行分組以計算統計信息。
>>> group_by_fields_for_statiscits = "STATE_NAME, GENDER"
out_statistics
可選列表。要計算的一個或多個基於字段的統計數據的定義。
- 用法
>>> out_statistics = [ { "statisticType": "<count | sum | min | max | avg | stddev | var>", "onStatisticField": "Field1", "outStatisticFieldName": "Out_Field_Name1" }, { "statisticType": "<count | sum | min | max | avg | stddev | var>", "onStatisticField": "Field2", "outStatisticFieldName": "Out_Field_Name2" } ]
return_z
可選的布爾值。如果
True
,如果要素具有 Z 值,則 Z 值將包含在結果中。否則,不返回 Z 值。默認值為False
。return_m
可選的布爾值。如果
True
,如果特征具有 M 個值,則 M 個值包含在結果中。否則,不返回 M 值。默認值為False
。multipatch_option
可選的 x/y 足跡。此選項規定如何返回多麵體要素的幾何。
result_offset
可選整數。該選項可用於通過跳過指定數量的記錄並從下一條記錄(即
resultOffset + ith
值)開始獲取查詢結果。如果return_all_records
為True
(即默認情況下),則忽略此選項。result_record_count
可選整數。此選項可用於獲取最多指定
result_record_count
的查詢結果。當指定result_offset
但未指定此參數時,Map服務會將其默認為max_record_count
。此參數的最大值是圖層的maxRecordCount
屬性的值。如果return_all_records
為 True(即默認情況下),則忽略此選項。quantization_parameters
可選字典。用於將幾何體投影到虛擬網格上,可能代表屏幕上的像素。
return_centroid
可選的布爾值。用於返回與返回的每個特征關聯的幾何質心。如果
True
,則結果包括幾何質心。默認值為False
。return_all_records
可選的布爾值。當
True
時,查詢操作將調用該服務,直到返回所有滿足where_clause
的記錄。注意:result_offset
和result_record_count
如果設置為True
將被忽略。如果return_count_only
、return_ids_only
或return_extent_only
是True
,則忽略此參數。result_type
可選字符串。控製操作返回的特征數。選項:
None
|standard
|tile
注意:有關完整說明,請參閱Query (Feature Service/Layer)。
historic_moment
可選整數。曆史性時刻查詢。此參數僅在圖層啟用歸檔且
supportsQueryWithHistoricMoment
屬性設置為true
時適用。該屬性在圖層的properties
資源中提供。如果未指定,則查詢將應用於當前函數。sql_format
可選字符串。
sql_format
參數可以是標準 SQL92,也可以使用底層數據存儲的本機 SQL。默認值為None
,這意味著它取決於useStandardizedQuery
圖層屬性。值:None
|standard
|native
return_true_curves
可選的布爾值。當設置為
True
時,返回輸出幾何圖形中的真實曲線。當設置為False
時,曲線將轉換為致密的多段線或多邊形。return_exceeded_limit_features
可選的布爾值。可選參數,默認為 true。設置為 true 時,即使結果包含
exceededTransferLimit: True
屬性,也會返回特征。當設置為
False
並使用resultType = tile
查詢時,如果結果包括exceededTransferLimit: True
,則不會返回特征。這允許客戶端在不進行多次調用的情況下找到不再超過傳輸限製的分辨率。as_df
可選的布爾值。如果
True
,結果將返回為DataFrame
而不是FeatureSet
。datum_transformation
可選整數/字典。當out_sr 與圖層的空間參考不同時,此參數在投影結果中的幾何圖形時應用基準麵變換。指定轉換時,您需要考慮哪種基準麵轉換最適合將圖層(而非要素服務)投影到圖層屬性中的
outSR
和sourceSpatialReference
屬性。有關有效基準麵轉換 ID 值和已知文本字符串的列表,請參閱Coordinate systems and transformations。有關基準轉換的更多信息,請參閱Project operation 中的轉換參數。例子:
Inputs
Description
WKID
整數。
>>> datum_transformation=4326
WKT
字典。
>>> datum_transformation = {"wkt": "<WKT>"}
Composite
字典。
>>> datum_transformation = {"geoTransforms" : [ {"wkid" : "<id>", "forward" : True | False}, {"wkt" : "WKT", "forward" : True: False} ] }
range_values
可選列表。允許您從圖層中過濾指定範圍瞬間或範圍內的要素。
>>> range_values = [ { "name": "range name" , # single value or a value-range "value": <value> or [ <value1>, <value2> ] }, { "name": "range name 2", "value": <value> or [ <value3>, <value4> ] } ]
注意:None
允許在 value-range 情況下表示無窮大# all features with values <= 1500 >>> range_values = [ {"name" : "range name", "value" : [None, 1500]} ] # all features with values >= 1000 >>> range_values = [ {"name" : "range name", "value" : [1000, None]} ]
parameter_values
可選字典。允許您通過為這些圖層指定一組預先編寫的參數化過濾器的值來過濾這些圖層。如果沒有為請求中的任何參數指定值,則會使用在創作期間分配的默認值。
當
parameterInfo
允許多個值時,您必須在數組中傳遞它們。注意:檢查 layer resources 中的
parameterInfos
以獲取可用的參數化過濾器、它們的默認值和預期的數據類型。kwargs
可選字典。可以傳遞給查詢函數的可選參數。這將允許用戶傳遞未在函數上明確實現的附加參數。 Query (Feature Service/Layer) 記錄了可用函數的完整列表。
指定返回類型,例如
count
。例子:
# USAGE EXAMPLE >>> from arcgis.mapping import MapImageLayer, MapFeatureLayer >>> from arcgis.gis import GIS # connect to your GIS and get the web map item >>> gis = GIS(url, username, password) >>> map_image_item = gis.content.get("2aaddab96684405880d27f5261125061") >>> map_feature_layer = MapFeatureLayer.fromitem(item = map_image_item, layer_id = 2) >>> query_count = map_feature_layer.query(where "1=1", text = "Hurricane Data", units = "esriSRUnit_Meter", return_count_only = True, out_statistics = [ { "statisticType": "count", "onStatisticField": "Field1", "outStatisticFieldName": "Out_Field_Name1" }, { "statisticType": "avg", "onStatisticField": "Field2", "outStatisticFieldName": "Out_Field_Name2" } ], range_values= [ { "name": "range name", "value": [None, 1500] }, { "name": "range name 2", "value":[1000, None] } } ] ) >>> query_count <149>
相關用法
- Python ArcGIS MapFeatureLayer.time_filter用法及代碼示例
- Python ArcGIS MapFeatureLayer.fromitem用法及代碼示例
- Python ArcGIS MapFeatureLayer.get_unique_values用法及代碼示例
- Python ArcGIS MapImageLayer.find用法及代碼示例
- Python ArcGIS MapImageLayerManager.update_tiles用法及代碼示例
- Python ArcGIS MapView.update用法及代碼示例
- Python ArcGIS MapImageLayerManager.delete_tiles用法及代碼示例
- Python ArcGIS MapView.layers用法及代碼示例
- Python ArcGIS MapView.basemap用法及代碼示例
- Python ArcGIS MapView.center用法及代碼示例
- Python ArcGIS MapView.save用法及代碼示例
- Python ArcGIS MapServiceLayer用法及代碼示例
- Python ArcGIS MapView.scale用法及代碼示例
- Python ArcGIS MapImageLayer.create_dynamic_layer用法及代碼示例
- Python ArcGIS MapView.rotation用法及代碼示例
- Python ArcGIS MapImageLayer.identify用法及代碼示例
- Python ArcGIS MapView.zoom用法及代碼示例
- Python ArcGIS MapTour用法及代碼示例
- Python arcgis.mapping.MapImageLayerManager.import_tiles用法及代碼示例
- Python ArcGIS MapView.sync_navigation用法及代碼示例
- Python ArcGIS MapView.extent用法及代碼示例
- Python ArcGIS MapView.add_layer用法及代碼示例
- Python ArcGIS MapTable.fromitem用法及代碼示例
- Python ArcGIS MapView.clear_graphics用法及代碼示例
- Python ArcGIS MapImageLayer.export_map用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.mapping.MapFeatureLayer.query。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。