Skip to content

Commit 06ff1aa

Browse files
shortened code of bounding_box_from_countries
1 parent 26dddc0 commit 06ff1aa

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

climada/util/coordinates.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

17411742
def bounding_box_from_cardinal_bounds(*, northern, eastern, western, southern):

0 commit comments

Comments
 (0)