def test_calculate_polygon_areas_world(): import geopandas as gpd world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) world = world[world.continent != 'Antarctica'].to_crs( epsg=3395) # meters as unit! areas = calculate_polygon_areas(world.geometry) assert len(areas) == len(world) assert all(0 <= a < 9e13 for a in areas) areas_km2 = calculate_polygon_areas(world.geometry, m2_to_km2=True) assert len(areas_km2) == len(world) assert all(isclose(a_m, a_km * 1e6) for a_m, a_km in zip(areas, areas_km2))
def test_calculate_polygon_areas_world(): import geopandas as gpd world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres')) world = world[world.continent != 'Antarctica'].to_crs( epsg=3395) # meters as unit! geoms = {i: geom for i, geom in enumerate(world.geometry)} areas = calculate_polygon_areas(geoms) assert isinstance(areas, dict) assert len(areas) == len(world) assert all(0 < a < 9e13 for a in areas.values()) areas_km2 = calculate_polygon_areas(geoms, m2_to_km2=True) assert isinstance(areas_km2, dict) assert len(areas_km2) == len(world) assert all( np.isclose(a_m, a_km * 1e6) for a_m, a_km in zip(areas.values(), areas_km2.values()))
def test_calculate_polygon_areas_empty(): areas = calculate_polygon_areas([]) assert len(areas) == 0
def test_calculate_polygon_areas_nondict(): with pytest.raises(ValueError): calculate_polygon_areas([])