coincident.plot.compare_dems#
- coincident.plot.compare_dems(dem_dict, gdf_dict=None, add_hillshade=False, downsample_factor=None, altimetry_basemap=None, elevation_cmap='plasma', elevation_clim=None, diff_cmap='RdBu_r', diff_clim=(-10, 10), altimetry_pointsize=1.0, figsize=None, suptitle=None)[source]#
Create a panel figure comparing DEM and altimetry elevations.
The first row shows elevation maps and altimeter points over first DEM hillshade (if basemap==’hillshade’) The second row shows elevation differences against the first DEM, plus ESA Worldcover for context The third row shows the histograms of the elevation differences
- Parameters:
dem_dict (
dict[str,DataArray]) – Dictionary of xr.DataArrays. The first DEM in this list will be the ‘source’ DEM and will served as a reference for differencing e.g. {‘dem_1’:ds1,’dem_2’:ds2,’dem_3’:d3} will result in diff_1 = dem_2 - dem_1 and diff_2 = dem_3 - dem_1gdf_dict (
dict[str,tuple[GeoDataFrame,str]] |None) – Dictionary where keys are subplot names and values are (GeoDataFrame, column_name) pairs. column_name denotes elevation values to plot (e.g. h_li for ICESat-2 ATL06)add_hillshade (
bool) – Whether to add a hillshade underneath the DEMdownsample_factor (
int|None) – Factor by which to downsample the DEMs for plotting to save memory (e.g., 2, 4, etc.)altimetry_basemap (
str|None) – If ‘hillshade’, use reference DEM. Or pass an xyzservices provider name like ‘Esri.WorldImagery’elevation_cmap (
str) – Colormap for elevation.elevation_clim (
tuple[float,float] |None) – Tuple for elevation color limits, otherwise scaled to 2nd and 98th percentilesdiff_cmap (
str) – Colormap for elevation differences.diff_clim (
tuple[float,float]) – Tuple for difference color limits.altimetry_pointsize (
float) – Point size for altimetry points.figsize (
tuple[float,float] |None) – Figure size (width, height) tuple.suptitle (str | None)
- Return type:
- Returns:
Dictionary containing the axes objects for each subplot
Notes
All inputs assumed to have the same CRS and to be aligned
A maximum of 5 total datasets (dem_list + gdf_dict) to be passed