The main use case of otlmow-modelbuilder is to provide create the class model of otlmow_model, by reading in a OTL SQLite or subset.
This project aims to implement the Flemish data standard OTL (https://wegenenverkeer.data.vlaanderen.be/) in Python. It is split into different packages to reduce compatibility issues
- otlmow_model
- otlmow_modelbuilder (you are currently looking at this package)
- otlmow_converter
- otlmow_template
- otlmow_postenmapping
- otlmow_davie
- otlmow_visuals
- otlmow_gui
OTLMOW-ModelBuilder has one dependency besides the standard Python libraries: rdflib. It will be automatically installed when installing this library. Currently, you need at least Python version 3.6 to use this library.
To install the OTL MOW project into your Python project, use pip to install it:
pip install otlmow_modelbuilder
To upgrade an existing installation use:
pip install otlmow_modelbuilder --upgrade
In order to create a model, the ModelBuilder requires two Path parameters:
- otl_subset_location: the location of OTL SQLite file that is used to build the model with (this can be a subset)
- directory: the location where the model will be created
Note that the given directory will be emptied if needed.
Additionally, it is possible to also add the location of the Geometry Artefact. If used, the classes will inherit from the various geometry type classes to add validation to the property 'geometry'.
logging.basicConfig(level=logging.INFO, format='%(message)s')
current_dir = Path(__file__).parent
otl_subset_path = Path(current_dir / 'InputFiles' / 'OTL 2.11.db')
GA_file_path = Path(current_dir / 'InputFiles' / 'Geometrie_Artefact_2.11.db')
model_directory = Path(current_dir.parent.parent / 'OTLMOW-Model/otlmow_model')
settings_path = Path(current_dir / 'settings_otlmow_modelbuilder.json')
ModelBuilder.build_otl_datamodel(otl_subset_location=otl_subset_path, geometry_artefact_location=GA_file_path,
directory=model_directory, settings_path=settings_path,
environment='prd')