在数据分析的时候,我们可能面临数据量很大的问题。因而,需要分析当中的一部分的数据。
下面的分析目的在于先分析特定字段中特定值的分析,也可以为其他的做参考。
python
import arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
# -----------------------------
# 输入路径(请按你的实际情况修改)
# -----------------------------
in_raster = r"../data/tmp20.tif" # 输入栅格
in_vector = r"../data/2017省级行政区划.shp" # 输入矢量(包含字段 name)
mask_temp = r"../data/tempshp.shp" # 临时掩膜图层
out_raster = r"../data/masked.tif" # 输出栅格
# -----------------------------
arcpy.env.overwriteOutput = True
# 1. 根据字段 name 选择 "hunan" 区域
arcpy.management.MakeFeatureLayer(in_vector, "vec_lyr")
arcpy.management.SelectLayerByAttribute(
"vec_lyr",
"NEW_SELECTION",
"WYZ = '11'"
)
# 2. 将选择结果保存成临时掩膜
arcpy.management.CopyFeatures("vec_lyr", mask_temp)
# 3. 执行 ExtractByMask
masked_result = ExtractByMask(in_raster, mask_temp)
# 4. 保存结果
masked_result.save(out_raster)
print("掩膜分析完成!输出文件为:", out_raster)
# 5. 删除临时文件
arcpy.management.Delete(mask_temp)