def test_ST_Envelope_Aggr(): geo = "POLYGON ((0 0,0 1,1 1,1 0,0 0))" arr = [geo for x in range(1, 10000001)] data = pandas.Series(arr) rst = arctern.ST_AsText( arctern.ST_Envelope_Aggr(arctern.ST_GeomFromText(data))) assert len(rst) == 1
def test_ST_Envelope_Aggr(): p1 = "POLYGON ((0 0,4 0,4 4,0 4,0 0))" p2 = "POLYGON ((5 1,7 1,7 2,5 2,5 1))" data = pandas.Series([p1, p2]) rst = arctern.ST_AsText( arctern.ST_Envelope_Aggr(arctern.ST_GeomFromText(data))) assert rst[0] == "POLYGON ((0 0,0 4,7 4,7 0,0 0))"
def test_tuple(self): p1 = "POLYGON ((0 0,4 0,4 4,0 4,0 0))" p2 = "POLYGON ((5 1,7 1,7 2,5 2,5 1))" data = (p1, p2) rst = arctern.ST_AsText( arctern.ST_Envelope_Aggr(arctern.ST_GeomFromText(data))) assert rst[0] == "POLYGON ((0 0,0 4,7 4,7 0,0 0))"
def test_ndarray(self): p1 = "POLYGON ((0 0,4 0,4 4,0 4,0 0))" p2 = "POLYGON ((5 1,7 1,7 2,5 2,5 1))" import numpy as np data = np.array([p1, p2]) rst = arctern.ST_AsText(arctern.ST_Envelope_Aggr(arctern.ST_GeomFromText(data))) assert rst[0] == "POLYGON ((0 0,0 4,7 4,7 0,0 0))"
def envelope_aggr(self): """ Compute the double-precision minimum bounding box geometry for the union of all geometries. :rtype: GeoSeries :return: A GeoSeries contains only one geometry. :example: >>> from arctern import GeoSeries >>> p1 = "POLYGON ((0 0,4 0,4 4,0 4,0 0))" >>> p2 = "POLYGON ((5 1,7 1,7 2,5 2,5 1))" >>> s = GeoSeries([p1, p2]) >>> s.envelope_aggr() 0 POLYGON ((0 0,0 4,7 4,7 0,0 0)) dtype: GeoDtype """ return GeoSeries(arctern.ST_Envelope_Aggr(self))
def ST_Envelope_Aggr(geos): return arctern.ST_Envelope_Aggr(geos)
def python_test(data): TIME_START(func_name) arctern.ST_AsText(arctern.ST_Envelope_Aggr(arctern.ST_GeomFromText(data))) TIME_END(func_name) return TIME_INFO()
def test_ST_Envelope_Aggr(): p1 = "POLYGON ((0 0,4 0,4 4,0 4,0 0))" p2 = "POLYGON ((5 1,7 1,7 2,5 2,5 1))" data = pandas.Series([p1, p2]) rst = arctern.ST_Envelope_Aggr(pyarrow.array(data)) assert rst[0] == "POLYGON ((0 0,0 4,7 4,7 0,0 0))"