本文簡要介紹 python 語言中 arcgis.features.Table.query_date_bins
的用法。
用法:
query_date_bins(bin_field, bin_specs, out_statistics, time_filter=None, geometry_filter=None, bin_order=None, where=None, return_centroid=False, in_sr=None, out_sr=None, spatial_rel=None, quantization_params=None, result_offset=None, result_record_count=None, return_exceeded_limit_features=False)
返回:
包含結果特征和字段的字典。
query_date_bins
操作在FeatureLayer
上執行。此操作返回基於日期字段劃分為 bin 的特征直方圖。響應可以包括每個箱的統計聚合,例如計數或總和,還可以包括點層的聚合幾何形狀(換句話說,質心)。這些參數定義了容器、返回的聚合信息以及包含的函數。 bin 是使用 bin 參數定義的。
out_statistics
和return_centroid
參數定義每個 bin 將提供的信息。可以通過提供time
範圍、where
條件和空間過濾器來指定包含的函數,類似於查詢操作。bin_specs
參數的內容為定義 bin 邊界提供了靈活性。bin_specs
參數的unit
屬性定義每個 bin 的時間寬度,例如一年、季度、月份、天或小時。固定 bin 可以對這些時間寬度使用多個單位。result_offset
屬性定義該時間單位內的偏移量。例如,如果您的 bin 單位為day
,並且您希望 bin 邊界從中午到第二天的中午,則偏移量將為 12 小時。可以使用
time_filter
、where
和geometry_filter
參數來操作函數。默認情況下,結果將擴展以適合該函數的最早和最晚時間點。time_filter
參數根據 binField 中使用的字段定義特征的固定起點和終點。where
和geometry_filter
參數允許對數據添加額外的過濾器。僅使用時空數據存儲的要素服務支持此操作。此外,服務屬性
supportsQueryDateBins
必須設置為 true。要在 ArcGIS Enterprise 中的托管要素服務上使用分頁和聚合查詢,圖層上的
supportsPaginationOnAggregatedQueries
屬性必須為true
。使用時空數據存儲的托管要素服務當前不支持聚合查詢的分頁。Parameter
Description
bin_field
必需的字符串。用於確定每個要素屬於哪個 bin 的日期字段。
bin_specs
必需的字典。說明 bin 特征的字典,例如 bin 的大小及其起始位置。每個 bin 的大小由
number
和unit
屬性表示的時間單位數確定。bin 的起始位置是指定單位中的最早時刻。例如,每年從 1 月 1 日午夜開始。 bin 參數內的偏移量可以提供 bin 起始位置的偏移量。它可以包含正整數或負整數值。
箱子可以采用兩種形式:日曆箱子或固定箱子。日曆箱可以識別 calendar-specific 調整,例如夏令時和閏秒。相比之下,固定 bin 始終是特定的測量單位(例如,一分鍾 60 秒,一天 24 小時),無論 bin 的日期和時間從何處開始。因此,某些 calendar-specific 單位僅支持作為日曆箱。
# Calendar bin >>> bin_specs= {"calendarBin": {"unit": "year", "timezone": "US/Arizona", "offset": { "number": 5, "unit": "hour"} } } # Fixed bin >>> bin_specs= {"fixedBin": { "number": 12, "unit": "hour", "offset": { "number": 5, "unit": "hour"} } }
out_statistics
所需的字典列表。要計算的一個或多個基於字段的統計數據的定義:
{ "statisticType": "<count | sum | min | max | avg | stddev | var>", "onStatisticField": "Field1", "outStatisticFieldName": "Out_Field_Name1" }
time_filter
可選列表。格式為 [<startTime>, <endTime>],使用 datetime.date、datetime.datetime 或時間戳(以毫秒為單位)。
geometry_filter
從
filters
中可選。允許根據與另一個幾何體的空間關係來過濾信息。bin_order
可選字符串。 “ASC” 或“DESC”。確定結果是按升序還是降序返回。默認為升序。
where
可選字符串。用於查詢過濾器的 WHERE 子句。大多數數據源都支持層中字段的 SQL '92 WHERE 子句語法。
return_centroid
可選布爾值。返回與箱中所有要素關聯的幾何質心。如果為 true,則結果包括幾何質心。默認為 false。該參數僅支持點數據。
in_sr
可選整數。輸入幾何體的空間參考的 WKID。
out_sr
可選整數。返回幾何的空間參考的 WKID。
spatial_rel
可選字符串。執行查詢時應用於輸入幾何的空間關係。支持的空間關係包括相交、包含、包絡相交、內部等。默認空間關係是相交 (
esriSpatialRelIntersects
)。其他選項包括esriSpatialRelContains
、esriSpatialRelCrosses
、esriSpatialRelEnvelopeIntersects
、esriSpatialRelIndexIntersects
、esriSpatialRelOverlaps
、esriSpatialRelTouches
和esriSpatialRelWithin
。quantization_params
可選字典。用於將幾何體投影到虛擬網格上,可能代表屏幕上的像素。
# upperLeft origin position {"mode": "view", "originPosition": "upperLeft", "tolerance": 1.0583354500042335, "extent": { "type": "extent", "xmin": -18341377.47954369, "ymin": 2979920.6113554947, "xmax": -7546517.393554582, "ymax": 11203512.89298139, "spatialReference": { "wkid": 102100, "latestWkid": 3857} } } # lowerLeft origin position {"mode": "view", "originPosition": "lowerLeft", "tolerance": 1.0583354500042335, "extent": { "type": "extent", "xmin": -18341377.47954369, "ymin": 2979920.6113554947, "xmax": -7546517.393554582, "ymax": 11203512.89298139, "spatialReference": { "wkid": 102100, "latestWkid": 3857} } }
有關此參數格式的詳細信息,請參閱Quantization parameters JSON properties。
注意:僅當圖層的
supportsCoordinateQuantization
屬性為true
時,此參數才適用。result_offset
可選的國際。該參數通過跳過指定數量的記錄並從下一條記錄開始獲取查詢結果。默認值為 0。
- 注意:
僅當圖層的
supportsPagination
屬性為true
時,此參數才適用。
result_record_count
可選的國際。此參數獲取最多指定值的查詢結果。當指定了
result_offset
但未指定此參數時,Map服務默認使用圖層的maxRecordCount
屬性。此參數的最大值是maxRecordCount
屬性的值。為此參數輸入的最小值不能低於 1。- 注意:
僅當圖層的
supportsPagination
屬性為true
時,此參數才適用。
return_exceeded_limit_features
可選布爾值。當設置為
True
時,即使結果包含"exceededTransferLimit": true
也會返回特征。這允許客戶端找到不再超出傳輸限製的解決方案,而無需進行多次調用。默認值為False
。例子:
# Usage Example >>> flyr_item = gis.content.search("*", "Feature Layer")[0] >>> flyr = flyr_item.layers[0] >>> qy_result = flyr.query_date_bins(bin_field="boundary", bin_specs={"calendarBin": {"unit":"day", "timezone": "America/Los_Angeles", "offset": {"number": 8, "unit": "hour"} } }, out_statistics=[{"statisticType": "count", "onStatisticField": "objectid", "outStatisticFieldName": "item_sold_count"}, {"statisticType": "avg", "onStatisticField": "price", "outStatisticFieldName": "avg_daily_revenue "}], time=[1609516800000, 1612195199999]) >>> qy_result { "features": [ { "attributes": { "boundary": 1609516800000, "avg_daily_revenue": 300.40, "item_sold_count": 79 } }, { "attributes": { "boundary": 1612108800000, "avg_daily_revenue": null, "item_sold_count": 0 } } ], "fields": [ { "name": "boundary", "type": "esriFieldTypeDate" }, { "name": "item_sold_count", "alias": "item_sold_count", "type": "esriFieldTypeInteger" }, { "name": "avg_daily_revenue", "alias": "avg_daily_revenue", "type": "esriFieldTypeDouble" } ], "exceededTransferLimit": false }
相關用法
- Python ArcGIS Table.query_related_records用法及代碼示例
- Python ArcGIS Table.query用法及代碼示例
- 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_date_bins。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。