ポリゴンのリストが与えられているので、重複しないすべての領域の境界を見つけようとしています。交差するポリゴンの非重複領域の境界
polygon_lst = []
for xyloc in xylocs:
polygon_lst.append(Polygon(xyloc))
thisと同様の問題です。しかし、私はunary_union操作を実行すると、私はエラーを取得する:
from shapely.geometry import LineString
layer = polygon_lst
rings = [LineString(list(pol.exterior.coords)) for pol in layer]
from shapely.ops import unary_union, polygonize
ERROR:shapely.geos:TopologyException: found non-noded intersection between LINESTRING (103.333 327.917, 103 328) and LINESTRING (104.2 327.2, 103 328) at 103.00000000000006 328
私は、互いの上に重ねすべてのポリゴンのマスクを作成する別の方法を試してみました。次に、opencvでCanny検出器とfindContour関数で別の領域を抽出しようとします。しかし、このメソッドによって生成された境界は接続されており(別の領域ごとに1つの境界ではない)、閉じられていません。私はこれらの非重複領域とその境界を見つけることについて行くことができる良い方法だろう何
?