diff --git a/input_files/selected_building_1780.geojson b/input_files/selected_building_1780.geojson new file mode 100644 index 00000000..7abdbf87 --- /dev/null +++ b/input_files/selected_building_1780.geojson @@ -0,0 +1,221 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": 1780, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.55164817172573, + 45.60430406158321 + ], + [ + -73.5516460718087, + 45.60433386241789 + ], + [ + -73.55156767161071, + 45.60433106192903 + ], + [ + -73.55115097163997, + 45.60431646233491 + ], + [ + -73.55114607213346, + 45.604385461919605 + ], + [ + -73.55114607213346, + 45.60438556174432 + ], + [ + -73.55118367188891, + 45.60438766166129 + ], + [ + -73.55115187186135, + 45.6046712619692 + ], + [ + -73.55127527233589, + 45.60468216175241 + ], + [ + -73.55127347189318, + 45.60469216221355 + ], + [ + -73.55127977164409, + 45.604692562411856 + ], + [ + -73.55171607233882, + 45.60472526176147 + ], + [ + -73.5517165723619, + 45.60472526176147 + ], + [ + -73.55171887192836, + 45.60470836170157 + ], + [ + -73.55172141880837, + 45.60470853077413 + ], + [ + -73.55172300791043, + 45.604697359395686 + ], + [ + -73.55172679675422, + 45.604670055978374 + ], + [ + -73.55173049386718, + 45.60464274716509 + ], + [ + -73.55173409655129, + 45.60461543205662 + ], + [ + -73.55173760840387, + 45.604588110652855 + ], + [ + -73.55174102672697, + 45.604560783853174 + ], + [ + -73.55174435241992, + 45.60453345165752 + ], + [ + -73.55174758458332, + 45.60450611406594 + ], + [ + -73.55175072591521, + 45.60447877107845 + ], + [ + -73.5517537728183, + 45.604451421795716 + ], + [ + -73.55175672709123, + 45.604424068915705 + ], + [ + -73.551759588734, + 45.60439671063972 + ], + [ + -73.55176235774655, + 45.60436934786719 + ], + [ + -73.551765034129, + 45.60434197969863 + ], + [ + -73.55176761698192, + 45.60431460793285 + ], + [ + -73.55176777436327, + 45.604312880335215 + ], + [ + -73.55165277175797, + 45.60430426213202 + ], + [ + -73.55164817172573, + 45.60430406158321 + ] + ] + ] + }, + "properties": { + "OBJECTID_12_13": 1780, + "ID_UEV": "02033657", + "CIVIQUE_DE": " 6500", + "CIVIQUE_FI": " 6500", + "NOM_RUE": "boulevard Joseph-Renaud (ANJ)", + "SUITE_DEBU": " ", + "MUNICIPALI": "50", + "ETAGE_HORS": 1, + "NOMBRE_LOG": 0, + "ANNEE_CONS": 1958, + "CODE_UTILI": "5411", + "LETTRE_DEB": " ", + "LETTRE_FIN": " ", + "LIBELLE_UT": "Vente au d\u00c3\u00a9tail de produits d'\u00c3\u00a9picerie (avec boucherie)", + "CATEGORIE_": "R\u00c3\u00a9gulier", + "MATRICULE8": "0051-76-9538-3-000-0000", + "SUPERFICIE": 5577, + "SUPERFIC_1": 1871, + "NO_ARROND_": "REM09", + "Shape_Leng": 0.00203390087769, + "OBJECTID": 1780, + "Join_Count": 1, + "TARGET_FID": 1780, + "feature_id": "44a8eb55-55f9-4b37-8d9f-b350db477add", + "md_id": " ", + "acqtech": 1360, + "acqtech_en": "Lidar", + "acqtech_fr": "Lidar", + "provider": 461, + "provideren": "Municipal", + "providerfr": "Municipal", + "datemin": "20151124", + "datemax": "20151208", + "haccmin": 2, + "haccmax": 2, + "vaccmin": 1, + "vaccmax": 1, + "heightmin": 0.5, + "heightmax": 7, + "elevmin": 39.89, + "elevmax": 41.6, + "bldgarea": 5899.16, + "comment": "Detection of Lidar points classified as ground in the building. D\u00c3\u00a9tection de points Lidar classifi\u00c3\u00a9s sol dans le b\u00c3\u00a2timent.", + "OBJECTID_1": 1780, + "Shape_Le_1": 0.00203390087769, + "Shape_Ar_1": 2.21511888038e-07, + "OBJECTID_12": 1780, + "Join_Count_1": 2, + "TARGET_FID_1": 1779, + "g_objectid": "893051", + "g_co_mrc": "66023", + "g_code_mun": "66023", + "g_arrond": "REM09", + "g_anrole": "2019", + "g_usag_pre": "Commercial", + "g_no_lot": "1113649", + "g_nb_poly_": "1", + "g_utilisat": "5002", + "g_nb_logem": " ", + "g_nb_locau": "16", + "g_descript": "Unit\u00c3\u00a9 d'\u00c3\u00a9valuation", + "g_id_provi": "66023005176034780000000", + "g_sup_tota": "10342.2", + "g_geometry": "0.00487279", + "g_geomet_1": "1.1974e-006", + "g_dat_acqu": "2020-02-12 00:00:00.0000000", + "g_dat_char": "2020-02-17 00:00:00.0000000", + "Shape_Leng_1": 0.00203390087769, + "Shape_Area_1": 2.21511888038e-07, + "Shape_Length": 0.0020339027874948317, + "Shape_Area": 2.21511888038e-07 + } + } + ] +} \ No newline at end of file diff --git a/input_files/selected_building_2864.geojson b/input_files/selected_building_2864.geojson new file mode 100644 index 00000000..7d713a02 --- /dev/null +++ b/input_files/selected_building_2864.geojson @@ -0,0 +1,121 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": 2864, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.55628837310991, + 45.60732526295055 + ], + [ + -73.55628287285629, + 45.607324262904456 + ], + [ + -73.55609247288925, + 45.607288563416546 + ], + [ + -73.55607107262188, + 45.60734486277528 + ], + [ + -73.55612487276466, + 45.60735496306114 + ], + [ + -73.55609867281544, + 45.60742366317157 + ], + [ + -73.55624087271804, + 45.60745026331904 + ], + [ + -73.55628837310991, + 45.60732526295055 + ] + ] + ] + }, + "properties": { + "OBJECTID_12_13": 2864, + "ID_UEV": "02033771", + "CIVIQUE_DE": " 8212", + "CIVIQUE_FI": " 8212", + "NOM_RUE": "avenue Peterborough (ANJ)", + "SUITE_DEBU": " ", + "MUNICIPALI": "50", + "ETAGE_HORS": 1, + "NOMBRE_LOG": 1, + "ANNEE_CONS": 1960, + "CODE_UTILI": "1000", + "LETTRE_DEB": " ", + "LETTRE_FIN": " ", + "LIBELLE_UT": "Logement", + "CATEGORIE_": "R\u00c3\u00a9gulier", + "MATRICULE8": "0051-49-2041-2-000-0000", + "SUPERFICIE": 450, + "SUPERFIC_1": 176, + "NO_ARROND_": "REM09", + "Shape_Leng": 0.000666191644361, + "OBJECTID": 2864, + "Join_Count": 1, + "TARGET_FID": 2864, + "feature_id": "bdd1f0fe-89de-46d2-80dc-87d3636df60a", + "md_id": " ", + "acqtech": 1360, + "acqtech_en": "Lidar", + "acqtech_fr": "Lidar", + "provider": 461, + "provideren": "Municipal", + "providerfr": "Municipal", + "datemin": "20151124", + "datemax": "20151208", + "haccmin": 2, + "haccmax": 2, + "vaccmin": 1, + "vaccmax": 1, + "heightmin": 1.17, + "heightmax": 7, + "elevmin": 45.48, + "elevmax": 45.96, + "bldgarea": 193.18, + "comment": " ", + "OBJECTID_1": 2864, + "Shape_Le_1": 0.000666191644361, + "Shape_Ar_1": 2.22753099997e-08, + "OBJECTID_12": 2864, + "Join_Count_1": 1, + "TARGET_FID_1": 2863, + "g_objectid": "897744", + "g_co_mrc": "66023", + "g_code_mun": "66023", + "g_arrond": "REM09", + "g_anrole": "2019", + "g_usag_pre": "R\u00c3\u00a9sidentiel", + "g_no_lot": "1113400", + "g_nb_poly_": "1", + "g_utilisat": "1000", + "g_nb_logem": "1", + "g_nb_locau": " ", + "g_descript": "Unit\u00c3\u00a9 d'\u00c3\u00a9valuation", + "g_id_provi": "66023005149204120000000", + "g_sup_tota": "450.1", + "g_geometry": "0.000958907", + "g_geomet_1": "5.20226e-008", + "g_dat_acqu": "2020-02-12 00:00:00.0000000", + "g_dat_char": "2020-02-17 00:00:00.0000000", + "Shape_Leng_1": 0.000666191644361, + "Shape_Area_1": 2.22753099997e-08, + "Shape_Length": 0.0006661919640545334, + "Shape_Area": 2.22753099997e-08 + } + } + ] +} \ No newline at end of file diff --git a/input_files/selected_building_9526.geojson b/input_files/selected_building_9526.geojson new file mode 100644 index 00000000..c20487a9 --- /dev/null +++ b/input_files/selected_building_9526.geojson @@ -0,0 +1,311 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": 9526, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [ + -73.56037817321408, + 45.57755455739698 + ], + [ + -73.56032347284997, + 45.5775361572679 + ], + [ + -73.56031137337112, + 45.5775311570373 + ], + [ + -73.56026317330674, + 45.57750815687598 + ], + [ + -73.56026297275793, + 45.57750795722649 + ], + [ + -73.5602523733483, + 45.577524556912806 + ], + [ + -73.56017597324251, + 45.577500456880614 + ], + [ + -73.56017337330252, + 45.57750445706512 + ], + [ + -73.56015697326569, + 45.57752955714341 + ], + [ + -73.56011457292914, + 45.57751595669612 + ], + [ + -73.5600934730353, + 45.57754835657147 + ], + [ + -73.5596595717318, + 45.57740905698245 + ], + [ + -73.55965687196704, + 45.57741305716689 + ], + [ + -73.55962537231306, + 45.577461056682466 + ], + [ + -73.55958387219789, + 45.57744765678399 + ], + [ + -73.55957857159376, + 45.57744595706532 + ], + [ + -73.55944467243364, + 45.57765675725358 + ], + [ + -73.5594445717096, + 45.57765685707835 + ], + [ + -73.55948407173247, + 45.577669657129036 + ], + [ + -73.55940487203719, + 45.57779035693949 + ], + [ + -73.55953937194442, + 45.57783385714686 + ], + [ + -73.5595467715662, + 45.577822656990065 + ], + [ + -73.55979037182817, + 45.57790145738642 + ], + [ + -73.55977687210492, + 45.57792215708196 + ], + [ + -73.55973907180066, + 45.577909857054294 + ], + [ + -73.55973397174535, + 45.577908456809894 + ], + [ + -73.55968977186546, + 45.57798675718317 + ], + [ + -73.55965797183791, + 45.57797795731693 + ], + [ + -73.55965787201313, + 45.57797805714165 + ], + [ + -73.55963357233145, + 45.578015857445905 + ], + [ + -73.55966267169492, + 45.578025056611125 + ], + [ + -73.5595531720412, + 45.57819585675344 + ], + [ + -73.55955067192593, + 45.578199657288394 + ], + [ + -73.55969427207293, + 45.578245656711715 + ], + [ + -73.55970147204528, + 45.57824795717755 + ], + [ + -73.55990817312363, + 45.57793315668988 + ], + [ + -73.56008177285548, + 45.57798935712316 + ], + [ + -73.5601113731413, + 45.577945956740564 + ], + [ + -73.56037817321408, + 45.57755455739698 + ] + ] + ], + [ + [ + [ + -73.5593626722495, + 45.577468457203565 + ], + [ + -73.55935757219419, + 45.57746655693609 + ], + [ + -73.55929927184388, + 45.57744455682092 + ], + [ + -73.55927227239744, + 45.57747985700985 + ], + [ + -73.55933557207896, + 45.57750375739255 + ], + [ + -73.5593626722495, + 45.577468457203565 + ] + ] + ], + [ + [ + [ + -73.55925947234675, + 45.57742965685321 + ], + [ + -73.55925397209307, + 45.57742815678404 + ], + [ + -73.5592286723653, + 45.57742095681175 + ], + [ + -73.55920957166438, + 45.577454356733256 + ], + [ + -73.55920737192264, + 45.57745815726821 + ], + [ + -73.5592321716274, + 45.57746455684389 + ], + [ + -73.55923657201015, + 45.57746605691307 + ], + [ + -73.55925947234675, + 45.57742965685321 + ] + ] + ] + ] + }, + "properties": { + "OBJECTID_12_13": 9526, + "ID_UEV": "02055359", + "CIVIQUE_DE": " 5750", + "CIVIQUE_FI": " 5750", + "NOM_RUE": "boulevard Rosemont (MTL)", + "SUITE_DEBU": " ", + "MUNICIPALI": "50", + "ETAGE_HORS": 0, + "NOMBRE_LOG": 0, + "ANNEE_CONS": 1923, + "CODE_UTILI": "6911", + "LETTRE_DEB": " ", + "LETTRE_FIN": " ", + "LIBELLE_UT": "\u00c3\u2030glise, synagogue, mosqu\u00c3\u00a9e et temple", + "CATEGORIE_": "R\u00c3\u00a9gulier", + "MATRICULE8": "0048-16-8416-5-000-0000", + "SUPERFICIE": 24793, + "SUPERFIC_1": 0, + "NO_ARROND_": "REM24", + "Shape_Leng": 0.00384776818364, + "OBJECTID": 9526, + "Join_Count": 3, + "TARGET_FID": 9526, + "feature_id": "5bfd7e8c-95aa-4782-9f2f-ed07d1dd2294", + "md_id": " ", + "acqtech": 1360, + "acqtech_en": "Lidar", + "acqtech_fr": "Lidar", + "provider": 461, + "provideren": "Municipal", + "providerfr": "Municipal", + "datemin": "20151124", + "datemax": "20151208", + "haccmin": 2, + "haccmax": 2, + "vaccmin": 1, + "vaccmax": 1, + "heightmin": 2.1, + "heightmax": 41.82, + "elevmin": 38.08, + "elevmax": 38.57, + "bldgarea": 25, + "comment": " ", + "OBJECTID_1": 9526, + "Shape_Le_1": 0.00384776818364, + "Shape_Ar_1": 3.92694421841e-07, + "OBJECTID_12": 9526, + "Join_Count_1": 1, + "TARGET_FID_1": 9525, + "g_objectid": "1586794", + "g_co_mrc": "66023", + "g_code_mun": "66023", + "g_arrond": "REM24", + "g_anrole": "2019", + "g_usag_pre": "Institutionnel", + "g_no_lot": "1361698", + "g_nb_poly_": "1", + "g_utilisat": "6911", + "g_nb_logem": " ", + "g_nb_locau": "2", + "g_descript": "Unit\u00c3\u00a9 d'\u00c3\u00a9valuation", + "g_id_provi": "66023004816841650000000", + "g_sup_tota": "24792.9", + "g_geometry": "0.00743004", + "g_geomet_1": "2.85762e-006", + "g_dat_acqu": "2020-02-12 00:00:00.0000000", + "g_dat_char": "2020-02-17 00:00:00.0000000", + "Shape_Leng_1": 0.00384776818364, + "Shape_Area_1": 3.92694421841e-07, + "Shape_Length": 0.0038477700316121004, + "Shape_Area": 3.92694421841e-07 + } + } + ] +} \ No newline at end of file diff --git a/scripts/ep_workflow.py b/scripts/ep_workflow.py index e86a31c3..eeec42e1 100644 --- a/scripts/ep_workflow.py +++ b/scripts/ep_workflow.py @@ -13,56 +13,56 @@ from hub.helpers.dictionaries import Dictionaries sys.path.append('./') -try: - file_path = (Path(__file__).parent.parent / 'input_files' / 'selected_building_5755.geojson') - out_path = (Path(__file__).parent.parent / 'out_files') - files = glob.glob(f'{out_path}/*') - for file in files: - if file != '.gitignore': - os.remove(file) +#try: +file_path = (Path(__file__).parent.parent / 'input_files' / 'selected_building_2864.geojson') +out_path = (Path(__file__).parent.parent / 'out_files') +files = glob.glob(f'{out_path}/*') +for file in files: + if file != '.gitignore': + os.remove(file) - print('[simulation start]') - city = GeometryFactory('geojson', - path=file_path, - height_field='heightmax', - year_of_construction_field='ANNEE_CONS', - function_field='CODE_UTILI', - function_to_hub=Dictionaries().montreal_function_to_hub_function).city - print(f'city created from {file_path}') - ConstructionFactory('nrcan', city).enrich() - print('enrich constructions... done') - UsageFactory('nrcan', city).enrich() - print('enrich usage... done') +print('[simulation start]') +city = GeometryFactory('geojson', + path=file_path, + height_field='heightmax', + year_of_construction_field='ANNEE_CONS', + function_field='CODE_UTILI', + function_to_hub=Dictionaries().montreal_function_to_hub_function).city +print(f'city created from {file_path}') +ConstructionFactory('nrcan', city).enrich() +print('enrich constructions... done') +UsageFactory('nrcan', city).enrich() +print('enrich usage... done') - area = 0 - volume = 0 - for building in city.buildings: - volume = building.volume - for ground in building.grounds: - area += ground.perimeter_polygon.area +area = 0 +volume = 0 +for building in city.buildings: + volume = building.volume + for ground in building.grounds: + area += ground.perimeter_polygon.area - print('exporting:') +print('exporting:') - _idf = EnergyBuildingsExportsFactory('idf', city, out_path).export() - print(' idf exported...') - _idf.run() +_idf = EnergyBuildingsExportsFactory('idf', city, out_path).export() +print(' idf exported...') +_idf.run() - csv_file = str((out_path / f'{city.name}_out.csv').resolve()) - eso_file = str((out_path / f'{city.name}_out.eso').resolve()) - idf_file = str((out_path / f'{city.name}.idf').resolve()) - obj_file = str((out_path / f'{city.name}.obj').resolve()) +csv_file = str((out_path / f'{city.name}_out.csv').resolve()) +eso_file = str((out_path / f'{city.name}_out.eso').resolve()) +idf_file = str((out_path / f'{city.name}.idf').resolve()) +obj_file = str((out_path / f'{city.name}.obj').resolve()) - with open((out_path / f'{city.name}_out.csv').resolve()) as f: - reader = csv.reader(f, delimiter=',') - for row in reader: - if ':00:00' in row[0]: - print(f'row: {row[0]}, {row[8]}, {row[9]}') +with open((out_path / f'{city.name}_out.csv').resolve()) as f: + reader = csv.reader(f, delimiter=',') + for row in reader: + if ':00:00' in row[0]: + print(f'row: {row[0]}, {row[8]}, {row[9]}') - print(f'info: {idf_file}, {csv_file}, {eso_file}, {area}, {volume}, {obj_file}') - print('[simulation end]') +print(f'info: {idf_file}, {csv_file}, {eso_file}, {area}, {volume}, {obj_file}') +print('[simulation end]') -except Exception as ex: - print(ex) - print('error: ', ex) - print('[simulation abort]') +#except Exception as ex: +# print(ex) +# print('error: ', ex) +# print('[simulation abort]') sys.stdout.flush()