分配面 (分析)

摘要

基于目标面图层的空间叠加来汇总输入面图层的属性,并将汇总的属性分配给目标面。 目标面具有从每个目标重叠的输入面派生的求和数值属性。 此过程通常称为分配。

可使用该工具基于一个要素与另一个要素的叠加百分比和已知人口估计该要素的人口。

插图

分配面工具图示
显示了目标内输入属性的部分和。

使用情况

  • 默认情况下,将由重叠面积百分比来确定所传输属性的百分比。

  • 系统将对来自输入面的权重字段进行归一化,并将其用于调整所传输的属性量。 权重字段为 0 会将从输入到目标的所分配属性设置为 0。

  • 如果将其指定,则系统将使用估计要素参数值(而非使用面积)来确定如何传输属性。 估计要素必须与要计数的输入面参数值相交。 如果估计要素还与目标面参数值相交,则属性将从输入要素传输到目标。

  • 保留目标几何参数可用于在输出几何中包括目标几何或输入和目标几何的交集。

  • 此工具支持并行处理因子环境。 如果环境未设置(默认情况下)或已设置为 100,则将启用完全并行处理,同时该工具尝试将工作分配给计算机上的所有逻辑内核。 将环境设置为 0 将禁用并行处理。 在 1 到 99 之间指定一个因子时,工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将向上舍入到最近的整数值。 如果此公式的结果是 0 或 1,则将不启用并行处理。

参数

标注说明数据类型
输入面

具有将汇总到目标面几何中的 数值属性的面要素。

Feature Layer
要分配的字段

输入面中的数值字段,按每个目标面汇总并记录在输出要素类中。

Field
目标面

将复制到输出要素类的面要素及其分配的字段。

Feature Layer
输出要素类

包含目标面的属性和几何以及输入面中的指定分配字段的输出要素类。

Feature Class
分配方法

指定用于将字段从输入面分配到目标面的方法。

  • 面积每个输入面对每个目标要素的汇总值的贡献量将取决于两个要素之间的重叠面积。 如果输入要素与两个目标要素的重叠面积相同,则分配的字段将一分为二,并且对两个目标要素贡献总值的一半。 这是默认设置。
  • 长度输入要素中的属性将基于每个目标要素中线所占百分比的情况进行划分。 计算中仅会包括与输入要素相交的线。 输入要素外部的线将被排除在外。 例如,如果一个目标要素覆盖一条线的 750 米,而另一个目标要素覆盖一条线的 250 米,则输入要素属性值的 75% (750/1000) 将被聚合到第一个目标要素,而输入要素属性值的 25% (250/1000) 将被聚合到第二个目标要素。
  • 来自输入要素的属性将基于与输入要素重叠的每个目标要素内的点数进行划分。 输入要素外部的点将被排除在外。 您可以有选择地指定权重字段,以便将每个目标要素中所有点的总权重用于确定如何划分输入要素的属性值。 例如,如果两个目标要素与一个输入要素重叠,并且第一个目标要素内有两个点,第二个目标要素内有八个点,则输入要素属性值的 20% (2/10) 将被聚合到第一个目标要素,且输入要素属性值的 80% (8/10) 将被聚合到第二个目标要素。
String
估计要素
(可选)

输入点或折线要素,将用于估计要分配给目标面的输入面分配字段的百分比。 此为交集内将除以输入要素内的数量以得出百分比的点或线的数量。

Feature Layer
权重字段
(可选)

目标面图层中的数值字段,将用于调整接收输入面的要分配字段中的较大分配值的目标面。 向权重较高的目标分配的字段值比例较高。

如果指定了估计要素,则权重字段是估计要素的数值字段,将用于调整分配给与估计要素相交的目标面的值。

Field
保留目标几何
(可选)

指定输出要素类是否将保留目标面图层的原始几何。

  • 选中 - 输出要素类将保留目标面图层的原始几何。 这是默认设置。
  • 未选中 - 输出要素类将为目标面和输入面的几何交集。 仅在输出中包含目标面中与输入面重叠的区域。

Boolean

arcpy.analysis.ApportionPolygon(in_features, apportion_fields, target_features, out_features, method, {estimation_features}, {weight_field}, {maintain_geometries})
名称说明数据类型
in_features

具有将汇总到目标面几何中的 数值属性的面要素。

Feature Layer
apportion_fields
[apportion_fields,...]

输入面中的数值字段,按每个目标面汇总并记录在输出要素类中。

Field
target_features

将复制到输出要素类的面要素及其分配的字段。

Feature Layer
out_features

包含目标面的属性和几何以及输入面中的指定分配字段的输出要素类。

Feature Class
method

指定用于将字段从输入面分配到目标面的方法。

  • AREA每个输入面对每个目标要素的汇总值的贡献量将取决于两个要素之间的重叠面积。 如果输入要素与两个目标要素的重叠面积相同,则分配的字段将一分为二,并且对两个目标要素贡献总值的一半。 这是默认设置。
  • LENGTH输入要素中的属性将基于每个目标要素中线所占百分比的情况进行划分。 计算中仅会包括与输入要素相交的线。 输入要素外部的线将被排除在外。 例如,如果一个目标要素覆盖一条线的 750 米,而另一个目标要素覆盖一条线的 250 米,则输入要素属性值的 75% (750/1000) 将被聚合到第一个目标要素,而输入要素属性值的 25% (250/1000) 将被聚合到第二个目标要素。
  • POINTS来自输入要素的属性将基于与输入要素重叠的每个目标要素内的点数进行划分。 输入要素外部的点将被排除在外。 您可以有选择地指定权重字段,以便将每个目标要素中所有点的总权重用于确定如何划分输入要素的属性值。 例如,如果两个目标要素与一个输入要素重叠,并且第一个目标要素内有两个点,第二个目标要素内有八个点,则输入要素属性值的 20% (2/10) 将被聚合到第一个目标要素,且输入要素属性值的 80% (8/10) 将被聚合到第二个目标要素。
String
estimation_features
(可选)

输入点或折线要素,将用于估计要分配给目标面的输入面分配字段的百分比。 此为交集内将除以输入要素内的数量以得出百分比的点或线的数量。

Feature Layer
weight_field
(可选)

目标面图层中的数值字段,将用于调整接收输入面的要分配字段中的较大分配值的目标面。 向权重较高的目标分配的字段值比例较高。

如果指定了估计要素,则权重字段是估计要素的数值字段,将用于调整分配给与估计要素相交的目标面的值。

Field
maintain_geometries
(可选)

指定输出要素类是否将保留目标面图层的原始几何。

  • MAINTAIN_GEOMETRIES输出要素类将保留目标面图层的原始几何。 这是默认设置。
  • INTERSECT_GEOMETRIES输出要素类将为目标面和输入面的几何交集。 仅在输出中包含目标面中与输入面重叠的区域。
Boolean

代码示例

ApportionPolygon 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
arcpy.ApportionPolygon_analysis(
        "CensusBlockGroups", "Pop2020", "StoreServiceArea", 
        "StoreServiceArea_w_Population", "AREA", "", "", "MAINTAIN_GEOMETRIES")
ApportionPolygon 示例 2(独立脚本)

以下独立脚本将面积加权的人口从“人口普查区块组”图层转移到“商店服务区”面。

# Name: Store Service Area Get Population.py
# Description: Use apportionment to transfer population figures to different 
#              geometry.

# Import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"

# Perform apportionment
inputDataWithPop = "CensusBlockGroups"
popField = "Pop2020"
targetServiceAreas = "Store_ServiceAreas"
outputApp = "Store_ServiceAreas_w_Population"
apportionMethod = "AREA"
keepTargetGeom = "MAINTAIN_GEOMETRIES"
arcpy.ApportionPolygon_analysis(inputDataWithPop, popField, targetServiceAreas, 
                                outputApp, apportionMethod, "", "", 
                                keepTargetGeom)

# Summarize store service area populations by store admin region
outStats = "PopulationPerSalesRegion_tlb"
statsFields = [["Pop2020", "SUM"]]
regionField = "SalesRegion" # Values like North, North-East, etc.
arcpy.Statistics_analysis(outputApp, outStats, statsFields, regionField)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题