def test_vector__get_bounds_local(self): """""" def makegdf(lats, lngs): """make a geodataframe from coords""" from shapely.geometry import Point df = pd.DataFrame({'Latitude': lats, 'Longitude': lngs}) df['Coordinates'] = list(zip(df.Longitude, df.Latitude)) df['Coordinates'] = df['Coordinates'].apply(Point) return gpd.GeoDataFrame(df, geometry='Coordinates') # normal usage llayer1 = vector.LocalLayer(makegdf([-10, 0], [-10, 0])) llayer2 = vector.LocalLayer(makegdf([0, 10], [0, 10])) self.assertDictEqual(vector._get_bounds_local([llayer1, llayer2]), { 'west': -10, 'south': -10, 'east': 10, 'north': 10 }, msg='local bounding boxes combine') # single layer llayer1 = vector.LocalLayer(makegdf([-10, 10], [-10, 10])) self.assertDictEqual(vector._get_bounds_local([ llayer1, ]), { 'west': -10, 'south': -10, 'east': 10, 'north': 10 }, msg='local bounding boxes combine') # no layers self.assertDictEqual(vector._get_bounds_local([]), { 'west': None, 'south': None, 'east': None, 'north': None })
def test_vector_local(self): """contrib.vector local with""" cc = cartoframes.CartoContext(base_url=self.baseurl, api_key=self.apikey) with self.assertRaises(ValueError): df = cc.query(''' select the_geom, the_geom_webmercator, cartodb_id from {} '''.format(self.local), decode_geom=True) layers = [ vector.Layer(self.points, color='red', size=10, strokeColor='blue'), vector.QueryLayer( 'SELECT * FROM {}'.format(self.polys), time='torque($cartodb_id, 10)', strokeWidth=2), vector.LocalLayer(df) ] self.assertIsInstance(vector.vmap(layers, cc), HTML)
def test_vector__get_super_bounds(self): """""" cc = cartoframes.CartoContext(base_url=self.baseurl, api_key=self.apikey) qlayer = cartoframes.QueryLayer(''' SELECT the_geom, ST_Transform(the_geom, 3857) as the_geom_webmercator, 1 as cartodb_id FROM ( SELECT ST_MakeEnvelope(-10, -10, 0, 0, 4326) as the_geom ) _w ''') ans = '[[-10.0, -10.0], [0.0, 0.0]]' self.assertEqual(ans, vector._get_super_bounds([ qlayer, ], cc), msg='super bounds are equal') if HAS_GEOPANDAS: ldata = gpd.GeoDataFrame( cc.query(''' SELECT the_geom, ST_Transform(the_geom, 3857) as the_geom_webmercator, 1 as cartodb_id FROM ( SELECT ST_MakeEnvelope(0, 0, 10, 10, 4326) as the_geom ) _w ''', decode_geom=True)) llayer = vector.LocalLayer(ldata) ans = '[[-10.0, -10.0], [10.0, 10.0]]' self.assertEqual(ans, vector._get_super_bounds([qlayer, llayer], cc), msg='super bounds are equal')