标注 | 说明 | 数据类型 |
输入面 | 具有将汇总到目标面几何中的 数值属性的面要素。 | Feature Layer |
要分配的字段 | 输入面中的数值字段,按每个目标面汇总并记录在输出要素类中。 可选统计类型如下:
| Value Table |
目标面 | 将复制到输出要素类的面要素及其分配的字段。 | Feature Layer |
输出要素类 | 包含目标面的属性和几何以及输入面中的指定分配字段的输出要素类。 | Feature Class |
分配方法 | 指定用于将字段从输入面分配到目标面的方法。
| String |
估计要素 (可选) | 输入点或折线要素,将用于估计要分配给目标面的输入面分配字段的百分比。 此为交集内将除以输入要素内的数量以得出百分比的点或线的数量。 | Feature Layer |
权重字段 (可选) | 目标面图层中的数值字段,将用于调整接收输入面的要分配字段中的较大分配值的目标面。 向权重较高的目标分配的字段值比例较高。 如果指定了估计要素,则权重字段是估计要素的数值字段,将用于调整分配给与估计要素相交的目标面的值。 | Field |
保留目标几何 (可选) | 指定输出要素类是否将保留目标面图层的原始几何。
| Boolean |
摘要
基于目标面图层的空间叠加来汇总输入面图层的属性,并将汇总的属性分配给目标面。 目标面具有从每个目标重叠的输入面派生的求和数值属性。 此过程通常称为分配。
可使用该工具基于一个要素与另一个要素的叠加百分比和已知人口估计该要素的人口。
插图
使用情况
默认情况下,将由重叠面积百分比来确定所传输属性的百分比。 另外,您可以使用估算要素参数,根据点的比例或线的长度来计算百分比。
默认情况下,分配属性的统计方法是求和。 当分配方法参数设置为面积时,均值和中位数统计也可用。
系统将对来自输入面的权重字段进行归一化,并将其用于调整所传输的属性量。 权重字段为 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 [[field, {statistic_type}],...] | 输入面中的数值字段,按每个目标面汇总并记录在输出要素类中。 可选统计类型如下:
| Value Table |
target_features | 将复制到输出要素类的面要素及其分配的字段。 | Feature Layer |
out_features | 包含目标面的属性和几何以及输入面中的指定分配字段的输出要素类。 | Feature Class |
method | 指定用于将字段从输入面分配到目标面的方法。
| String |
estimation_features (可选) | 输入点或折线要素,将用于估计要分配给目标面的输入面分配字段的百分比。 此为交集内将除以输入要素内的数量以得出百分比的点或线的数量。 | Feature Layer |
weight_field (可选) | 目标面图层中的数值字段,将用于调整接收输入面的要分配字段中的较大分配值的目标面。 向权重较高的目标分配的字段值比例较高。 如果指定了估计要素,则权重字段是估计要素的数值字段,将用于调整分配给与估计要素相交的目标面的值。 | Field |
maintain_geometries (可选) | 指定输出要素类是否将保留目标面图层的原始几何。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何使用 ApportionPolygon 函数。
import arcpy
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
arcpy.analysis.ApportionPolygon(
"CensusBlockGroups", "Pop2020", "StoreServiceArea",
"StoreServiceArea_w_Population", "AREA", "", "", "MAINTAIN_GEOMETRIES")
以下独立脚本将面积加权的人口从“人口普查区块组”图层转移到“商店服务区”面。
# 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.analysis.ApportionPolygon(inputDataWithPop, popField, targetServiceAreas,
outputApp, apportionMethod, "", "",
keepTargetGeom)
# Summarize store service area populations by store admin region
outStats = "PopulationPerSalesRegion_tlb"
statsFields = [["Pop2020", "SUM"]]
regionField = "SalesRegion" # Values such as North, North-East, etc.
arcpy.analysis.Statistics(outputApp, outStats, statsFields, regionField)
以下独立脚本示例展示了如何使用均值和中位数来估算分配字段。
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
# Perform apportionment
inputDataWithPop = "CensusBlockGroups"
popField = [["POP2000", "MEAN"], ["SUM_Incide", "MEDIAN"]]
targetServiceAreas = "Store_ServiceAreas"
outputApp = "Store_ServiceAreas_w_Population"
apportionMethod = "AREA"
keepTargetGeom = "MAINTAIN_GEOMETRIES"
arcpy.analysis.ApportionPolygon(inputDataWithPop, popField, targetServiceAreas,
outputApp, apportionMethod, "", "",
keepTargetGeom))
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是