diff --git a/.gitignore b/.gitignore index a456a415..6c93083d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ **/__pycache__/ **/.idea/ cerc_hub.egg-info +/out_files diff --git a/building_data/Calcul Sup-lot_2023-0428_HYP-BRUTE-90.xlsx b/building_data/Calcul Sup-lot_2023-0428_HYP-BRUTE-90.xlsx new file mode 100644 index 00000000..22f5b134 Binary files /dev/null and b/building_data/Calcul Sup-lot_2023-0428_HYP-BRUTE-90.xlsx differ diff --git a/building_data/buildings-cad.png b/building_data/buildings-cad.png new file mode 100644 index 00000000..7e535367 Binary files /dev/null and b/building_data/buildings-cad.png differ diff --git a/building_data/buildings_with_names_from_geojson.jpg b/building_data/buildings_with_names_from_geojson.jpg new file mode 100644 index 00000000..7485e42d Binary files /dev/null and b/building_data/buildings_with_names_from_geojson.jpg differ diff --git a/building_data/group_3_buildings.png b/building_data/group_3_buildings.png new file mode 100644 index 00000000..9d9debc9 Binary files /dev/null and b/building_data/group_3_buildings.png differ diff --git a/input_files/Lachine_New_Developments.geojson b/input_files/Lachine_New_Developments.geojson new file mode 100644 index 00000000..9b26f440 --- /dev/null +++ b/input_files/Lachine_New_Developments.geojson @@ -0,0 +1,2275 @@ +{ + "project": { + "country": "-", + "city": "Montreal, QC", + "latitude": 45.501899999999999, + "cad_coordinates": [ + 0.0, + 0.0 + ], + "longitude": -73.567400000000006, + "time_zone": -5.0, + "elevation": 40.0 + }, + "type": "FeatureCollection", + "mappers": [], + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564321993655270, + 45.497709747505034 + ], + [ + -73.564321993655270, + 45.497402071992227 + ], + [ + -73.563837821113111, + 45.497396857753756 + ], + [ + -73.563833626914345, + 45.497704482570583 + ], + [ + -73.564321993655270, + 45.497709747505034 + ] + ] + ] + }, + "type": "Feature", + "id": "1673", + "properties": { + "footprint_area": 1294.9983604130321, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1673_bf6023ad.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1673", + "number_of_stories_above_ground": 3, + "floor_area": 3884.9950812390962, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.561502041534538, + 45.497777965216322 + ], + [ + -73.561501783247380, + 45.497957935840219 + ], + [ + -73.562092405648258, + 45.497958342763788 + ], + [ + -73.562092709628416, + 45.497930940219319 + ], + [ + -73.562220811417518, + 45.497930940219319 + ], + [ + -73.562220811417518, + 45.497957022001771 + ], + [ + -73.562503258763257, + 45.497958465742400 + ], + [ + -73.562507471507146, + 45.497553512702083 + ], + [ + -73.562224101757494, + 45.497552626791169 + ], + [ + -73.562222491416662, + 45.497805658835588 + ], + [ + -73.562094370794156, + 45.497804960655131 + ], + [ + -73.562094370794156, + 45.497781193055076 + ], + [ + -73.561502041534538, + 45.497777965216322 + ] + ] + ] + }, + "type": "Feature", + "id": "1646", + "properties": { + + "footprint_area": 2044.0682836118940, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1646_18838a5f.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1646", + "number_of_stories_above_ground": 8, + "floor_area": 16352.546268895137, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565546465154029, + 45.495691978380947 + ], + [ + -73.565183412893759, + 45.495706556253026 + ], + [ + -73.564636685150589, + 45.496050393988810 + ], + [ + -73.565011316675225, + 45.496340978789853 + ], + [ + -73.565200923413187, + 45.496220896356334 + ], + [ + -73.565000551542468, + 45.496064469664482 + ], + [ + -73.565289142543847, + 45.495882692779219 + ], + [ + -73.565546370619103, + 45.495872466050862 + ], + [ + -73.565546465154029, + 45.495691978380947 + ] + ] + ] + }, + "type": "Feature", + "id": "1647", + "properties": { + + "footprint_area": 2029.5591847320029, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1647_e842fa1c.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1647", + "number_of_stories_above_ground": 8, + "floor_area": 16236.473477856023, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565692315815141, + 45.496598889483813 + ], + [ + -73.565527954286196, + 45.496705667273510 + ], + [ + -73.565723254193358, + 45.496852785588452 + ], + [ + -73.566138533117538, + 45.496852917728162 + ], + [ + -73.566138757753109, + 45.496699942348272 + ], + [ + -73.565821865037719, + 45.496699942348272 + ], + [ + -73.565692315815141, + 45.496598889483813 + ] + ] + ] + }, + "type": "Feature", + "id": "1648", + "properties": { + + "footprint_area": 808.28076254848929, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1648_1baa7890.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1648", + "number_of_stories_above_ground": 8, + "floor_area": 6466.2461003879143, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.563960208754935, + 45.496474626453242 + ], + [ + -73.564063667115249, + 45.496554775147892 + ], + [ + -73.564209671049042, + 45.496466616160362 + ], + [ + -73.564275406921524, + 45.496518223175045 + ], + [ + -73.564469305492423, + 45.496396313398037 + ], + [ + -73.564670742101100, + 45.496553825416989 + ], + [ + -73.564861874682421, + 45.496433750106817 + ], + [ + -73.564488983344475, + 45.496142170200493 + ], + [ + -73.563960208754935, + 45.496474626453242 + ] + ] + ] + }, + "type": "Feature", + "id": "1649", + "properties": { + + "footprint_area": 1458.2391973223130, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1649_57bc7dc1.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1649", + "number_of_stories_above_ground": 8, + "floor_area": 11665.913578578504, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565075705327146, + 45.499394625904792 + ], + [ + -73.565075653803945, + 45.499268646350949 + ], + [ + -73.564613337480466, + 45.499268649325955 + ], + [ + -73.564613339118040, + 45.499394625938720 + ], + [ + -73.565075705327146, + 45.499394625904792 + ] + ] + ] + }, + "type": "Feature", + "id": "1650", + "properties": { + + "footprint_area": 504.15104012840311, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1650_287dcb62.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1650", + "number_of_stories_above_ground": 6, + "floor_area": 3024.9062407704187, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565564794713296, + 45.498147030662963 + ], + [ + -73.565565370569544, + 45.498327001468915 + ], + [ + -73.566138092651968, + 45.498327001468915 + ], + [ + -73.566138287840218, + 45.498147030662963 + ], + [ + -73.565564794713296, + 45.498147030662963 + ] + ] + ] + }, + "type": "Feature", + "id": "1651", + "properties": { + + "footprint_area": 892.77340679971894, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1651_63dc1f59.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1651", + "number_of_stories_above_ground": 6, + "floor_area": 5356.6404407983136, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.566138287735996, + 45.498327005491880 + ], + [ + -73.565958349250025, + 45.498327021570184 + ], + [ + -73.565958544438288, + 45.498913706296399 + ], + [ + -73.566138071896845, + 45.498913676955453 + ], + [ + -73.566138287735996, + 45.498327005491880 + ] + ] + ] + }, + "type": "Feature", + "id": "1652", + "properties": { + + "footprint_area": 912.70544410405819, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1652_22bfc82c.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1652", + "number_of_stories_above_ground": 6, + "floor_area": 5476.2326646243491, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565744538115226, + 45.498327001468908 + ], + [ + -73.565564794713310, + 45.498327001468915 + ], + [ + -73.565564794713339, + 45.499060382503252 + ], + [ + -73.565744538115268, + 45.499060382503252 + ], + [ + -73.565744538115226, + 45.498327001468908 + ] + ] + ] + }, + "type": "Feature", + "id": "1653", + "properties": { + + "footprint_area": 1140.9999999757201, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1653_dfeb9d5d.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1653", + "number_of_stories_above_ground": 6, + "floor_area": 6845.9999998543208, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.566138287840204, + 45.497958438835028 + ], + [ + -73.566138287440168, + 45.497778468029047 + ], + [ + -73.565564794713353, + 45.497778468029047 + ], + [ + -73.565564794713353, + 45.497958438835028 + ], + [ + -73.566138287840204, + 45.497958438835028 + ] + ] + ] + }, + "type": "Feature", + "id": "1654", + "properties": { + + "footprint_area": 893.37365266692359, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1654_eead46db.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1654", + "number_of_stories_above_ground": 6, + "floor_area": 5360.2419160015415, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.566113157773586, + 45.497180611565717 + ], + [ + -73.566113446560252, + 45.497134968916214 + ], + [ + -73.566028233803863, + 45.497134704063015 + ], + [ + -73.566028100707570, + 45.497180611249853 + ], + [ + -73.565957704461624, + 45.497180611098457 + ], + [ + -73.565957704510865, + 45.497778468029047 + ], + [ + -73.566137451533990, + 45.497778468029047 + ], + [ + -73.566138835655380, + 45.497180611491174 + ], + [ + -73.566113157773586, + 45.497180611565717 + ] + ] + ] + }, + "type": "Feature", + "id": "1655", + "properties": { + + "footprint_area": 967.48230638653331, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1655_c71416fb.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1655", + "number_of_stories_above_ground": 6, + "floor_area": 5804.8938383191999, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565589643274421, + 45.497134076388527 + ], + [ + -73.565590163644217, + 45.497180609774233 + ], + [ + -73.565564487702943, + 45.497180609825676 + ], + [ + -73.565563954785901, + 45.497778468029047 + ], + [ + -73.565743698187831, + 45.497778468029047 + ], + [ + -73.565743698157107, + 45.497180609466618 + ], + [ + -73.565718020528138, + 45.497180611319948 + ], + [ + -73.565718023153977, + 45.497134080095236 + ], + [ + -73.565589643274421, + 45.497134076388527 + ] + ] + ] + }, + "type": "Feature", + "id": "1656", + "properties": { + + "footprint_area": 980.37490820664607, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1656_75f94a0d.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1656", + "number_of_stories_above_ground": 6, + "floor_area": 5882.2494492398764, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.566138785264584, + 45.495868959493521 + ], + [ + -73.565907188822720, + 45.495868959493521 + ], + [ + -73.565906910164898, + 45.495979751925042 + ], + [ + -73.566138506606748, + 45.495979751925042 + ], + [ + -73.566138785264584, + 45.495868959493521 + ] + ] + ] + }, + "type": "Feature", + "id": "1657", + "properties": { + + "footprint_area": 222.09817462227147, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1657_4ca8f080.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1657", + "number_of_stories_above_ground": 6, + "floor_area": 1332.5890477336288, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565887706291875, + 45.495689713783278 + ], + [ + -73.565887706291875, + 45.495707710456792 + ], + [ + -73.565810673405338, + 45.495707647844078 + ], + [ + -73.565810673405338, + 45.495689587633223 + ], + [ + -73.565713079661947, + 45.495689427812451 + ], + [ + -73.565713079661947, + 45.495868834704190 + ], + [ + -73.566138785264584, + 45.495868959493521 + ], + [ + -73.566139039661849, + 45.495690125370047 + ], + [ + -73.565887706291875, + 45.495689713783278 + ] + ] + ] + }, + "type": "Feature", + "id": "1658", + "properties": { + + "footprint_area": 648.19765522326634, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1658_424b2df8.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1658", + "number_of_stories_above_ground": 6, + "floor_area": 3889.1859313395980, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.566138255403786, + 45.496603135929746 + ], + [ + -73.566138285440275, + 45.496054768826745 + ], + [ + -73.565958542038331, + 45.496054768826745 + ], + [ + -73.565958512009843, + 45.496602990238273 + ], + [ + -73.566138255403786, + 45.496603135929746 + ] + ] + ] + }, + "type": "Feature", + "id": "1659", + "properties": { + + "footprint_area": 853.04053182815187, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1659_52a1d774.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1659", + "number_of_stories_above_ground": 6, + "floor_area": 5118.2431909689112, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564919196692401, + 45.496778496366709 + ], + [ + -73.565056291411182, + 45.496692306966366 + ], + [ + -73.565056005295460, + 45.496692043928526 + ], + [ + -73.564841249830508, + 45.496524117318877 + ], + [ + -73.564704990054921, + 45.496609725395864 + ], + [ + -73.564919196692401, + 45.496778496366709 + ] + ] + ] + }, + "type": "Feature", + "id": "1660", + "properties": { + + "footprint_area": 358.93166192741774, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1660_90dba68e.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1660", + "number_of_stories_above_ground": 6, + "floor_area": 2153.5899715645064, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564702389986337, + 45.496680926829185 + ], + [ + -73.564674701984401, + 45.496659210119716 + ], + [ + -73.564553339504158, + 45.496736418666536 + ], + [ + -73.564209671049042, + 45.496466616160362 + ], + [ + -73.564063667115249, + 45.496554775147892 + ], + [ + -73.564459187625474, + 45.496865273776514 + ], + [ + -73.564533616694604, + 45.496818699971278 + ], + [ + -73.564622290943859, + 45.496889295639399 + ], + [ + -73.564806891337199, + 45.496775390377060 + ], + [ + -73.564760111695108, + 45.496739108445603 + ], + [ + -73.564765511360704, + 45.496735688437020 + ], + [ + -73.564726468526047, + 45.496705408348909 + ], + [ + -73.564781208469029, + 45.496671017345861 + ], + [ + -73.564754183773900, + 45.496648484566954 + ], + [ + -73.564702389986337, + 45.496680926829185 + ] + ] + ] + }, + "type": "Feature", + "id": "1661", + "properties": { + + "footprint_area": 988.39325611376989, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1661_5b6bbc63.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1661", + "number_of_stories_above_ground": 6, + "floor_area": 5930.3595366826194, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565669688327816, + 45.496307105174836 + ], + [ + -73.565504648330077, + 45.496177424096444 + ], + [ + -73.565265828714743, + 45.496324196426912 + ], + [ + -73.565428421590951, + 45.496454484245390 + ], + [ + -73.565669688327816, + 45.496307105174836 + ] + ] + ] + }, + "type": "Feature", + "id": "1662", + "properties": { + + "footprint_area": 478.62040312459430, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1662_97193100.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1662", + "number_of_stories_above_ground": 6, + "floor_area": 2871.7224187475658, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562877628160265, + 45.499660266282014 + ], + [ + -73.563134425510825, + 45.499660327585026 + ], + [ + -73.563139101407614, + 45.499422211164607 + ], + [ + -73.563464830222159, + 45.499421621586897 + ], + [ + -73.563465193239850, + 45.499241650753632 + ], + [ + -73.562885807510924, + 45.499242219172501 + ], + [ + -73.562877628160265, + 45.499660266282014 + ] + ] + ] + }, + "type": "Feature", + "id": "1663", + "properties": { + + "footprint_area": 1434.9411493013613, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1663_d66f6249.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 6, + "name": "Building_1663", + "number_of_stories_above_ground": 6, + "floor_area": 8609.6468958081678, + "maximum_roof_height": 24.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564966430668719, + 45.498826701190808 + ], + [ + -73.564545859440827, + 45.498826669373095 + ], + [ + -73.564545859440827, + 45.499061673313548 + ], + [ + -73.564966250618539, + 45.499061705851744 + ], + [ + -73.564966430668719, + 45.498826701190808 + ] + ] + ] + }, + "type": "Feature", + "id": "1664", + "properties": { + + "footprint_area": 855.31368611823200, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1664_de6c70d0.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 15, + "name": "Building_1664", + "number_of_stories_above_ground": 15, + "floor_area": 12829.705291773480, + "maximum_roof_height": 60.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562993964097231, + 45.498802792965556 + ], + [ + -73.562994074623660, + 45.498836210230664 + ], + [ + -73.562891116072265, + 45.498836477070583 + ], + [ + -73.562888627881478, + 45.499060777094179 + ], + [ + -73.563427839307508, + 45.499060897025437 + ], + [ + -73.563427839307508, + 45.498836210230664 + ], + [ + -73.563389322864253, + 45.498836210230664 + ], + [ + -73.563389322864253, + 45.498809078487042 + ], + [ + -73.562993964097231, + 45.498802792965556 + ] + ] + ] + }, + "type": "Feature", + "id": "1665", + "properties": { + + "footprint_area": 1149.4388344977560, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1665_156fa2e7.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 15, + "name": "Building_1665", + "number_of_stories_above_ground": 15, + "floor_area": 17241.582517466341, + "maximum_roof_height": 60.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562081835203017, + 45.498890216239651 + ], + [ + -73.562081835203017, + 45.498863220618752 + ], + [ + -73.562210247333809, + 45.498863220618752 + ], + [ + -73.562210902889845, + 45.498983863112592 + ], + [ + -73.562491223110968, + 45.498983114842765 + ], + [ + -73.562497221441234, + 45.498462530294070 + ], + [ + -73.562214790099588, + 45.498460961310357 + ], + [ + -73.562211665745096, + 45.498737241054563 + ], + [ + -73.562083259863442, + 45.498737241054563 + ], + [ + -73.562083520890980, + 45.498714158967367 + ], + [ + -73.561486780359076, + 45.498710245433664 + ], + [ + -73.561484430009457, + 45.498886298346974 + ], + [ + -73.562081835203017, + 45.498890216239651 + ] + ] + ] + }, + "type": "Feature", + "id": "1666", + "properties": { + + "footprint_area": 2324.0116964114713, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1666_a8635b05.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1666", + "number_of_stories_above_ground": 8, + "floor_area": 18592.093571291771, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562498747904243, + 45.498327548553192 + ], + [ + -73.562495770999703, + 45.498327546677665 + ], + [ + -73.562500784634963, + 45.498147172942041 + ], + [ + -73.561840954526716, + 45.498147172942041 + ], + [ + -73.561838953595441, + 45.498327548553192 + ], + [ + -73.562498747904243, + 45.498327548553192 + ] + ] + ] + }, + "type": "Feature", + "id": "1667", + "properties": { + + "footprint_area": 1027.8277728328394, + "floor_height": 3.9999999999999996, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1667_4e77528c.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1667", + "number_of_stories_above_ground": 8, + "floor_area": 8222.6221826627152, + "maximum_roof_height": 31.999999999999996 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.561699716698328, + 45.498147880651217 + ], + [ + -73.561519979089823, + 45.498146877373379 + ], + [ + -73.561513926435595, + 45.498619278073114 + ], + [ + -73.561693662590514, + 45.498620409339985 + ], + [ + -73.561699716698328, + 45.498147880651217 + ] + ] + ] + }, + "type": "Feature", + "id": "1668", + "properties": { + + "footprint_area": 735.09355594096996, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1668_a550f9b3.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 4, + "name": "Building_1668", + "number_of_stories_above_ground": 4, + "floor_area": 2940.3742237638799, + "maximum_roof_height": 16.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565854272467490, + 45.497134163366802 + ], + [ + -73.566187080217603, + 45.497135197779940 + ], + [ + -73.566187901899085, + 45.497005331265335 + ], + [ + -73.565855094148972, + 45.497004296852189 + ], + [ + -73.565854272467490, + 45.497134163366802 + ] + ] + ] + }, + "type": "Feature", + "id": "1669", + "properties": { + + "footprint_area": 374.11245699843494, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1669_f3b002d8.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1669", + "number_of_stories_above_ground": 3, + "floor_area": 1122.3373709953048, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.561864131856467, + 45.499422614324402 + ], + [ + -73.561863659008310, + 45.499449618989324 + ], + [ + -73.562200479161717, + 45.499449618989324 + ], + [ + -73.562486602886068, + 45.499449625979310 + ], + [ + -73.562490190561221, + 45.499251658892597 + ], + [ + -73.561867125557100, + 45.499251642139086 + ], + [ + -73.561866633581602, + 45.499279739178867 + ], + [ + -73.561738181756027, + 45.499278634292850 + ], + [ + -73.561741070165198, + 45.499113713869967 + ], + [ + -73.561480937398301, + 45.499113349878336 + ], + [ + -73.561474100596428, + 45.499515616009084 + ], + [ + -73.561730897597840, + 45.499515616009084 + ], + [ + -73.561735728396016, + 45.499422936895527 + ], + [ + -73.561864131856467, + 45.499422614324402 + ] + ] + ] + }, + "type": "Feature", + "id": "1676", + "properties": { + + "footprint_area": 2131.0154588451987, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1676_b0ffe753.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 4, + "name": "Building_1676", + "number_of_stories_above_ground": 4, + "floor_area": 8524.0618353807949, + "maximum_roof_height": 16.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.561459595947980, + 45.500368942757071 + ], + [ + -73.562115482447552, + 45.500248078866079 + ], + [ + -73.562118700714819, + 45.500075776627320 + ], + [ + -73.562474984633312, + 45.500011104862445 + ], + [ + -73.562477984854397, + 45.499759347854692 + ], + [ + -73.562122156732400, + 45.499758715098800 + ], + [ + -73.561728721895363, + 45.499758715098800 + ], + [ + -73.561468672077751, + 45.499806182322573 + ], + [ + -73.561459595947980, + 45.500368942757071 + ] + ] + ] + }, + "type": "Feature", + "id": "1677", + "properties": { + + "footprint_area": 3933.6318337951816, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1677_4ce319f5.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1677", + "number_of_stories_above_ground": 3, + "floor_area": 11800.895501385545, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565371192652890, + 45.497624247085540 + ], + [ + -73.564971595129677, + 45.497623644779864 + ], + [ + -73.564966385550250, + 45.498885590605063 + ], + [ + -73.564966250629055, + 45.499061692118218 + ], + [ + -73.565098481852161, + 45.499062465835017 + ], + [ + -73.565098867016602, + 45.499029558173142 + ], + [ + -73.565080725771821, + 45.499029450190662 + ], + [ + -73.565081040532391, + 45.499003174413524 + ], + [ + -73.565175912741950, + 45.499003777355185 + ], + [ + -73.565177437955185, + 45.498886149044708 + ], + [ + -73.565365798801892, + 45.498886437637964 + ], + [ + -73.565367711381668, + 45.498440877155694 + ], + [ + -73.565371192652890, + 45.497624247085540 + ] + ] + ] + }, + "type": "Feature", + "id": "1678", + "properties": { + + "footprint_area": 4641.7803576890328, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1678_02988034.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1678", + "number_of_stories_above_ground": 3, + "floor_area": 13925.341073067098, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564554559837148, + 45.497624575654569 + ], + [ + -73.564551850853960, + 45.498826669826371 + ], + [ + -73.564966430668719, + 45.498826701190829 + ], + [ + -73.564971564530339, + 45.497627598831691 + ], + [ + -73.564603437204411, + 45.497626132069627 + ], + [ + -73.564603445569205, + 45.497625100432082 + ], + [ + -73.564554559837148, + 45.497624575654569 + ] + ] + ] + }, + "type": "Feature", + "id": "1679", + "properties": { + + "footprint_area": 4319.0295927044426, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1679_b24420b9.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1679", + "number_of_stories_above_ground": 3, + "floor_area": 12957.088778113328, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564545859440827, + 45.499053563078341 + ], + [ + -73.564545859516130, + 45.498826669373109 + ], + [ + -73.563923263362014, + 45.498823369966743 + ], + [ + -73.563920813516262, + 45.499050258313595 + ], + [ + -73.564545859440827, + 45.499053563078341 + ] + ] + ] + }, + "type": "Feature", + "id": "1680", + "properties": { + + "footprint_area": 1225.1598633913600, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1680_6c9bd455.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1680", + "number_of_stories_above_ground": 3, + "floor_area": 3675.4795901740799, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.563441485660107, + 45.498419665411120 + ], + [ + -73.563422784637382, + 45.498419665411120 + ], + [ + -73.563431702313935, + 45.497902256746336 + ], + [ + -73.563435274370832, + 45.497704280424941 + ], + [ + -73.563442482420399, + 45.497007061894045 + ], + [ + -73.563352564031405, + 45.497006192698002 + ], + [ + -73.562957833779748, + 45.497003433876287 + ], + [ + -73.562955787513744, + 45.498802186023816 + ], + [ + -73.563428865105521, + 45.498809707140381 + ], + [ + -73.563441485660107, + 45.498419665411120 + ] + ] + ] + }, + "type": "Feature", + "id": "1681", + "properties": { + + "footprint_area": 7440.6678389157605, + "floor_height": 4.0, + "year_built": 2019, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1681_884eb763.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1681", + "number_of_stories_above_ground": 3, + "floor_area": 22322.003516747282, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562516820911540, + 45.496702372296930 + ], + [ + -73.562232349967502, + 45.496883429255973 + ], + [ + -73.562231111843900, + 45.496995040936220 + ], + [ + -73.562102722821436, + 45.496994770291785 + ], + [ + -73.562103045479745, + 45.496965683990318 + ], + [ + -73.561504951238774, + 45.497346290267750 + ], + [ + -73.561501126535632, + 45.497642451838843 + ], + [ + -73.561783261061038, + 45.497644386427716 + ], + [ + -73.561786736391738, + 45.497395207760391 + ], + [ + -73.562100519003749, + 45.497193435266865 + ], + [ + -73.562101029789943, + 45.497147390031991 + ], + [ + -73.562229421814465, + 45.497147390052682 + ], + [ + -73.562226411840300, + 45.497418716921466 + ], + [ + -73.562508864607111, + 45.497419599965582 + ], + [ + -73.562516820911540, + 45.496702372296930 + ] + ] + ] + }, + "type": "Feature", + "id": "1687", + "properties": { + + "footprint_area": 3264.7409803860646, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1687_cb4cf712.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 11, + "name": "Building_1687", + "number_of_stories_above_ground": 11, + "floor_area": 35912.150784246711, + "maximum_roof_height": 44.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564197847147142, + 45.497957214855269 + ], + [ + -73.564197218031708, + 45.497978631841974 + ], + [ + -73.564498821206911, + 45.497981785883397 + ], + [ + -73.564498757251059, + 45.497984939964496 + ], + [ + -73.564553748689335, + 45.497984939924798 + ], + [ + -73.564554363186375, + 45.497712252610860 + ], + [ + -73.563833626914345, + 45.497704482570583 + ], + [ + -73.563833585810599, + 45.497707497338084 + ], + [ + -73.563435267865927, + 45.497704823781504 + ], + [ + -73.563431005260028, + 45.497942700209769 + ], + [ + -73.563512373516332, + 45.497942700209769 + ], + [ + -73.563512366614802, + 45.497957052935327 + ], + [ + -73.564197847147142, + 45.497957214855269 + ] + ] + ] + }, + "type": "Feature", + "id": "1674", + "properties": { + + "footprint_area": 2484.8825099908718, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1674_bbeef534.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1674", + "number_of_stories_above_ground": 3, + "floor_area": 7454.6475299726153, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.562869703977867, + 45.500107884523914 + ], + [ + -73.563464830222159, + 45.499996394902638 + ], + [ + -73.563464830222159, + 45.499758696960846 + ], + [ + -73.563095123561538, + 45.499758138706831 + ], + [ + -73.563095123566100, + 45.499669316743109 + ], + [ + -73.562915380185018, + 45.499669273834527 + ], + [ + -73.562915809994692, + 45.499758562998935 + ], + [ + -73.562876040869639, + 45.499758208959747 + ], + [ + -73.562869703977867, + 45.500107884523914 + ] + ] + ] + }, + "type": "Feature", + "id": "1688", + "properties": { + + "footprint_area": 1641.9575463399633, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1688_55a8cadd.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 14, + "name": "Building_1688", + "number_of_stories_above_ground": 14, + "floor_area": 22987.405648759486, + "maximum_roof_height": 56.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.563439689477860, + 45.496789780231026 + ], + [ + -73.563442489125535, + 45.497007583530952 + ], + [ + -73.563435268744243, + 45.497704823759847 + ], + [ + -73.563833585810599, + 45.497707497338084 + ], + [ + -73.563837821113111, + 45.497396857753756 + ], + [ + -73.563842541317342, + 45.496865765664822 + ], + [ + -73.563755421602139, + 45.496865529943250 + ], + [ + -73.563755883799459, + 45.496783067319946 + ], + [ + -73.563521203110639, + 45.496782428423586 + ], + [ + -73.563521162343434, + 45.496789780231026 + ], + [ + -73.563439689477860, + 45.496789780231026 + ] + ] + ] + }, + "type": "Feature", + "id": "1675", + "properties": { + + "footprint_area": 3125.7782000612933, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1675_730b8065.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 3, + "name": "Building_1675", + "number_of_stories_above_ground": 3, + "floor_area": 9377.3346001838800, + "maximum_roof_height": 12.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564453622119800, + 45.499627112663497 + ], + [ + -73.564094077729067, + 45.499693709105976 + ], + [ + -73.564094071046682, + 45.499721632740076 + ], + [ + -73.563991355976910, + 45.499740658091092 + ], + [ + -73.563991336362776, + 45.499250339554450 + ], + [ + -73.563734311040250, + 45.499250959033418 + ], + [ + -73.563734445326602, + 45.499946006268118 + ], + [ + -73.563991318201147, + 45.499898511339715 + ], + [ + -73.563991324882764, + 45.499870590932197 + ], + [ + -73.564094039944464, + 45.499851599263600 + ], + [ + -73.564094033262847, + 45.499879519671126 + ], + [ + -73.564453622119785, + 45.499813032903916 + ], + [ + -73.564453622119800, + 45.499627112663497 + ] + ] + ] + }, + "type": "Feature", + "id": "1689", + "properties": { + + "footprint_area": 2187.8048172803792, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1689_909fbfb4.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 15, + "name": "Building_1689", + "number_of_stories_above_ground": 15, + "floor_area": 32817.072259205685, + "maximum_roof_height": 60.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.565075771568814, + 45.499714917984868 + ], + [ + -73.565332614151671, + 45.499666897396985 + ], + [ + -73.565332728828125, + 45.499250603230223 + ], + [ + -73.565075646462333, + 45.499250695357645 + ], + [ + -73.565075771568814, + 45.499556593585048 + ], + [ + -73.564973061053436, + 45.499575796862310 + ], + [ + -73.564973061053436, + 45.499547857262343 + ], + [ + -73.564613373171099, + 45.499615106327411 + ], + [ + -73.564613391478389, + 45.499801366904379 + ], + [ + -73.564973002815037, + 45.499734132150678 + ], + [ + -73.564973061053436, + 45.499706181662170 + ], + [ + -73.565075839986449, + 45.499686965593327 + ], + [ + -73.565075771568814, + 45.499714917984868 + ] + ] + ] + }, + "type": "Feature", + "id": "1690", + "properties": { + + "footprint_area": 1674.9280842908665, + "floor_height": 4.0, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1690_0146d7fc.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 10, + "name": "Building_1690", + "number_of_stories_above_ground": 10, + "floor_area": 16749.280842908665, + "maximum_roof_height": 40.0 + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -73.564605989280508, + 45.497402815070672 + ], + [ + -73.564605997519052, + 45.497401799005075 + ], + [ + -73.565175318297236, + 45.497402810638292 + ], + [ + -73.565175310058706, + 45.497343470350891 + ], + [ + -73.565174572793154, + 45.497343470350891 + ], + [ + -73.565174572793154, + 45.497253770511335 + ], + [ + -73.565175310058706, + 45.497253770511335 + ], + [ + -73.565372486332109, + 45.497253758929254 + ], + [ + -73.565371919253579, + 45.497208766225164 + ], + [ + -73.565371920284477, + 45.497015574816565 + ], + [ + -73.564555294128951, + 45.497015276836557 + ], + [ + -73.564555294128951, + 45.497253755362053 + ], + [ + -73.564605989280508, + 45.497253770511335 + ], + [ + -73.564605989280508, + 45.497402815070672 + ] + ] + ] + }, + "type": "Feature", + "id": "1691", + "properties": { + + "footprint_area": 2416.2204562020706, + "floor_height": 3.9999999999999996, + "year_built": 2024, + "detailed_model_filename": "C:\\Users\\umroot\\Downloads\\Group 3\\hb_json\\Building_1691_e4a64903.json", + "type": "Building", + "building_type": "1000", + "number_of_stories": 8, + "name": "Building_1691", + "number_of_stories_above_ground": 8, + "floor_area": 19329.763649616565, + "maximum_roof_height": 31.999999999999996 + } + } + ] +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 00000000..d1a337bf --- /dev/null +++ b/main.py @@ -0,0 +1,24 @@ +from pathlib import Path +from scripts.ep_workflow import energy_plus_workflow +from hub.imports.geometry_factory import GeometryFactory +from hub.helpers.dictionaries import Dictionaries +from hub.imports.construction_factory import ConstructionFactory +from hub.imports.usage_factory import UsageFactory +from hub.imports.weather_factory import WeatherFactory +# Specify the GeoJSON file path +input_files_path = (Path(__file__).parent / 'input_files') +geojson_file_path = input_files_path / 'Lachine_New_Developments.geojson' +output_path = (Path(__file__).parent / 'out_files').resolve() +output_path.mkdir(parents=True, exist_ok=True) +# Create city object from GeoJSON file +city = GeometryFactory('geojson', + path=geojson_file_path, + height_field='maximum_roof_height', + year_of_construction_field='year_built', + function_field='building_type', + function_to_hub=Dictionaries().montreal_function_to_hub_function).city +# Enrich city data +ConstructionFactory('nrcan', city).enrich() +UsageFactory('nrcan', city).enrich() +WeatherFactory('epw', city).enrich() +energy_plus_workflow(city) diff --git a/scripts/ep_workflow.py b/scripts/ep_workflow.py new file mode 100644 index 00000000..0373bd33 --- /dev/null +++ b/scripts/ep_workflow.py @@ -0,0 +1,32 @@ +import glob +import sys +from pathlib import Path +from hub.exports.energy_building_exports_factory import EnergyBuildingsExportsFactory +from hub.imports.results_factory import ResultFactory + +sys.path.append('./') + + +def energy_plus_workflow(city): + try: + out_path = (Path(__file__).parent.parent / 'out_files') + area = 0 + for building in city.buildings: + for ground in building.grounds: + area += ground.perimeter_polygon.area + + print('exporting:') + _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()) + ResultFactory('energy_plus_multiple_buildings', city, out_path).enrich() + + except Exception as ex: + print(ex) + print('error: ', ex) + print('[simulation abort]') + sys.stdout.flush()