当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS detect_incidents用法及代码示例


本文简要介绍 python 语言中 arcgis.geoanalytics.find_locations.detect_incidents 的用法。

用法:

arcgis.geoanalytics.find_locations.detect_incidents(input_layer, track_fields, start_condition_expression, end_condition_expression=None, output_mode='AllFeatures', time_boundary_split=None, time_split_unit=None, time_reference=None, output_name=None, gis=None, context=None, future=False)

返回:

FeatureLayerCollection

detect_incidents.png

detect_incidents 任务与 time-enabled 层的点、线、区域或表一起使用,这些点、线、区域或表表示即时。该工具使用顺序排列的特征(称为轨迹)确定哪些特征是感兴趣的事件。事件由您指定的条件确定。首先,该工具使用一个或多个字段确定哪些要素属于轨迹。使用每个特征的时间,轨道按顺序排序并应用事件条件。满足起始事件条件的要素被标记为事件。您可以选择应用结束事件条件;当结束条件为“真”时,该特征不再是事件。结果将与原始特征一起返回,新列表示事件名称并指示哪个特征满足事件条件。您可以返回所有原始要素、仅作为事件的要素或轨迹中至少发生一个事件的所有要素。

例如,假设您每 10 分钟进行一次飓风的 GPS 测量。每次 GPS 测量都会记录飓风的名称、位置、记录时间和风速。使用这些字段,您可以创建一个事件,其中任何风速大于 208 km/h 的测量结果都是名为 Catastrophic 的事件。通过不设置结束条件,如果要素不再满足开始条件(风速减慢到小于 208),事件将结束。

使用另一个示例,假设您正在使用名为 contanimateLevel 的字段监测当地供水中的化学物质浓度。你知道推荐水平低于0.01 mg/L,危险水平高于0.03 mg/L。要检测事件,如果值高于 0.03mg/L 是事件,并且在污染水平恢复正常之前一直是事件,您可以使用 contanimateLevel > 0.03 的开始条件和 contanimateLevel < 0.01 的结束条件来创建事件。这将标记值超过 0.03mg/L 的任何序列,直到它们返回小于 0.01 的值。

Parameter

Description

input_layer

必需的层。包含潜在事件的表、点、线或面要素。请参阅特征输入。

track_fields

必需的字符串。用于识别不同轨道的字段。可以有多个 track_fields

start_condition_expression

必需的字符串。用于识别事件的条件。如果没有指定end_condition_expression,则满足此条件的任何要素都是事件。如果存在结束条件,则满足start_condition_expression 且不满足end_condition_expression 的任何要素都是事件。表达式是 Arcade 表达式。

end_condition_expression

可选字符串。用于识别事件的条件。如果没有指定end_condition_expression,则满足此条件的任何要素都是事件。如果存在结束条件,则满足start_condition_expression 且不满足end_condition_expression 的任何要素都是事件。这是一个 Arcade 表达式。

output_mode

可选字符串。确定返回哪些特征。

选择清单:

  • AllFeatures - 返回所有输入特征。

  • Incidents - 仅返回发现为事件的要素。

默认值为 AllFeatures

time_boundary_split

可选整数。检测和事件的时间边界。时间边界允许您在定义的时间跨度内分析值。例如,如果您使用 1 天的时间边界,则从 1980 年 1 月 1 日开始,将一次分析 1 天的轨道。 ArcGIS Enterprise 10.7 中引入了时间边界参数。

time_boundary_split 参数定义时间边界的比例。在上述情况下,这将是 1。请参阅此工具的门户文档以了解更多信息。

time_split_unit

可选字符串。如果提供了 time_boundary_split 参数,则检测事件的单元。

选择清单:
  • Milliseconds

  • Seconds

  • Minutes

  • Hours

  • Days

  • Weeks

  • Months

  • Years

time_reference

可选的 datetime.detetime。分析开始的开始日期/时间。

output_name

可选字符串,任务将创建结果的要素服务。您定义服务的名称。

gis

运行此工具的可选 GIS 。如果未指定,则使用活动 GIS。

context

可选字典。 context 参数包含影响任务执行的其他设置。对于此任务,有四个设置:

  • extent - A bounding box that defines the analysis area. Only those features that intersect the bounding box will be analyzed.

  • processSR - The features will be projected into this coordinate system for analysis.

  • outSR - The features will be projected into this coordinate system after the analysis to be saved. The output spatial reference for the spatiotemporal big data store is always WGS84.

  • dataStore - Results will be saved to the specified data store. For ArcGIS Enterprise, the default is the spatiotemporal big data store.

future

可选布尔值。如果是 True ,将返回一个 future 对象,并且进程不会等待任务完成。

默认为 False ,表示等待结果。

例子:

# Usage Example: This example finds when and where snowplows were moving slower than 10 miles per hour by calculating the mean of a moving window of five speed values.

arcgis.env.verbose = True # set environment
arcgis.env.defaultAggregations = True # set environment

delay_incidents = output = detect_incidents(input_layer=snowplows,
                                            track_fields="plowID, dayOfYear",
                                            start_condition_expression="Mean($track.field["speed"].window(-5, 0)) < 10",
                                            output_name="Slow_Plow_Incidents")

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.geoanalytics.find_locations.detect_incidents。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。