Python 3 покрытие полигонов гексанонами

Всем привет. Долго мучаюсь с полигонами в питоне 3. Есть geojson со списком полигонов и мультиполигонов. Нужно покрыть эти полигоны гексагонами ОПРЕДЕЛЕННОГО уровня. На текущий момент гексагоны уровня 5, но могуть быть другие. Если я сейчас пересекаю полигоны гексагонами 5 уровня, то у некоторых полигонов вообще не находит гексагонов. Когда стал дебажить вывод, сделал вывод, что гексагон выдается только в том случае, если площадь полигонов покрывает 50% площади гексагона. А как сделать то же самое, только самому задать степень перекрытия? Хочется, чтобы была возможность получить все гексагоны, где хотя бы 1 пиксель занят полигоном. В идеале, хочется вручную задать область перекрытия.

Код, с помощью которого я получаю гексагоны:

def hex_id(df_polygon, resolution):
global h3_id_df
global msc

list_set_h3_id = []
list_h3_id = []
gdf = geopandas.GeoDataFrame(df_polygon, geometry = 'geometry')
exploded = gdf.explode()
polygons_list = exploded['geometry'].astype('str').tolist()

for i in polygons_list:
    msc = geojson.Feature(geometry = shapely.wkt.loads(i), properties={})
    list_set_h3_id.append(h3.polyfill_geojson(msc.geometry, resolution))
    
df_polygon['geo_id'] = list_set_h3_id

for i in list_set_h3_id:
    for i in (list(i)):
        list_h3_id.append(i)
        
h3_id_df = pd.DataFrame({'geo_id':list_h3_id})

return h3_id_df

Входные и выходные данные (из этой функции) выглядят следующим образом1


Ответы (0 шт):