pydroscape constitutes Python3 functions for many sorts of river-related analyses, including tools for geodata statistics, plotting and processing of other data.
Installed as local package, the functionalities can be accessed in Python with
pydroscape.e_..., where the following functions are available:
e_geostat: Calculate raster statistics and correlation between two rasters.
e_plot: x-y, 2D (heatmap), and 3D plots with numpy and matplotlib.
e_xlsx: Process workbooks.
e_data: Process experimental data recorded with any kind of data logger.
pydroscape comes with built-in geospatial functions for converting vector (polygon, point or line shapefiles) to rasters (GeoTIFF), and vice versa. These functions are available as:
pydroscape.raster2vector(src_raster, target_dir, dst_layername, field_name="gridcode")and
pydroscape.vector2raster(input_shp, output_dir, output_raster_name, reference_raster, gdalformat='GTiff', burn_value=1)
The current setup of
pydroscape is quite simple (but not robust though): Download this repository, or (at least a little bit) more robust, clone this repository. Make sur to install Git Bash to leverage the power of GitHub. Then:
cd "D:/Target/Directory/"to change to the target installation directory
git clone https://github.com/sschwindt/pydroscape.git
import os, system sys.path.append("D:/Target/Directory/") # Of course: replace "D:/Target/Directory/" ...
Alternatively, one may use only parts of
pydroscape and embed code functions directly in other packages - feel free to do so. Then, add “thank you pydroscape” (well, this phrase is not serious…).
There are better ways to add
pydroscape as a sitepackage to Python and future developments aim at automated setup.
pydroscape exclusively uses freely available packages and software (among others: QGIS).
Example for reading matrix data from a workbook and plotting the data on a heatmap:
import pydroscape as pye a_workbook = pye.e_xlsx.read_book('D:/Documents/a_workbook.xlsx') a_workbook_data_matrix = workbook.read_matrix(start_col='C', start_row=4) # reads all coherent data from a workbook x_data_labels = a_workbook.read_row_str(3, 'C') y_data_labels = a_workbook.read_column('B', 4) a_workbook.close() a_plot = pye.e_plot.Plotter() a_plot.width = 6.0 # figure width in inches a_plot.height = 9.0 # figure height in inches a_plot.font_size = 11.0 # set font_size a_plot.legend_active = True # put a legend a_plot.y_label = 'A data y label' a_plot.colobar_label = 'Pearson r [--]' # Define a colorbar label a_plot.colorbar_aspect = 20 # modify a colorbar shape a_plot.save_fig_dir = 'D:/this_is_where_I_store/figures.png' # name of the heatmap a_plot.make_heatmap(a_workbook_data_matrix, x_data_labels, y_data_labels) # creates and saves the heatmap
The Wiki contains details about installing and using