def study_area_gpis(): #=========STUDY AREA GRID POINTS ============ gpi_path = "C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\pointlist_India_warp.csv" gpis = pd.read_csv(gpi_path) gpi_path_p = "C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\pointlist_Pakistan_warp.csv" gpis_p = pd.read_csv(gpi_path_p) gpis = gpis.append(gpis_p) grid = BasicGrid(gpis.lon, gpis.lat, gpis.point) gpis = grid.get_bbox_grid_points(14.7148, 29.3655, 68.15, 81.8419) lon, lat = grid.get_bbox_grid_points(14.7148, 29.3655, 68.15, 81.8419, coords=True) gp = pd.DataFrame(gpis, columns=['gpi']) lon = pd.DataFrame(lon, columns=['lon']) lat = pd.DataFrame(lat, columns=['lat']) gplon = pd.concat([gp, lon], axis=1) gplonlat = pd.concat([gplon, lat], axis=1) gplonlat.to_csv("C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\study_area_gp_lonlat_new.csv")
def study_area_gpis(): #=========STUDY AREA GRID POINTS ============ gpi_path = "C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\pointlist_India_warp.csv" gpis = pd.read_csv(gpi_path) gpi_path_p = "C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\pointlist_Pakistan_warp.csv" gpis_p = pd.read_csv(gpi_path_p) gpis = gpis.append(gpis_p) grid = BasicGrid(gpis.lon, gpis.lat, gpis.point) gpis = grid.get_bbox_grid_points(14.7148, 29.3655, 68.15, 81.8419) lon, lat = grid.get_bbox_grid_points(14.7148, 29.3655, 68.15, 81.8419, coords=True) gp = pd.DataFrame(gpis, columns=['gpi']) lon = pd.DataFrame(lon, columns=['lon']) lat = pd.DataFrame(lat, columns=['lat']) gplon = pd.concat([gp, lon], axis=1) gplonlat = pd.concat([gplon, lat], axis=1) gplonlat.to_csv( "C:\\Users\\s.hochstoger\\Desktop\\0_IWMI_DATASETS\\study_area_gp_lonlat_new.csv" )
def __init__(self, bbox=None): """ Parameters ---------- bbox: tuple, optional (default: None) (min_lon, min_lat, max_lon, max_lat) Bounding box to create subset for, if None is passed a global grid is used. """ ease25 = EASE2_grid(25000) lons, lats = ease25.londim, ease25.latdim lons, lats = np.meshgrid(lons, lats) assert lons.shape == lats.shape shape = lons.shape lats = np.flipud(lats) # flip lats, so that origin in bottom left lons, lats = lons.flatten(), lats.flatten() globgrid = BasicGrid(lons, lats, shape=shape) sgpis = globgrid.activegpis self.bbox = bbox if self.bbox: sgpis = globgrid.get_bbox_grid_points(latmin=self.bbox[1], latmax=self.bbox[3], lonmin=self.bbox[0], lonmax=self.bbox[2]) self.cellsize = 5. super(EASE25CellGrid, self).__init__(lon=globgrid.arrlon, lat=globgrid.arrlat, subset=sgpis, cells=lonlat2cell(globgrid.arrlon, globgrid.arrlat, self.cellsize), shape=shape) self.subset_shape = (len(np.unique(self.activearrlat)), len(np.unique(self.activearrlon)))
def ERA_IrregularImgGrid( lons: np.ndarray, lats: np.ndarray, bbox: Tuple[float, float, float, float] = None, ) -> CellGrid: """ Create a irregular grid from the passed coordinates. """ lons_gt_180 = np.where(lons > 180.0) lons[lons_gt_180] = lons[lons_gt_180] - 360 grid = BasicGrid(lons.flatten(), lats.flatten())\ .to_cell_grid(cellsize=5.0) if bbox is not None: gpis = grid.get_bbox_grid_points( lonmin=bbox[0], latmin=bbox[1], lonmax=bbox[2], latmax=bbox[3] ) grid = grid.subgrid_from_gpis(gpis) return grid