def test_ST_HausdorffDistance(): import math data1 = ["POLYGON((0 0 ,0 1, 1 1, 1 0, 0 0))", "POINT(0 0)"] data2 = ["POLYGON((0 0 ,0 2, 1 1, 1 0, 0 0))", "POINT(0 1)"] data1 = pandas.Series(data1) data2 = pandas.Series(data2) rst = arctern.ST_HausdorffDistance(arctern.ST_GeomFromText(data1), arctern.ST_GeomFromText(data2)) assert len(rst) == 2 assert rst[0] == 1 assert rst[1] == 1 rst = arctern.ST_HausdorffDistance( arctern.ST_GeomFromText(data1), arctern.ST_GeomFromText("POINT(0 0)")[0]) assert len(rst) == 2 assert math.isclose(rst[0], math.sqrt(2), rel_tol=1e-5) assert rst[1] == 0 rst = arctern.ST_HausdorffDistance( arctern.ST_GeomFromText("POINT(0 0)")[0], arctern.ST_GeomFromText(data2)) assert len(rst) == 2 assert math.isclose(rst[0], 2, rel_tol=1e-5) assert rst[1] == 1.0 rst = arctern.ST_HausdorffDistance( arctern.ST_GeomFromText("POINT(0 0)")[0], arctern.ST_GeomFromText("POINT(0 0)")[0]) assert len(rst) == 1 assert rst[0] == 0
def test_ST_HausdorffDistance(): data1 = ["POLYGON((0 0 ,0 1, 1 1, 1 0, 0 0))", "POINT(0 0)"] data2 = ["POLYGON((0 0 ,0 2, 1 1, 1 0, 0 0))", "POINT(0 1)"] data1 = pandas.Series(data1) data2 = pandas.Series(data2) rst = arctern.ST_HausdorffDistance(data1, data2) assert rst[0] == 1 assert rst[1] == 1
def test_ST_HausdorffDistance(): data1 = ["POLYGON((0 0 ,0 1, 1 1, 1 0, 0 0))", "POINT(0 0)"] data2 = ["POLYGON((0 0 ,0 2, 1 1, 1 0, 0 0))", "POINT(0 1)"] array1 = pyarrow.array(pandas.Series(data1)) array2 = pyarrow.array(pandas.Series(data2)) rst = arctern.ST_HausdorffDistance(array1, array2) assert rst[0] == 1 assert rst[1] == 1
def test_ST_HausdorffDistance(): geo1 = "POLYGON ((0 0,0 1,1 1,1 0,0 0))" geo2 = "POLYGON ((0 0,0 2,2 2,2 0,0 0))" arr1 = [geo1 for x in range(1, 10000001)] arr2 = [geo2 for x in range(1, 10000001)] data1 = pandas.Series(arr1) data2 = pandas.Series(arr2) rst = arctern.ST_HausdorffDistance(arctern.ST_GeomFromText(data1), arctern.ST_GeomFromText(data2)) assert len(rst) == 10000000
def ST_HausdorffDistance(): geo1 = "POLYGON ((113.66220266388723 22.39277623851494, 114.58136061218778 22.39277623851494, 114.58136061218778 22.92800492531275 ,113.66220266388723 22.92800492531275, 113.66220266388723 22.39277623851494))" geo2 = "POINT (1 1)" geo_wkb1 = arctern.ST_GeomFromText(geo1)[0] geo_wkb2 = arctern.ST_GeomFromText(geo2)[0] arr1 = [geo_wkb1 for x in range(1, 40000001)] arr2 = [geo_wkb2 for x in range(1, 40000001)] data1 = pandas.Series(arr1) data2 = pandas.Series(arr2) rst = arctern.ST_HausdorffDistance(data1, data2) assert len(rst) == 40000000
def ST_HausdorffDistance(geo1, geo2): return arctern.ST_HausdorffDistance(geo1, geo2)
def python_test(data1, data2): TIME_START(func_name) arctern.ST_HausdorffDistance(arctern.ST_GeomFromText(data1), arctern.ST_GeomFromText(data2)) TIME_END(func_name) return TIME_INFO()