目录
一、背景介绍
二、实现
1、取样本点数值
2、取区域均值
一、背景介绍
一般我们在利用Arcgis进行按shp提取多波段的均值或者采样点的数值,这是非常麻烦的。如果图像非常大,当shp的采样点非常多的时候,根本出不了结果。因此,开发python用于数据提取,效果非常好,速度快。
例如下面的例子:
1、提取采样点的数据
对于这种非常多的样点,加上图大,用arcgis根本不现实
2、提取区域的均值等
例如这种进行密度分割的,同样如此
二、实现
1、取样本点数值
# 获取样点坐标
def ExtractPoint(ge,img):x = ge.xy[0][0]y = ge.xy[1][0]row, col = img.index(x,y)return np.array([row, col])[None,:]
最后保存结果为csv文件:
2、取区域均值
out_image, out_transform = mask(src, [ge], crop=True)
代码链接:Python shp矢量提取多波段栅格图像的均值、提取采样点数值