I have 2D raster and I'm interested in plotting on top of it polygon. When I print the geometry and its' type I get this:
#this is inside a loop that takes each time one row which is one polygon
for geom,ids in zip(tmp[col_geometry],tmp[col_plots]):
print('geometry:{},type:{}'.format(geom,type(geom)))
....
geometry:POLYGON ((-53.770698 -12.17007, -53.770694 -12.17005, -53.770695 -12.17006, -53.770698 -12.17007)),type:<class 'shapely.geometry.polygon.Polygon'>
However, when I tried to plot this polygon on top of rasterio ,I received error:
img=rasterio.open(tiff)
fig, ax = plt.subplots(figsize=(12, 8))
rasterio.plot.show(img,transform=img.transform,ax=ax,cmap='Spectral')
#plot all the polygons I have from the geopandas shapefile:
tmp.plot(ax=ax, facecolor='none', edgecolor='red')
#plot the specific one polygon that was selected in this iteration:
geom.plot(ax=ax, facecolor='none', edgecolor='green')
plt.show()
the error:
AttributeError: 'Polygon' object has no attribute 'plot'
How can I plot this geometry on top of the raster (that has already the geopandas dataframe plot on it) ?