Package: hydxlib
A library for the GWSW-hydx exchange formatRioNED is going to release a new format for exchanging sewerage data called GWSW-hydx.
hydxlib can be used to import sewerage data from a hydx format (*.csv) to
3Di native spatialite files, or alternatively JSON.For more information about GWSW-hydx:https://apps.gwsw.nl/item_hyddefFor more information about the database scheme of 3Di:https://docs.3di.live/Purporse of this script is to exchange information between different formats.
This means that this library doesn’t improve lacking or incorrect data.
For example, it doesn’t remove double manholes on the same location.
This libary does provide all kinds of checks with warning and error messages.This tool is currently in development.
Therefore only nodes, weirs, orifices and pumpstations are currently supported.Installationhydxlib is installed with:$ pip install hydxlibRunning scriptIt’s possible to run this tool on command line or with python.Commandline:$ run-hydxlib path/to/hydx/dir path/to/threedi.sqlitePython:from hydxlib import run_import_export

run_import_export("threedi", "path/to/hydx/dir", "path/to/threedi.sqlite")Installation for developmentClonehydxlibfrom github and then install locally using pip + virtualenv:$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -e .[test]There will be a script you can run like this:$ run-hydxlib ...It runs themain()function inhydxlib/scripts.py,
adjust that if necessary. The script is configured insetup.py(seeentry_points).Run the tests regularly:$ pytest hydxlib --covThe code is linted automatically on each PR. To enable autoformatting locally,
installpre-commit:$ pre-commit installChangelog of hydxlib1.5.1 (2023-05-17)Updated required threedi-schema version to 0.217.*1.5.0 (2023-04-12)Extra release to signal updated requirements.1.4.5 (2023-03-31)Make exporter work with SQLAlchemy 2.*Updated required threedi-schema version to 0.216.*1.4.4 (2023-02-20)Fix error for missing “VerloopVolume” (VER_VOL).1.4.3 (2023-02-01)Fixed packaging (hydxlib was not listed as package in setup).1.4.2 (2023-02-01)Updated required threedi-schema version to 0.214.*1.4.1 (2023-01-31)Updated strictly required threedi-schema version to 0.214.31.4 (2023-01-27)Added threedi-schema as a dependency, removing threedi-modelcheckerFixed writing logging to file1.3 (2022-12-12)Fixed all tabulated profiles (TAB, HEU, MVR, UVR, OVA) and added TPZ and YZP.Added inverted egg (EIG) profile.Added trapezium profile in case no tabulated profile is given.Add all cross sections to the 3Di spatialite and use the identifications from the
input file.Check if a profile is open/closed depending on the verbinding type (OPL or not).1.2 (2022-12-06)Added Heul (HEU), U-Vorm (UVR), Ovaal (OVA) profielen, fixed Muil (MVR),
removed trapezium (TPZ).Fixed empty connection_node.the_geom column.1.1 (2022-11-09)Log through the hydxlib.* logger instead of the root logger.Emit error log if a value is required according to GWSW, but missing.Made log messages more comprehensible by using terminology from GWSW instead
of internal model and field names.Set KNP_MAT to not required.Emit more comprehensible error if a verbinding with types GSL, OPL, ITR,
or DRL has no profile.1.0 (2022-10-25)Backport changes fromhttps://github.com/threedi/beta-plugins.Added threedi-modelchecker as a dependency, and used the 3Di schema in
it as a replacement for hydxlib.sql_models.Removed PostGRES support (only spatialite remains).Replaced GDAL with pyproj.An ‘RHK’ profile is now interpreted as a closed (instead of open) rectangle.Add JSON export format.0.7 (2020-03-03)Closing database connectionUpdating bug in rectangular cross sections0.6 (2019-11-22)Using the final version of the hydx format.0.5 (2019-02-12)Bug fix discharge coefficient orifices in Threedi.0.4 (2019-01-18)Small fixes.0.3 (2019-01-09)Added docstrings and updated the readme.0.2 (2019-01-09)Enabled automatic pypi.org uploads from travis-ci.com0.1 (2019-01-09)Initial project structure created with cookiecutter andhttps://github.com/nens/cookiecutter-python-template.Set up automatic testing with travis:https://travis-ci.com/nens/hydxlib.First working version with hydx import and 3Di postgres output.
In this version only nodes, weirs, orifices and pumpstations are supported.