def test_hausdorff_distance_densify(): # example from GEOS docs a = shapely.linestrings([[0, 0], [100, 0], [10, 100], [10, 100]]) b = shapely.linestrings([[0, 100], [0, 10], [80, 10]]) with ignore_invalid(): # Hausdorff distance emits "invalid value encountered" # (see https://github.com/libgeos/geos/issues/515) actual = shapely.hausdorff_distance(a, b, densify=0.001) assert actual == pytest.approx(47.8, abs=0.1)
def hausdorff_distance(self, other): """Unitless hausdorff distance to other geometry (float)""" return float(shapely.hausdorff_distance(self, other))
def test_hausdorff_distance_densify_empty(): actual = shapely.hausdorff_distance(point, empty, densify=0.2) assert np.isnan(actual)
def test_hausdorff_distance_empty(): actual = shapely.hausdorff_distance(point, empty) assert np.isnan(actual)
def test_hausdorff_densify_nan(): actual = shapely.hausdorff_distance(point, point, densify=np.nan) assert np.isnan(actual)
def test_hausdorff_distance_missing(): actual = shapely.hausdorff_distance(point, None) assert np.isnan(actual) actual = shapely.hausdorff_distance(point, None, densify=0.001) assert np.isnan(actual)