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
