@@ -1723,19 +1723,20 @@ def bounding_box_from_countries(country_names, buffer=1.0):
17231723 """
17241724
17251725 country_geometry = get_country_geometries (country_names ).geometry
1726- longitudes , latitudes = [], []
1727- for multipolygon in country_geometry :
1728- if isinstance (multipolygon , Polygon ): # if entry is polygon
1729- for coord in multipolygon .exterior .coords : # Extract exterior coordinates
1730- longitudes .append (coord [0 ])
1731- latitudes .append (coord [1 ])
1732- else : # if entry is multipolygon
1733- for polygon in multipolygon .geoms :
1734- for coord in polygon .exterior .coords : # Extract exterior coordinates
1735- longitudes .append (coord [0 ])
1736- latitudes .append (coord [1 ])
1737-
1738- return latlon_bounds (np .array (latitudes ), np .array (longitudes ), buffer = buffer )
1726+ generator_country_geometry = (
1727+ poly if isinstance (poly , MultiPolygon ) else MultiPolygon ([poly ])
1728+ for poly in country_geometry
1729+ )
1730+ lon , lat = np .concatenate (
1731+ [
1732+ np .array (pg .exterior .coords ).T
1733+ for poly in generator_country_geometry
1734+ for pg in poly .geoms
1735+ ],
1736+ axis = 1 ,
1737+ )
1738+
1739+ return latlon_bounds (lat , lon , buffer = buffer )
17391740
17401741
17411742def bounding_box_from_cardinal_bounds (* , northern , eastern , western , southern ):
0 commit comments