Skip to main content

生成加权 Voronoi (Spatial Analyst 工具)

汇总

基于沿线距离或按站点特定权重修改的距离将位置分配到站点,从而根据点要素创建空间影响区域。

使用此工具可以对容量、吸引力或优势度进行建模,从而生成更贴合实际的服务范围、可达性表面和竞争区域。

了解有关“生成加权 Voronoi 图”工作原理的详细信息

插图

“生成加权 Voronoi 图”工具图示

输入点要素生成的输出 Voronoi 区域示例。

用法

  • 该工具在对大小至关重要的影响区进行建模时非常有用。 例如,它可以用于划定零售商圈(按建筑面积对商店进行加权),以观察大型仓储式超市如何影响周边小型商店的市场。

  • 输入要素定义了生成 Voronoi 区域的起始位置。 每个点代表一个站点,这些站点根据距离以及(可选)站点特定属性来竞争空间影响力。 它们的位置、分布和属性直接控制生成 Voronoi 区域的大小、形状和含义。

  • 要素 ID(Python 中的 feature_id)参数唯一标识每个输入站点,并传递到所有输出中。 在栅格输出中,要素 ID 值在像元级编码站点归属,并允许将结果关联回输入点。 在多边形输出中,它指示哪个站点生成了每个 Voronoi 区域。

  • 输出 Voronoi 栅格(Python 中的 out_voronoi_raster)参数值是一个分配栅格,其中每个像元值对应最具影响力站点的要素 ID。 建议将该输出用于基于栅格的工作流,例如分区统计、成本表面集成或地图代数。 每个区域内的像元数量记录在输出属性表的 Count 字段中。

  • 输出 Voronoi 多边形(Python 中的 out_voronoi_polygons)参数值代表从 Voronoi 栅格创建的离散影响区。 每个多边形都包含描述生成站点、所使用的 Voronoi 类型以及可选诊断信息(如面积或质心距离)的属性。 此输出非常适合叠加、汇总和制图显示。

  • 输出距离栅格(Python 中的 out_distance_raster)参数值(可选)存储分配期间使用的最小距离或计算出的影响分值。 它代表每个位置与其分配站点之间的距离(或成本)。 这对于基于可达性指数的工作流或梯度可视化非常有用。

  • Voronoi 类型(Python 中的 voronoi_type)参数决定如何结合距离和权重来确定影响力。 每种 Voronoi 类型代表了站点竞争空间的不同解释。

    Unweighted Voronoi 计算中,影响力仅根据距离确定。 假设所有站点具有同等的容量和重要性,每个位置根据选定的距离方法被分配到最近的站点。 生成的区域由直线平分线界定,代表纯粹的邻近性。 当不应有站点属性偏差结果,或为加权输出建立比较基准时,此选项最为合适。

    Additive Weighted Voronoi 计算中,站点的权重会从其距离中减去。 因此,高权重站点的表现就像它们离所有位置更近一样,从而以牺牲低权重站点为代价来扩大其影响区。 这种公式非常适合对容量驱动的影响力进行建模。

    Multiplicative Weighted Voronoi 计算中,距离乘以站点的权重。 在这种情况下,较高的权重会增加有效距离,通常导致更小的影响区。 当权重代表阻抗或阻力而非容量时,此公式非常有用。 乘法加权可能会产生非凸或碎片化的区域。

    Power Weighted Voronoi 类型使用距离平方减去权重平方。 这种公式产生的线性边界类似于未加权的 Voronoi,但会根据权重大小发生偏移。 幂图具有数值稳定性和高计算效率,非常适合大型数据集或重复分析。 当权重代表类似半径的影响力,或当一致的多边形拓扑很重要时,通常首选此类型。

    通过 Custom expression 选项,您可以定义影响力如何整合到距离函数中。 它旨在提供对标准加权公式之外的距离函数的控制。 此选项支持高级建模场景,如各向异性距离、特定领域的惩罚项或混合影响函数。

  • 要控制计算中考虑的最近站点的阶数,请使用 Voronoi 阶数(Python 中的 voronoi_order)参数。

    默认情况下,工具使用 order = 1,生成标准的 Voronoi 图,其中每个位置分配给其唯一的最近(或最具影响力)站点。

    将阶数设为 2 会为每个位置考虑两个最近站点,从概念上生成二阶 Voronoi 区域,代表两站点间的共同影响区域。

    支持的最大阶数为 3,即每个位置考虑三个最近站点,生成的三阶 Voronoi 区域可捕获三站点间更复杂的相互作用。

  • Voronoi 组合(Python 中的 voronoi_combination)参数决定生成 Voronoi 区域时,是否在指定阶数的基础上包含较低阶数的结果。 启用后,输出将报告指定阶数以及所有较低阶数的结果。 此选项仅影响 Voronoi 阶数的报告和聚合,不会改变影响函数或距离计算。

  • 距离单位(Python 中的 distance_unit)参数使计算保持稳定,无论使用何种投影。 通过显式设置已知的单位(如千米),工具会在应用权重前将地图几何转换为该单位。 这确保了自定义表达式(例如:distance * (weight + coefficient))在数学上保持有效,无论地图单位是米、英尺还是十进制度。

  • 使用权重字段(Python 中的 weight_field)参数指定根据选定的 Voronoi 类型修改空间影响力的站点属性。 工具根据 Voronoi 类型以不同方式应用权重值,允许您对各种现实场景进行建模,如容量、吸引力或阻力。

  • 系数 (k)(Python 中的 coef_field)参数作为一个标量,可用于控制加权 Voronoi 计算中影响力的强度或形状。 它可以应用于距离、权重或其他可用的函数和常量,以控制灵敏度和函数行为。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

  • 参考文献:

    Boots, B. N. (1980). "Weighting thiessen polygons". Economic Geography, 56(3), 248-259.

    Lee, D. T., & Drysdale, III, R. L. (1981). "Generalization of Voronoi diagrams in the plane". SIAM Journal on Computing, 10(1), 73-87.

    Okabe, A., Boots, B., Sugihara, K., & Chiu, S. N. (2009). "Spatial tessellations: concepts and applications of Voronoi diagrams". Wiley

参数

标注 说明 数据类型

输入要素

点要素,代表空间影响的源头,Voronoi 区域将基于这些点进行计算,距离计算也从此处开始。

Feature Layer

要素 ID

唯一标识符,用于保持每个输入站点与其对应的 Voronoi 区域或栅格分配之间的一对一关系。

Field

输出 Voronoi 栅格

输出栅格数据集,用于对站点分配进行编码,其中每个像元值对应于影响力最大的站点标识符。

Raster Layer

输出 Voronoi 多边形

输出面要素类,用于表示与单个站点或站点组合相关联的离散空间影响区域。

Feature Layer

输出距离栅格

(可选)

输出栅格数据集,其中存储了用于将每个位置分配到站点的最小距离或计算出的影响分数。

Raster Layer

像元大小

(可选)

输出栅格数据集的像元大小。

Double

Voronoi 类型

(可选)

将用于根据纯距离或按站点属性修正后的距离评估空间影响并将位置分配给 Voronoi 区域的数学形式。

在每个公式中,d 表示距离,w 表示权重。

  • 未加权影响仅由距离决定,所有站点视为具有同等影响力。 这是默认设置。

    影响 = d

  • 加性加权通过从距离中减去站点权重来模拟影响,使权重较高的站点能够扩大其空间主导范围。

    影响 = d – w

  • 乘性加权通过将距离乘以站点权重来模拟影响,通常会缩小权重较高站点的空间范围。

    影响 = d * w

  • 幂加权使用距离的平方和权重的平方来模拟影响,产生由站点强度决定偏移量的线性边界。

    影响 = d2 – w2

  • 自定义表达式影响由您指定的数学表达式定义,支持高级或特定领域的距离-权重公式。

String

自定义表达式

(可选)

定义一个数学表达式,用于指定距离和站点权重如何相互作用以确定空间影响。 此参数仅在 Voronoi 类型参数值设置为自定义时适用。 可修改距离 (d)、站点权重 (w) 和系数 (k) 的影响,以定义它们如何相互作用来确定空间影响和区域边界。

自定义表达式中只能使用 d、w 和 k 变量。

允许使用的运算符:+、-、*、/、^、()

允许使用的函数:sqrt()、exp()、abs()、log()

可用常量:pi、e

String

Voronoi 阶数

(可选)

定义将考虑哪些最近的站点。 它不会合并不同阶的输出 Voronoi 区域。 默认情况下,工具使用 order = 1。

当 order = 1 时,每个位置被分配给距离它最近(或影响力最大)的单个站点。 这将生成标准(一阶)Voronoi 图。

当 order = 2 时,每个位置会考虑距离它最近的两个站点。 从概念上讲,这将生成二阶 Voronoi 区域。

支持的最大阶数为 3,此时每个位置会考虑距离它最近的三个站点。 这将生成三阶 Voronoi 区域。

Long

Voronoi 组合

(可选)

此选项用于决定是否同时包含低阶结果与指定阶的结果。 此参数不会混合影响函数,也不会改变距离计算方式, 仅控制 Voronoi 阶的报告和聚合方式。 此选项仅在 Voronoi 阶为 2 或 3 时生效。

  • 选中低阶结果将与指定阶的结果一起包含在输出属性中。

  • 未选中输出属性中将仅报告指定阶的结果。 这是默认设置。

Boolean

距离单位

(可选)

将用于在计算和输出距离字段中表达距离值的线性单位。 距离单位定义了距离值的缩放和报告方式。 默认情况下,将使用像元

  • 像元将使用像元作为单位。

  • 将使用米作为单位。

  • 千米将使用千米作为单位。

  • 英尺将使用英尺作为单位。

  • 将使用码作为单位。

  • 英里将使用英里作为单位。

  • 厘米将使用厘米作为单位。

  • 英寸将使用英寸作为单位。

  • 地图单位将使用地图单位作为单位。

String

距离法

(可选)

将用于计算距离值的方法。

  • 平面使用欧氏(直线)距离计算。 这是默认设置。

  • 测地线使用测地线(基于椭球体)距离计算。

String

权重字段 (w)

(可选)

包含站点特定权重的字段,用于根据所选的 Voronoi 类型参数值来修改空间影响。

Field

系数字段 (k)

(可选)

包含站点特定系数的字段,用于在自定义 Voronoi 表达式中缩放权重的影响。

Field

环境

自动提交, 当前工作空间, 范围, 地理变换, 输出配置关键字, 输出坐标系, 临时工作空间, 像元大小, 像元大小投影方法, 掩膜, 金字塔, 压缩, 分块大小, 捕捉栅格, 并行处理因子

许可信息

  • 基本: 需要 Spatial Analyst
  • 标准: 需要 Spatial Analyst
  • 高级: 需要 Spatial Analyst