У меня есть два квадратных многоугольника df1
и df2
. Оба полигона имеют значения 10 (df1) и 20 (df2) в столбце «содержимое». Предположим, у меня есть круг со средней точкой 1.5,1.5
и радиусом 1. Как я могу назначить этому кругу новое значение "content", основанное на перекрытии с другими полигонами? Например, одна треть круга перекрывается с df1, а треть круга перекрывается с df2. В этом случае круг затем получит 10 * 1/3 + 20 * 1/3
в качестве значения для "содержимого".
from shapely.geometry import Polygon
import geopandas
polys1 = geopandas.GeoSeries([Polygon([(0,0), (2,0), (2,2), (0,2)])])
polys2 = geopandas.GeoSeries([Polygon([(1,1), (3,1), (3,3), (1,3)])])
df1 = geopandas.GeoDataFrame({'geometry': polys1, 'df1':[1], 'content':[10]})
df2 = geopandas.GeoDataFrame({'geometry': polys2, 'df2':[1], 'content':[20]})
ax = df1.plot(color='red');
df2.plot(ax=ax, color='green', alpha=0.5);