The analysis, research and science-based design of fluvial ecosystems involve complex challenges for interdisciplinary experienced teams. We have created flusstools to meet the complex challenges and to at least partially automate time-consuming, repetitive processes. “We” stands for individuals with a great passion for rivers (German: “Flüsse”) and programming. Most of us work (or have worked) at the University of Stuttgart (Germany) at the Institute for Modelling Hydraulic and Environmental Systems. In the context of our scientific endeavor, we have a strong commitment to transparent open-source applications. With flusstools, we want to share our research-based open-source algorithms with a broad interest group in a well documented form. We welcome new team members (for example to add or amend a module) at any time - read more in the Become a contributor section.
Currently, flusstools comes with the following modules:
geotools - versatile functions for processing spatial data for fluvial ecosystem analyses based on gdal and other open source libraries.
fuzzycorr - a map comparison toolkit that builds on fuzzy sets to assesss the accuracy of (numerical) river models (principal developer: Beatriz Negreiros).
what2plant - finds the best plant species for a fluvial ecosystems (currently implemented only for the Rhine bassin and the Bavarian Pre-Alps - principal developer: Lukas Schoeberl).
The documentation is also as available as style-adapted PDF.
- Plant database
- Code Documentation
- Scripts and functions
- To be able to run the programm, import all the needed packages first.
- In this second step, the table
Pflanzendatendatabase is created.
- The inputquestion() function is used to insert data into the table
- search_db_via_query() is allowing the usage of querys to search in the database for information
- To fill the table with data, run inputquestion() and select which option you want to chose. Note: the name of the provided csv file is “plantdata”, if you want to try inserting data by using an sql command, just type it directly without using quotation marks.
- After successfully inserting data into the database, you can search for plants by running search_db_via_query() and providing it with an habitat name (Alpenvorland, Niederrheinisches Tiefland or Oberrheinisches Tiefland). Note: unfortunately, due to jupyter notebook the output is overlapping and as a result looks a bit rough.
- Defining the class “Plant” is enabling the usage of the habitat_search() function
- habitat_search() is used to search the csv file for data
- search_by_habitat() is asking for the user input and calls habitat_search.
- To search for vegetation in the csv file, run search_by_habitat() and provide it with a habitat name (Alpenvorland, Niederrheinisches Tiefland or Oberrheinisches Tiefland).
- point_in_bound() checks if the provided coordinates are inside of the used shapefile
- The elevation() function transforms the coordinates into rasterdata to provide information about the elevation
- search_by_coordinates() enables the user to provide coordinates and transforms them into float values, afterwards point_in_bound() gets called for all 3 shapefiles
- To actually search for vegetation by coordinates, run search_by_coordinates() and enter x and y coordinates. Note: as the function will tell you in the beginning, you need to use coordinates from the 3857 CRS. The link provided will lead you to a website where you can copy them.
- The function question() provides the option for an easy usage of the tool, asking directly which search option you want to choose
- Run question() if you want to choose for one of the search functions.
More information and examples are available in the docs of every flusstools module.