def test_read_to_grid(self): g = GeoTiff(utils.get_demo_file('hef_srtm.tif')) sf = utils.get_demo_file('Hintereisferner_UTM.shp') df1 = read_shapefile_to_grid(sf, g.grid) df2 = transform_geopandas(read_shapefile(sf), to_crs=g.grid) assert_allclose(df1.geometry[0].exterior.coords, df2.geometry[0].exterior.coords) # test for caching d = g.grid.to_dict() # change key ordering by chance d2 = dict((k, v) for k, v in d.items()) from salem.sio import _memory_shapefile_to_grid, cached_shapefile_path shape_cpath = cached_shapefile_path(sf) res = _memory_shapefile_to_grid.call_and_shelve(shape_cpath, grid=g.grid, **d) h1 = res.argument_hash res = _memory_shapefile_to_grid.call_and_shelve(shape_cpath, grid=g.grid, **d2) h2 = res.argument_hash self.assertEqual(h1, h2)
def test_read_to_grid(self): g = GeoTiff(utils.get_demo_file("hef_srtm.tif")) sf = utils.get_demo_file("Hintereisferner_UTM.shp") df1 = read_shapefile_to_grid(sf, g.grid) df2 = transform_geopandas(read_shapefile(sf), to_crs=g.grid) assert_allclose(df1.geometry[0].exterior.coords, df2.geometry[0].exterior.coords)
def test_read_to_grid(self): g = GeoTiff(utils.get_demo_file('hef_srtm.tif')) sf = utils.get_demo_file('Hintereisferner_UTM.shp') df1 = read_shapefile_to_grid(sf, g.grid) df2 = transform_geopandas(read_shapefile(sf), to_crs=g.grid) assert_allclose(df1.geometry[0].exterior.coords, df2.geometry[0].exterior.coords)
def test_text(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), x0y0=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4, countries=False) c.set_lonlat_contours(interval=5., colors='crimson', linewidths=1) c.set_text(-5, -5, 'Less Middle', color='green', style='italic', size=25) c.set_geometry(shpg.Point(-10, -10), s=500, marker='o', text='My point', text_delta=[0, 0]) shape = read_shapefile_to_grid(shapefiles['world_borders'], c.grid) had_c = set() for index, row in shape.iloc[::-1].iterrows(): if row.CNTRY_NAME in had_c: c.set_geometry(row.geometry, crs=c.grid) else: c.set_geometry(row.geometry, text=row.CNTRY_NAME, crs=c.grid, text_kwargs=dict(horizontalalignment='center', verticalalignment='center', clip_on=True, color='gray'), text_delta=[0, 0]) had_c.add(row.CNTRY_NAME) c.set_points([20, 20, 10], [10, 20, 20], s=250, marker='s', c='purple', hatch='||||', text='baaaaad', text_delta=[0, 0], text_kwargs=dict(horizontalalignment='center', verticalalignment='center', color='red')) fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_text() assert len(c._text) == 0 c.set_geometry() assert len(c._geometries) == 0 return fig
def test_text(): # UL Corner g = Grid(nxny=(5, 4), dxdy=(10, 10), ll_corner=(-20, -15), proj=wgs84, pixel_ref='corner') c = Map(g, ny=4, countries=False) c.set_lonlat_contours(interval=5., colors='crimson') c.set_text(-5, -5, 'Less Middle', color='green', style='italic', size=25) c.set_geometry(shpg.Point(-10, -10), s=500, marker='o', text='My point', text_delta=[0, 0]) shape = read_shapefile_to_grid(shapefiles['world_borders'], c.grid) had_c = set() for index, row in shape.iloc[::-1].iterrows(): if row.CNTRY_NAME in had_c: c.set_geometry(row.geometry, crs=c.grid) else: c.set_geometry(row.geometry, text=row.CNTRY_NAME, crs=c.grid, text_kwargs=dict(horizontalalignment='center', verticalalignment='center', clip_on=True, color='gray'), text_delta=[0, 0]) had_c.add(row.CNTRY_NAME) c.set_points([20, 20, 10], [10, 20, 20], s=250, marker='s', c='purple', hatch='||||', text='baaaaad', text_delta=[0, 0], text_kwargs=dict(horizontalalignment='center', verticalalignment='center', color='red')) fig, ax = plt.subplots(1, 1) c.visualize(ax=ax, addcbar=False) plt.tight_layout() c.set_text() assert len(c._text) == 0 c.set_geometry() assert len(c._geometries) == 0 return fig
cfg.initialize() cfg.PATHS['working_dir'] = utils.get_temp_dir('racmo') gdirs = workflow.init_glacier_regions(['RGI60-05.10315'], from_prepro_level=3, prepro_border=10) gdir = gdirs[0] #Reading RACMO mask # The mask and geo reference data ds_geo = xr.open_dataset(mask_file, decode_times=False) proj = pyproj.Proj('+init=EPSG:3413') ds_geo.attrs['pyproj_srs'] = proj.srs # Reading coastline coast_line = salem.read_shapefile_to_grid(filename_coastline, gdir.grid) # Selecting a zoom portion of the topo data fitting the ice cap ds_geo_sel = ds_geo.salem.subset(grid=gdir.grid, margin=2) # Reading ice cap outline and assinging the rgi grid shape_cap = salem.read_shapefile_to_grid(ice_cap, gdir.grid) # Processing vel data src = rasterio.open(vel_file) # Retrieve the affine transformation if isinstance(src.transform, Affine): transform = src.transform else: