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


Python ArcGIS calculate_density用法及代码示例


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

用法:

arcgis.geoanalytics.analyze_patterns.calculate_density(input_layer, fields=None, weight='Uniform', bin_type='Square', bin_size=None, bin_size_unit=None, time_step_interval=None, time_step_interval_unit=None, time_step_repeat_interval=None, time_step_repeat_interval_unit=None, time_step_reference=None, radius=None, radius_unit=None, area_units='SquareKilometers', output_name=None, gis=None, context=None, future=False)

返回:

result_layer :将要素输出为 FeatureLayer

calculate_density.png

calculate_density 工具通过在Map上散布已知数量的某些现象(表示为点的属性),根据点要素创建密度图。结果是一层从最不密集到最密集的区域。

对于点输入,每个点应表示某个事件或事件的位置,结果层表示每单位面积的事件计数。新位置的密度值越高,意味着该位置附近的点越多。在许多情况下,结果层可以解释为未来事件的风险面。例如,如果输入点表示雷击的位置,则结果图层可以解释为未来雷击的风险面。

此工具的其他用例包括:

  • 创建犯罪密度图,以帮助警察部门将资源正确分配到犯罪率高的地区。

  • 计算县内医院的密度。结果图层将显示对医院的可达性高和低的区域,这些信息可用于决定应该在哪里建造新医院。

  • 根据森林火灾的历史位置识别森林火灾高风险区域。

  • 定位远离主要高速公路的社区,以便规划应该在哪里建造新道路。

Parameter

Description

input_layer

所需的点要素图层。将在其上计算密度的点图层。

请参阅特征输入。

注意:

使用 bin 进行分析需要投影坐标系。将图层聚合到 bin 中时,输入图层或处理范围 (processSR) 必须具有投影坐标系。在 10.5.1、10.6 和 10.6.1 中,如果在运行分析时未指定投影坐标系,将使用世界圆柱等面积 (WKID 54034) 投影。在 10.7 或更高版本中,如果在运行分析时未指定投影坐标系,则会根据数据范围选取投影。

fields

可选字符串。提供一个或多个字段,指定每个位置的事件数。您可以计算多个字段的密度,并且点数将始终计算密度。

weight

必需的字符串。应用于密度计算的加权类型。有两种选择:

  • Uniform - Calculates a magnitude-per-area. This is the default.

  • Kernel - Applies a kernel function to fit a smooth tapered surface to each point.

默认值为“Uniform”。

bin_type

必需的字符串。用于计算密度的 bin 类型。

注意:

使用SquareHexagon bin 进行分析需要投影坐标系。将图层聚合到 bin 中时,输入图层或处理范围 ( processSR ) 必须具有投影坐标系。在 10.5.1、10.6 和 10.6.1 中,如果运行分析时未指定投影坐标系,则将使用世界圆柱等面积 (WKID 54034) 投影。在 10.7 或更高版本中,如果运行分析时未指定投影坐标系,将根据数据范围选取投影。

选择清单:

  • Hexagon

  • Square

bin_size

所需的浮点数。将使用 input_layer 进行分析的 bin 的距离。生成 bin 时,对于 Square,指定的数量和单位决定了正方形的高度和长度。对于 Hexagon ,指定的数量和单位确定平行边之间的距离。

bin_size_unit

必需的字符串。将为其计算密度的 bin 的距离单位。与 bin_size 中指定的值一起使用的线性单位。

默认值为“米”。

time_step_interval

可选整数。一个数值,指定时间步长间隔的持续时间。此选项仅在输入点为 time-enabled 且代表时间瞬间时可用。

默认值为“无”。

time_step_interval_unit

可选字符串。一个字符串,它指定时间步长间隔的单位。此选项仅在输入点为 time-enabled 且代表时间瞬间时可用。

选择清单:

  • Milliseconds

  • Seconds

  • Minutes

  • Hours

  • Days

  • Weeks

  • Months

  • Years

默认值为“无”。

time_step_repeat_interval

可选整数。一个数值,指定时间步重复发生的频率。仅当输入点为 time-enabled 且时间类型为即时时,此选项才可用。

time_step_repeat_interval_unit

可选字符串。一个字符串,它指定步骤重复的时间单位。仅当输入点为 time-enabled 且时间类型为即时时,此选项才可用。

选择清单:

  • Years

  • Months

  • Weeks

  • Days

  • Hours

  • Minutes

  • Seconds

  • Milliseconds

默认值为“无”。

time_step_reference

可选的日期时间。一个日期,指定将时间片对齐到的参考时间,以从纪元开始的毫秒数表示。如果 time_step_reference 设置为“无”,则时间步长将与 1970 年 1 月 1 日对齐 (datetime(1970, 1, 1))。仅当输入点为 time-enabled 且时间类型为瞬间时,此选项才可用。

默认值为“无”。

radius

必需的整数。计算密度的邻域的大小。半径大小必须大于 bin_size

radius_unit

必需的字符串。定义将为其计算密度的邻域的半径的距离单位。与 bin_size 中指定的值一起使用的线性单位。

选择清单:

  • Feet

  • Yards

  • Miles

  • Meters

  • Kilometers

  • NauticalMiles

默认值为“米”。

area_units

可选字符串。密度值的所需输出单位。如果密度值非常小,您可以增加面积单位的大小(例如,平方米到平方公里)以返回更大的值。此值仅缩放结果。可能的面积单位有:

选择清单:

  • SquareMeters

  • SquareKilometers

  • Hectares

  • SquareFeet

  • SquareYards

  • SquareMiles

  • Acres

默认值为 SquareKilometers

output_name

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

gis

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

context

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

  1. 范围 (extent) - 定义分析区域的边界框。只有那些与边界框相交的特征才会被分析。

  2. 处理空间参考 (processSR) - 要素将投影到此坐标系中以进行分析。

  3. 输出空间参考 (outSR) - 分析后要素将投影到此坐标系中以保存。时空大数据存储的输出空间参考始终为 WGS84。

  4. 数据存储 (dataStore) - 结果将保存到指定的数据存储。对于ArcGIS Enterprise,默认为时空大数据存储。

future

可选布尔值。如果为 True,则将返回 future 对象,并且进程不会等待任务完成。默认为False,表示等待结果。

例子:

# Usage Example: Aggregate the number of Hurricanes within 1 meter to calculate density of Hurricane damage.

cal_den_result = calculate_density(input_layer=hurricane_lyr,
                                   fields='Damage',
                                   weight='Uniform',
                                   bin_type='Square',
                                   bin_size=1,
                                   bin_size_unit="Meters",
                                   radius=2,
                                   radius_unit="Yards")

相关用法


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