Checks validity of a threedi-model
Project description
Threedi-modelchecker is a tool to verify the correctness of a 3Di model. The goal is to provide a tool for model builders to quickly check if his/her model is correct and can run a 3Di simulation. It provides detailed information about any potential errors in the model.
Threedi-modelchecks works with both spatialite and postgis databases. However, the database should always have the latest 3Di migration: https://docs.3di.lizard.net/en/stable/d_before_you_begin.html#database-overview
Installation:
pip install threedi-modelchecker
Threedi-modelchecker is also integrated into the ThreediToolbox Qgis plugin: https://github.com/nens/ThreeDiToolbox
Example
The following code sample shows how you can use the modelchecker to run all configured checks and print an overview of all discovered errors:
from threedi_modelchecker.exporters import format_check_results
from threedi_modelchecker import ThreediModelChecker
from threedi_modelchecker import ThreediDatabase
sqlite_file = "<Path to your sqlite file>"
database = ThreediDatabase(
connection_settings={"db_path": sqlite_file}, db_type="spatialite"
)
model_checker = ThreediModelChecker(database)
for check, error in model_checker.errors(level="WARNING"):
print(format_check_results(check, error))
Command-line interface
Use the modelchecker from the command line as follows:
threedi_modelchecker -s path/to/model.sqlite check -l warning
By default, WARNING and INFO checks are ignored.
Migrations
Migrate the schematisation file to the latest version as follows:
threedi_modelchecker -s path/to/model.sqlite migrate
The file will be change in-place.
Development
A docker image has been created for easy development. It contains an postgis server with an empty 3Di database to allow for easy testing.
Build the image:
docker-compose build
Run the tests:
docker-compose run modelchecker pytest
See Creating revisions for instructions on how to change the 3Di model schematisation.
Release
Make sure you have zestreleaser installed.
fullrelease
When you created a tag, make sure to upload it to pypi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file threedi-modelchecker-0.26.1.tar.gz.
File metadata
- Download URL: threedi-modelchecker-0.26.1.tar.gz
- Upload date:
- Size: 62.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7398d3abcd06fe2844d03e0be155f0d371278c146ea9135b382e8e1d4371298
|
|
| MD5 |
1eef9775a4d437856c51ce0614574c4e
|
|
| BLAKE2b-256 |
877ed0578d25233e00a0b7a079c0dc85633d0c0d7a0dfb46dd75fa42794b76f8
|
File details
Details for the file threedi_modelchecker-0.26.1-py2.py3-none-any.whl.
File metadata
- Download URL: threedi_modelchecker-0.26.1-py2.py3-none-any.whl
- Upload date:
- Size: 71.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cc3dba0b206a139c67586c38309cb6ebb72ad907ea5dfb33c0a1c24d6783194
|
|
| MD5 |
22a7f7b4b67f84edc9b5f0cbc473c3b1
|
|
| BLAKE2b-256 |
97f92d7bf397f9379448722990ec8c419529a7da8fa4b94e2567fe907891dd80
|