I have a large polygon (A) with a specific area. I also have another polygon (B) with area less than polygon A.
I want to buffer the polygon B so that its area becomes equal to the area of A.
from shapely.geometry import Polygon ulx,uly= -105.645292, 28.094511 lrx, lry = -101.985052, 24.885167 poly_A = Polygon([(ulx,uly),(ulx,lry),(lrx,lry),(lrx,uly)]) print (poly_A.area) ulx,uly= -110.398408, 58.136267 lrx, lry = -108.689382, 57.137692 poly_B = Polygon([(ulx,uly),(ulx,lry),(lrx,lry),(lrx,uly)]) print (poly_B.area) buffer_size = (poly_A.area - poly_B.area) / poly_B.length print (buffer_size) poly_C = poly_B.buffer(buffer_size) print (poly_C.area)
buffer_size, I can get bufferred polygon C with area equals to polygon A.
Note. All polygons dealt are
Both polygons are in