ArcPy|使用ArcPy实现按区域统计并将统计结果添加到原有要素的属性表
使用ArcPy快速实现按区域统计,并将统计结果添加到原有属性表,因为ArcPy的接口中并没有直接添加这一选项,这里是选择输出了一个中间dbf文件,再将中间dbf文件与原有要素连接来实现。
# -*- coding: utf-8 -*-
"""
PROJECT_NAME: ArcPy
FILE_NAME: ZonalSta
AUTHOR: welt
DATE: 2024/7/2
"""
import arcpy
# 定义输入和输出参数
zone_feature = "输入区域数据路径"
raster = "需要统计的区域数据路径"
#中间dbf文件
mid_table = "mid.dbf" # 不用管
# 运行ZonalStatisticsAsTable
arcpy.env.overwriteOutput = True
mid_table = arcpy.sa.ZonalStatisticsAsTable(zone_feature, "OBJECTID", raster, mid_table, "DATA", "MAJORITY")
# 下面是输出的每个参数的意义
# shp: 输入的区域数据(一般为矢量的区域文件),
# zoneField: 区分各个区域的字段(一般为名字或者代码),
# raster: 需要统计的区域,
# outTable: 输出的表(输出到数据库最好扩展名为.dbf),
# "DATA":{是否忽略空值,DATA表示不计算空值},
# "MAJORITY":{需要统计的类型(最大最小平均……按需选择)})
# field_name = "CLASSIFICATION"
# field_type = "DOUBLE"
# arcpy.AddField_management(zone_feature, field_name, field_type)
join_field = "OBJECTID" # 共有字段,通常是矢量数据的FID或OID字段
fields = ["MAJORITY"] # 要加入的字段列表
# 执行连接
arcpy.management.JoinField(zone_feature, join_field, mid_table, join_field, fields)
arcpy.Delete_management(mid_table)
print('finish')
标签:ZonalStatisticsAsTable,ArcPy,mid,dbf,field,计并,table,arcpy
From: https://www.cnblogs.com/tangjielin/p/18287546