地理熊猫:获取一个覆盖地理熊猫GeoDataFrame区域的框,以使用它来反转地图

时间:2019-04-19 09:37:17

标签: geopandas

我正试图反转地图。

cords = [c3
         for c in mapping(denmark['geometry'])['features']
         for c2 in c['geometry']['coordinates']
         for c3 in c2
        ]


xcords = [x[0] for x in cords if isinstance(x[0], float)]
ycords = [y[1] for y in cords if isinstance(y[1], float)]

w3 = gpd.GeoDataFrame(
    [Polygon([[max(xcords), max(ycords)],
         [max(xcords), min(ycords)],
         [min(xcords), min(ycords)],
         [min(xcords), max(ycords)]
         ])],
    columns = ['geometry'],
    geometry='geometry')

我想找出“丹麦”数据框的边界,为此,我可以创建一个覆盖整个丹麦的盒形GeoDataFrame。

然后我将其与“ denmark”相交以得到非丹麦的所有形状,以后可以用来覆盖我不想显示的地图部分。

我尝试浏览GeoDataFrame手动创建此框,但是效果不佳。

M_ASN1_New_Malloc(Poll, CertInfo)

有没有简单,快速的方法来得到这个盒子? 还是tp可以反转GeoDataFrame?

2 个答案:

答案 0 :(得分:2)

GeoDataFrame具有total_bounds属性,该属性返回所有几何的minx,miny,maxx,maxy(所有几何的node = this.getChildOf(node)的min / max)。
要创建此多边形,您可以将这些值传递给shapely.geometry.box函数:

bounds

答案 1 :(得分:0)

看起来GeoDataFrame的属性为“ total_bounds”

denmark.total_bounds

返回

array([ 8.08997684, 54.80001455, 12.69000614, 57.73001659])