আপনার কোনও স্তরে পুনরাবৃত্তি করা দরকার। ( আপডেট : আমি একটি তালিকা বোঝার ব্যতীত সমস্ত "জন্য" লুপগুলি মুছে ফেলার জন্য সম্পাদনা করেছি )
# imports used throughout this example
from shapely.geometry import Point
from shapely.ops import cascaded_union
from itertools import combinations
# Here are your input shapes (circles A, B, C)
A = Point(3, 6).buffer(4)
B = Point(6, 2).buffer(4)
C = Point(1, 2).buffer(4)
# list the shapes so they are iterable
shapes = [A, B, C]
প্রথমে প্রতিটি আকারের সংমিশ্রণ জোড়া ব্যবহার করে আপনাকে সমস্ত ছেদগুলির ইউনিট ( ক্যাসকেড ইউনিয়ন ব্যবহার করুন) প্রয়োজন । তারপরে আপনি সমস্ত আকারের মিলন থেকে (মাধ্যমে ) ছেদগুলি সরিয়ে ফেলুন ।difference
# All intersections
inter = cascaded_union([pair[0].intersection(pair[1]) for pair in combinations(shapes, 2)])
# Remove from union of all shapes
nonoverlap = cascaded_union(shapes).difference(inter)
এখানে nonoverlap
দেখতে দেখতে (জেটিএস টেস্ট বিল্ডারের মাধ্যমে):