def distance_regions(r1, r2, fn=min, start=1e9): """Operate on pairwise distances between two regions if fn is =min=, smallest distance is returned, if fn is =max=, largest distance is returned """ dists = [lib.eu_dist(*pair) for pair in itt.product(r1.borders(), r2.borders())] return reduce(fn, dists, start)
def linsize(self,): dists = [lib.eu_dist(*pair) for pair in lib.allpairs(self.borders())] return reduce(max, dists, 0) pass
def distance_regions_centra(r1,r2): """Return distance between centroids of the two regions""" return lib.eu_dist(r1.center(), r2.center())