本文简要介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。