使用Rasterio和Geopandas显示感兴趣区域的光谱

问题描述

我相信这是一个非常简单的问题,但是由于某些原因,我确实很难找到解决方法

我使用Rasterio和Geopandas绘制了一个卫星图像,该图像具有13个波段和位于其顶部的shapefile,如下所示:

shapefile = gpd.read_file('ROI.shp')


# plots both elements
fig,ax = plt.subplots(figsize=(20,10))

ax = Rasterio.plot.show(src.read([4,3,2]),transform=src.transform,title='Image- bands 4,2 ',vmin=0,vmax=30000,with_bounds=True,ax=ax)
shapefile.plot(ax=ax)

enter image description here

这是shapefile的表:


id  ROI geometry
0   4   Urban   polyGON ((34.45501 31.53714,34.48213 31.52649...
1   2   Sea polyGON ((34.41933 31.54509,34.40629 31.50923...
2   3   Agriculture MULTIpolyGON (((34.49357 31.36081,34.49463 31

我的问题是,有什么方法可以绘制我创建的感兴趣区域的光谱?例如海洋,农业和城市区域? 我想获得具有频谱的最终折线图。 我唯一能想到的方法是先将shapefile栅格化,然后将熊猫栅格化并绘制出来,我相信Emsut是与Rasterio取得相同结果的更好方法

当X轴是图像的波段(或波长)而Y轴是该波段上的值时,我想要的输出是折线图。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)