计算密度 (GeoAnalytics)

摘要

根据落入每个单元周围邻域内的点要素计算每单位面积的量级。

旧版本:

ArcGIS GeoAnalytics Server 扩展模块在 ArcGIS Enterprise 中处于弃用状态。 GeoAnalytics Server最终版本包含在 ArcGIS Enterprise 11.3 中。 可通过 ArcGIS Enterprise 11.3 及较早版本获取此地理处理工具。

了解有关时间步长工作原理的详细信息

插图

计算密度工具图示

使用情况

  • 计算密度工具要求单个输入点要素。

  • 可以使用一个或多个计数字段来计算密度。 计数字段是一个数值字段,用于指定每个位置处的事件点数量。 对于城市或高速公路等要素,在计算人口或交通车道密度时,可以分别使用计数字段。 如果您指定了一个计数字段,除了计算点的密度外,还将计算计数字段的密度。

  • 输入点被聚合成用于分析的图格。 您必须指定将要聚合数据的图格大小。 默认情况下,输出结果将以平方公里为单位。

  • 输入点将聚合到指定大小和形状(六边形或正方形)的立方图格。 如果聚合到六边形,则立方图格大小 d 为每个六边形的高度,而所生成六边形的宽度为高度除以根号 3 再乘以 2。 如果要聚合到正方形,则立方图格大小 d 为正方形的高度(等于宽度)。

    六边形或方形条柱

  • 您必须指定一个大于立方图格大小的邻域大小。 邻域大小将用于在与感兴趣的要素(立方图格)相同的邻域内查找输入要素。

  • 邻域大小值越大,则生成的密度输出的概化程度越高。 值越小,生成的输出所显示的信息越详细。

  • 在计算密度时,仅考虑落入邻域范围内的点。 如果没有点落入特定像元的邻域范围内,则该像元将不会被赋值。

  • 有两种权重选项可以计算密度:均匀选项将计算邻域内所有值的总和并按区域划分。 选项通过到感兴趣要素的距离来计算邻域中值的权重,并且应用核函数将每个点拟合为光滑锥状表面。

  • 仅返回包含点的立方图格邻域内的区域。

  • 如果面积单位比例因子的单位相对于点间距非常小,则输出值可能也很小。 要获得较大的值,请使用单位较大的面积单位比例因子(例如,平方千米优先于平方米使用)。

  • 计算密度要求您的区域图层位于投影坐标系中。 如果您未投影数据,并且未设置投影坐标系,则分析将在世界圆柱等面积投影 (WKID 54034) 中完成。

  • 密度值始终为浮点型。

  • 计算密度可用于使用时间步长进行分析。 每个时间步长将独立于时间步长外的要素进行分析。 要使用时间步长,输入数据必须已启用时间且能够表示时刻。 应用时间步长后,输出要素将为字段表示的时间间隔。

  • 在使用时间步长分析输入要素时,每个时间步长将独立于时间步长之外的要素进行分析。

  • 时间步长参考参数可以是日期和时间值或仅为日期值,但不可仅为时间值。

  • 下列字段也包含在输出要素中:

    字段名描述

    density

    给定面的密度。 将以指定单位比例因子返回此字段值。

    density_<fieldname>

    由给定字段加权的密度。 仅在指定一个或多个字段时返回。

    start_datetime

    指定时间步长后,输出面将有一个时间间隔。 该字段表示开始时间。

    end_datetime

    指定时间步长后,输出面将有一个时间间隔。 该字段表示结束时间。

  • 您可以通过执行以下一个或多个操作来提升计算密度工具的性能:

    • 设置范围环境,以便仅分析感兴趣的数据。
    • 较大的立方图格比较小的立方图格性能更佳。 如果不确定使用哪种大小,可从较大的立方图格开始原型化。
    • 与立方图格类似,较大的时间步长比较小的时间步长性能更佳。
    • 将邻域大小的比率降低到立方图格大小。 邻域大小为立方图格大小 3 倍比为立方图格大小 10 倍时性能更佳。
    • 本地数据用于分析运行的位置。

  • 此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。 GeoAnalytics Server 上的分析已完成,结果将存储在 ArcGIS Enterprise 的内容中。

  • 当运行 GeoAnalytics Server 工具时,GeoAnalytics Server 上的分析已完成。 要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。 在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。 这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS ProGeoAnalytics Server 移动数据可能会失败。 失败的阈值取决于网络速度,以及数据的大小和复杂性。 建议您始终共享数据或创建大数据文件共享。

    了解有关将数据共享至您的门户的详细信息。

    了解有关通过 Server Manager 创建大数据文件共享的详细信息

  • 还可使用以下方法完成相似性分析:

参数

标注说明数据类型
输入图层

用于计算密度的点。

Feature Set
输出名称

输出要素服务的名称。

String
立方图格类型

指定分析中将使用的立方图格形状。

  • 正方形立方图格形状将为方形。 这是默认设置。
  • 六边形立方图格形状将为六边形。
String
立方图格大小

将用于聚合输入要素的立方图格的大小。 当生成方形立方图格时,由指定的数字和单位决定正方形的高度和长度。 当生成六角立方图格时,由指定的数字和单位决定平行边之间的距离。

Linear Unit
权重

指定将应用于密度函数的权重。

  • 均匀将使用单位面积的量级计算(所有立方图格的权重均相等)。 这是默认设置。
  • 将使用应用了平滑算法(核)的单位面积的量级计算,权重立方图格离点越近,权重越大。
String
邻域大小

将应用于密度计算的搜索半径。

Linear Unit
字段
(可选)

表示各要素的总体值的一个或多个字段。 总体字段表示遍布于用来创建连续表面的景观内的计数或数量。

总体字段中的值必须为数字。 默认情况下,将始终计算输入点计数的密度。

Field
面积单位比例因子
(可选)

指定将用于输出密度值的面积单位。 默认单位基于输出空间参考的单位。

  • 国际英亩面积单位将为国际英亩。
  • 公顷面积单位将为公顷。
  • 法定平方英里面积单位将为平方法定英里。
  • 平方千米面积单位将为平方千米。
  • 平方米面积单位将为平方米。
  • 国际平方英尺面积单位将为国际平方英尺。
  • 国际平方码面积单位将为国际平方码。
  • 美国测量平方英里面积单位为美国测量平方英里。
  • 美国测量平方英尺面积单位为美国测量平方英尺。
  • 美国测量平方码面积单位为美国测量平方码。
  • 美国测量英亩面积单位将为美国测量英亩。
String
时间步长间隔
(可选)

用来指定时间步长持续时间的值。 只有在输入点启用了时间且表示时刻时,此参数才可用。

只有对输入启用了时间的情况下,才可应用时间步长。

Time Unit
时间步长重复
(可选)

用来指定时间步长间隔发生频率的值。 只有在输入点启用了时间且表示时刻时,此参数才可用。

Time Unit
时间步长参考
(可选)

用来指定时间步长所要对齐的参考时间的日期。 默认情况下为 1970 年 1 月 1 日 12:00 a.m.。只有在输入点启用了时间且表示时刻时,此参数才可用。

Date
数据存储
(可选)

指定将用于存储输出的 ArcGIS Data Store。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • 时空大数据存储输出将存储在时空大数据存储中。 这是默认设置。
  • 关系数据存储输出将存储在关系数据存储中。
String

派生输出

标注说明数据类型
输出要素类

落入每个单元周围邻域内的点要素的每单位面积量级。

Feature Set

arcpy.geoanalytics.CalculateDensity(input_layer, output_name, bin_type, bin_size, weight, neighborhood_size, {fields}, {area_unit_scale_factor}, {time_step_interval}, {time_step_repeat}, {time_step_reference}, {data_store})
名称说明数据类型
input_layer

用于计算密度的点。

Feature Set
output_name

输出要素服务的名称。

String
bin_type

指定分析中将使用的立方图格形状。

  • SQUARE立方图格形状将为方形。 这是默认设置。
  • HEXAGON立方图格形状将为六边形。
String
bin_size

将用于聚合输入要素的立方图格的大小。 当生成方形立方图格时,由指定的数字和单位决定正方形的高度和长度。 当生成六角立方图格时,由指定的数字和单位决定平行边之间的距离。

Linear Unit
weight

指定将应用于密度函数的权重。

  • UNIFORM将使用单位面积的量级计算(所有立方图格的权重均相等)。 这是默认设置。
  • KERNEL将使用应用了平滑算法(核)的单位面积的量级计算,权重立方图格离点越近,权重越大。
String
neighborhood_size

将应用于密度计算的搜索半径。

Linear Unit
fields
[fields,...]
(可选)

表示各要素的总体值的一个或多个字段。 总体字段表示遍布于用来创建连续表面的景观内的计数或数量。

总体字段中的值必须为数字。 默认情况下,将始终计算输入点计数的密度。

Field
area_unit_scale_factor
(可选)

指定将用于输出密度值的面积单位。 默认单位基于输出空间参考的单位。

  • ACRES面积单位将为国际英亩。
  • HECTARES面积单位将为公顷。
  • SQUARE_MILES面积单位将为平方法定英里。
  • SQUARE_KILOMETERS面积单位将为平方千米。
  • SQUARE_METERS面积单位将为平方米。
  • SQUARE_FEET面积单位将为平方英尺。
  • SQUARE_YARDS面积单位将为平方码。
  • SQUARE_MILES_US面积单位为美国测量平方英里。
  • SQUARE_FEET_US面积单位为美国测量平方英尺。
  • SQUARE_YARDS_US面积单位为美国测量平方码。
  • ACRES_US面积单位将为美国测量英亩。
String
time_step_interval
(可选)

用来指定时间步长持续时间的值。 只有在输入点启用了时间且表示时刻时,此参数才可用。

只有对输入启用了时间的情况下,才可应用时间步长。

Time Unit
time_step_repeat
(可选)

用来指定时间步长间隔发生频率的值。 只有在输入点启用了时间且表示时刻时,此参数才可用。

Time Unit
time_step_reference
(可选)

用来指定时间步长所要对齐的参考时间的日期。 默认情况下为 1970 年 1 月 1 日 12:00 a.m.。只有在输入点启用了时间且表示时刻时,此参数才可用。

Date
data_store
(可选)

指定将用于存储输出的 ArcGIS Data Store。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • SPATIOTEMPORAL_DATA_STORE输出将存储在时空大数据存储中。 这是默认设置。
  • RELATIONAL_DATA_STORE输出将存储在关系数据存储中。
String

派生输出

名称说明数据类型
output

落入每个单元周围邻域内的点要素的每单位面积量级。

Feature Set

代码示例

CalculateDensity(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CalculateDensity 函数。


# Name: Calculate Density.py
# Description: Calculate density using the count of points as well as the severity 
# value of outbreaks by week.

# Requirements: ArcGIS GeoAnalytics Server

# Import system modules
import arcpy

# Set local variables
# This example uses a big data file share name "HealthInfo" with dataset 
# "Outbreaks" registered on a GeoAnalytics server
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_HealthInfo/BigDataCatalogServer/Outbreaks"

# By default, the count of points will be used in addition to any other fields 
# that are specified
fields = "Severity"

# Set the size of bins and neighborhood and the time step size
binSize = "1 Kilometers"
neighborhoodSize = "2 Kilometers"
timeStepInterval = "1 Weeks"

# Specify output info
outFS = "OutbreakDensity"
dataStore = "SPATIOTEMPORAL_DATA_STORE"

# Run Calculate Density
arcpy.geoanalytics.CalculateDensity(inFeatures, outFS, 'HEXAGON', binSize, 
                                    'UNIFORM', neighborhoodSize, fields, 
                                    'SQUARE_KILOMETERS', timeStepInterval, None, 
                                    None, dataStore)

环境

特殊情况

输出坐标系

将用于分析的坐标系。 除非由该参数进行指定,否则将基于输入坐标系完成分析。 对于 GeoAnalytics Tools,最终结果将存储于 WGS84 中的时空数据存储之内。

许可信息

  • Basic: 需要 ArcGIS GeoAnalytics Server
  • Standard: 需要 ArcGIS GeoAnalytics Server
  • Advanced: 需要 ArcGIS GeoAnalytics Server

相关主题