from pathlib import Path from hub.imports.geometry_factory import GeometryFactory from hub.imports.construction_factory import ConstructionFactory from hub.imports.usage_factory import UsageFactory from hub.helpers.dictionaries import Dictionaries from matsim_engine import MatSimEngine from matsim import Matsim from matsim_visualizer import MatsimVisualizer try: file_path = (Path(__file__).parent / 'input_files' / 'mtlbld_v4.geojson') construction_format = 'nrcan' usage_format = 'nrcan' energy_systems_format = 'montreal_custom' out_path = (Path(__file__).parent / 'output_files') city = GeometryFactory('geojson', path=file_path, height_field='ETAGE_HORS', year_of_construction_field='ANNEE_CONS', function_field='CODE_UTILI', function_to_hub=Dictionaries().montreal_function_to_hub_function).city ConstructionFactory(construction_format, city).enrich() UsageFactory(usage_format, city).enrich() Matsim(city, 'output_files').export() MatSimEngine('output_files/Montreal_config.xml').run() visualizer = MatsimVisualizer( 'output_files/Montreal', 'output_files', (3854635.608067, 6040255.047194, 3855550.392442, 6039416.667303) ) visualizer.visualize() except Exception as ex: print('error: ', ex) print('[simulation abort]')