分配面 (分析)

描述

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

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

插图

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

使用方法

  • 默认情况下,由重叠面积百分比确定属性的值。权重字段可以与该面积一起用于确定每个重叠要素中要求和的属性部分。

  • 对于任何重叠的目标要素,如果权重字段值为 0,则会将要分配值的字段设置为 0。

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

语法

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每个输入面对每个目标要素的汇总值的贡献量取决于两个要素之间的重叠面积。如果输入要素与两个目标要素的重叠面积相同,则分配的字段将一分为二,并且对两个目标要素贡献总值的一半。这是默认设置。
String
estimation_features
(可选)

此参数在 ArcGIS Pro 2.7 中禁用并将在未来版本中受支持。

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: 是

相关主题