File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99__version__ = "2.3.1"
1010
1111import array
12+ import collections
1213import io
1314import logging
1415import os
@@ -393,12 +394,11 @@ def organize_polygon_rings(rings, return_errors=None):
393394 return polys
394395
395396 # first determine each hole's candidate exteriors based on simple bbox contains test
396- hole_exteriors = dict ([(hole_i , []) for hole_i in xrange (len (holes ))])
397- exterior_bboxes = [ring_bbox (ring ) for ring in exteriors ]
398- for hole_i in hole_exteriors .keys ():
397+ hole_exteriors = collections .defaultdict (list )
398+ for hole_i in xrange (len (holes )):
399399 hole_bbox = ring_bbox (holes [hole_i ])
400- for ext_i , ext_bbox in enumerate (exterior_bboxes ):
401- if bbox_contains (ext_bbox , hole_bbox ):
400+ for ext_i , ring in enumerate (exteriors ):
401+ if bbox_contains (ring_bbox ( ring ) , hole_bbox ):
402402 hole_exteriors [hole_i ].append (ext_i )
403403
404404 # then, for holes with still more than one possible exterior, do more detailed hole-in-ring test
You can’t perform that action at this time.
0 commit comments