How to implement __eq__ in shapely (python) -
i have question regarding shapely , usage of == operator. there exists function test equality of geometric object: .equals(). == not work.
point((0, 2)).equals(point((0,2)) returns true.
however:
point((0, 2)) == point((0, 2)) returns false
i able use == operator check if point present in list. 1 use case be:
if point not in list_of_points: list_of_points.append(point) as far understand, not work because == returns false. know there exists alternative in using any() function, prefer in keyword:
if not any(point.equals(point) point in list_of_points): list_of_points.append(point) would large effort implement __eq__ in shapely/geometry/base.py? think of naive implementation of __eq__?
class basegeometry(object): def __eq__(self, other): return self.equals(other) or
class basegeometry(object): def __eq__(self, other): return bool(self.impl['equals'](self, other))
one side effect of implementing __eq__ point can no longer key in dictionary. if want feature, can add this:
def __hash__(self): return hash(id(self))
Comments
Post a Comment