У меня есть два файла формы, которые содержат многоугольники. Я пытаюсь найти дельту из этого.
Попытка сделать это с помощью следующего кода, но не работает так, как я ожидал.
Ниже приведены два файла формы, один из которых синий, это файл формы буфера, мне нужно удалить ту область буфера, которая пересекается с синим buffer.i.e. нужно получить разницу в геометрии так же, как Qgis разница функция
![enter image description here](https://i.stack.imgur.com/0VgwV.png)
import fiona
from shapely.geometry import shape, mapping, Polygon
green = fiona.open(
"/home/gulve/manual_geo_ingestion/probe-data/images/r/shape_out/dissolved.shp")
blue = fiona.open(
"/home/gulve/manual_geo_ingestion/probe-data/images/g/shape/shape.shp")
print([not shape(i['geometry']).difference(shape(j['geometry'])).is_empty for i, j in zip(list(blue), list(green))])
schema = {'geometry': 'Polygon',
'properties': {}}
crs = {'init': u'epsg:3857'}
with fiona.open(
'/home/gulve/manual_geo_ingestion/probe-data/images/r/shape_out/diff.shp', 'w',
driver='ESRI Shapefile', crs=crs, schema=schema
) as write_shape:
for geom in [shape(i['geometry']).difference(shape(j['geometry'])) for i, j in zip(list(blue), list(green))]:
if not geom.empty:
write_shape.write({'geometry': mapping((shape(geom))), 'properties': {}})
Ожидаемый результат:
![enter image description here](https://i.stack.imgur.com/baOO9.png)