def _select_exact_area(countries=None, reg=None): """Extract coordinates of selected countries or region from NatID grid. If countries are given countries are cut, if only reg is given, the whole region is cut. Parameters: countries: List of countries reg: List of regions Raises: KeyError Returns: centroids """ lat, lon = get_region_gridpoints(countries=countries, regions=reg, basemap="isimip", resolution=150) if reg: country_isos = region2isos(reg) else: country_isos = countries if countries else [] natIDs = country_iso2natid(country_isos) centroids = Centroids() centroids.set_lat_lon(lat, lon) centroids.id = np.arange(centroids.lon.shape[0]) # centroids.set_region_id() return centroids, country_isos, natIDs
def _set_one_country(countryISO, ref_year, path=None): """Extract coordinates of selected countries or region from NatID grid. Parameters: countryISO(str): ISO3 of country ref_year(int): year under consideration path(str): path for gdp-files Raises: KeyError, OSError Returns: np.array """ natID = country_iso2natid(countryISO) natID_info = pd.read_csv(RIVER_FLOOD_REGIONS_CSV) reg_id, if_rf = _fast_if_mapping(natID, natID_info) lat, lon = get_region_gridpoints(countries=[natID], iso=False, basemap="isimip") coord = np.stack([lat, lon], axis=1) assets = _read_GDP(coord, ref_year, path) reg_id_info = np.full((len(assets),), reg_id) if_rf_info = np.full((len(assets),), if_rf) exp_gdpasset = GDP2Asset() exp_gdpasset['value'] = assets exp_gdpasset['latitude'] = coord[:, 0] exp_gdpasset['longitude'] = coord[:, 1] exp_gdpasset[INDICATOR_IF + DEF_HAZ_TYPE] = if_rf_info exp_gdpasset['region_id'] = reg_id_info return exp_gdpasset