first version
This commit is contained in:
parent
780e356989
commit
07dcffca87
|
@ -1,2 +1,3 @@
|
||||||
# summerschool_building_simulation
|
# summerschool_building_simulation
|
||||||
|
|
||||||
|
This project contains a workflow that takes geometry information from a geojson file and uses Hub to run Energy Plus and obtain the heating, cooling and dhw demands of the buildings.
|
2473
data/summerschool_all_buildings.geojson
Normal file
2473
data/summerschool_all_buildings.geojson
Normal file
File diff suppressed because it is too large
Load Diff
294
data/summerschool_one_building.geojson
Normal file
294
data/summerschool_one_building.geojson
Normal file
|
@ -0,0 +1,294 @@
|
||||||
|
{
|
||||||
|
"type": "FeatureCollection",
|
||||||
|
"features": [
|
||||||
|
{
|
||||||
|
"type": "Feature",
|
||||||
|
"id": 12,
|
||||||
|
"geometry": {
|
||||||
|
"type": "Polygon",
|
||||||
|
"coordinates": [
|
||||||
|
[
|
||||||
|
[
|
||||||
|
-73.57945149010348,
|
||||||
|
45.49793915473101
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57945502047383,
|
||||||
|
45.497935600591106
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57945748913181,
|
||||||
|
45.49793681276347
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57945995778985,
|
||||||
|
45.49793802493576
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57946108986009,
|
||||||
|
45.49793688584562
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57946222064952,
|
||||||
|
45.49793574585649
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57946503164756,
|
||||||
|
45.497932909392325
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.5794800321942,
|
||||||
|
45.497917804072586
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57949503273288,
|
||||||
|
45.49790269875081
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57950823165471,
|
||||||
|
45.49788939886833
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57952143057031,
|
||||||
|
45.497876098984314
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57952481016481,
|
||||||
|
45.49787269972034
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57952818975889,
|
||||||
|
45.49786930045622
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57963374256275,
|
||||||
|
45.49776298233438
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57963739684415,
|
||||||
|
45.497759299424665
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57956562282082,
|
||||||
|
45.49772405755894
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.5795624921933,
|
||||||
|
45.497722521006246
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57955974509859,
|
||||||
|
45.4977252944393
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57953557695755,
|
||||||
|
45.497749634054365
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.5795114087957,
|
||||||
|
45.497773973664174
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57945076790263,
|
||||||
|
45.49783505227953
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57939012687844,
|
||||||
|
45.49789613086214
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57938759058709,
|
||||||
|
45.49789868818189
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57938505429556,
|
||||||
|
45.49790124550157
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57941717242674,
|
||||||
|
45.49791701633786
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.5794136407655,
|
||||||
|
45.497920563278754
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57943256542505,
|
||||||
|
45.497929854507255
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57944202776348,
|
||||||
|
45.49793450461953
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-73.57945149010348,
|
||||||
|
45.49793915473101
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"OBJECTID_12": 12,
|
||||||
|
"gml_id": 1340982,
|
||||||
|
"gml_parent": "fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
|
||||||
|
"citygml_ta": "http://www.opengis.net/citygml/building/2.0",
|
||||||
|
"citygml_fe": "cityObjectMember",
|
||||||
|
"citygml__1": " ",
|
||||||
|
"citygml__2": " ",
|
||||||
|
"gml_descri": " ",
|
||||||
|
"gml_name": " ",
|
||||||
|
"citygml_cr": " ",
|
||||||
|
"citygml_te": " ",
|
||||||
|
"externalRe": " ",
|
||||||
|
"external_1": " ",
|
||||||
|
"external_2": " ",
|
||||||
|
"citygml_ge": " ",
|
||||||
|
"citygml_re": " ",
|
||||||
|
"citygml__3": " ",
|
||||||
|
"citygml_ap": " ",
|
||||||
|
"citygml_cl": " ",
|
||||||
|
"citygml__4": " ",
|
||||||
|
"citygml_fu": " ",
|
||||||
|
"citygml__5": " ",
|
||||||
|
"citygml_us": " ",
|
||||||
|
"citygml__6": " ",
|
||||||
|
"citygml_ye": " ",
|
||||||
|
"citygml__7": " ",
|
||||||
|
"citygml_ro": " ",
|
||||||
|
"citygml__8": " ",
|
||||||
|
"citygml_me": 19.113,
|
||||||
|
"citygml__9": "#m",
|
||||||
|
"citygml_st": " ",
|
||||||
|
"citygml_10": " ",
|
||||||
|
"citygml_11": " ",
|
||||||
|
"citygml_12": " ",
|
||||||
|
"citygml_13": " ",
|
||||||
|
"citygml_14": " ",
|
||||||
|
"citygml_ou": " ",
|
||||||
|
"citygml_in": " ",
|
||||||
|
"citygml_bo": " ",
|
||||||
|
"citygml_le": " ",
|
||||||
|
"citygml_15": " ",
|
||||||
|
"citygml_co": " ",
|
||||||
|
"citygml_ad": " ",
|
||||||
|
"Volume": "2931.350",
|
||||||
|
"parcelle": " ",
|
||||||
|
"OBJECTID": 1056,
|
||||||
|
"gml_id_1": "384b2b1c-2e25-4f6a-b082-d272dba3453f",
|
||||||
|
"gml_pare_1": 1340982,
|
||||||
|
"citygml_16": "http://www.opengis.net/citygml/building/2.0",
|
||||||
|
"citygml_17": "boundedBy",
|
||||||
|
"citygml_18": " ",
|
||||||
|
"citygml_19": " ",
|
||||||
|
"gml_desc_1": " ",
|
||||||
|
"gml_name_1": " ",
|
||||||
|
"citygml_20": " ",
|
||||||
|
"citygml_21": " ",
|
||||||
|
"external_3": " ",
|
||||||
|
"external_4": " ",
|
||||||
|
"external_5": " ",
|
||||||
|
"citygml_22": " ",
|
||||||
|
"citygml_23": " ",
|
||||||
|
"citygml_24": " ",
|
||||||
|
"citygml_25": " ",
|
||||||
|
"citygml_26": " ",
|
||||||
|
"citygml_op": " ",
|
||||||
|
"Area": 191.404,
|
||||||
|
"FID_": 0,
|
||||||
|
"Join_Count": 2,
|
||||||
|
"TARGET_FID": 1058,
|
||||||
|
"gml_id_12": 1340982,
|
||||||
|
"gml_pare_2": "fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
|
||||||
|
"citygml_27": "http://www.opengis.net/citygml/building/2.0",
|
||||||
|
"citygml_28": "cityObjectMember",
|
||||||
|
"citygml_29": " ",
|
||||||
|
"citygml_30": " ",
|
||||||
|
"gml_desc_2": " ",
|
||||||
|
"gml_name_2": " ",
|
||||||
|
"citygml_31": " ",
|
||||||
|
"citygml_32": " ",
|
||||||
|
"external_6": " ",
|
||||||
|
"external_7": " ",
|
||||||
|
"external_8": " ",
|
||||||
|
"citygml_33": " ",
|
||||||
|
"citygml_34": " ",
|
||||||
|
"citygml_35": " ",
|
||||||
|
"citygml_36": " ",
|
||||||
|
"citygml_37": " ",
|
||||||
|
"citygml_38": " ",
|
||||||
|
"citygml_39": " ",
|
||||||
|
"citygml_40": " ",
|
||||||
|
"citygml_41": " ",
|
||||||
|
"citygml_42": " ",
|
||||||
|
"citygml_43": " ",
|
||||||
|
"citygml_44": " ",
|
||||||
|
"citygml_45": " ",
|
||||||
|
"citygml_46": " ",
|
||||||
|
"citygml_47": 19.113,
|
||||||
|
"citygml_48": "#m",
|
||||||
|
"citygml_49": " ",
|
||||||
|
"citygml_50": " ",
|
||||||
|
"citygml_51": " ",
|
||||||
|
"citygml_52": " ",
|
||||||
|
"citygml_53": " ",
|
||||||
|
"citygml_54": " ",
|
||||||
|
"citygml_55": " ",
|
||||||
|
"citygml_56": " ",
|
||||||
|
"citygml_57": " ",
|
||||||
|
"citygml_58": " ",
|
||||||
|
"citygml_59": " ",
|
||||||
|
"citygml_60": " ",
|
||||||
|
"citygml_61": " ",
|
||||||
|
"Volume_1": "2931.350",
|
||||||
|
"Field": 0,
|
||||||
|
"Field1": 0,
|
||||||
|
"OBJECTID_1": 1056,
|
||||||
|
"gml_id_12_": "384b2b1c-2e25-4f6a-b082-d272dba3453f",
|
||||||
|
"gml_pare_3": 1340982,
|
||||||
|
"citygml_62": "http://www.opengis.net/citygml/building/2.0",
|
||||||
|
"citygml_63": "boundedBy",
|
||||||
|
"citygml_64": " ",
|
||||||
|
"citygml_65": " ",
|
||||||
|
"gml_desc_3": " ",
|
||||||
|
"gml_name_3": " ",
|
||||||
|
"citygml_66": " ",
|
||||||
|
"citygml_67": " ",
|
||||||
|
"external_9": " ",
|
||||||
|
"externa_10": " ",
|
||||||
|
"externa_11": " ",
|
||||||
|
"citygml_68": " ",
|
||||||
|
"citygml_69": " ",
|
||||||
|
"citygml_70": " ",
|
||||||
|
"citygml_71": " ",
|
||||||
|
"citygml_72": " ",
|
||||||
|
"citygml_73": " ",
|
||||||
|
"Area_1": 191.404,
|
||||||
|
"cityGML_hi": 0,
|
||||||
|
"Z_Min": 46.1162,
|
||||||
|
"Z_Max": 64.399,
|
||||||
|
"Shape_Leng": 63.6906066955,
|
||||||
|
"ID_UEV": "01036804",
|
||||||
|
"CIVIQUE_DE": " 2170",
|
||||||
|
"CIVIQUE_FI": " 2170",
|
||||||
|
"NOM_RUE": "rue Bishop (MTL)",
|
||||||
|
"MUNICIPALI": 50,
|
||||||
|
"ETAGE_HORS": 3,
|
||||||
|
"NOMBRE_LOG": 1,
|
||||||
|
"ANNEE_CONS": 1900,
|
||||||
|
"CODE_UTILI": 6000,
|
||||||
|
"LIBELLE_UT": "Immeuble à bureaux",
|
||||||
|
"CATEGORIE_": "Régulier",
|
||||||
|
"MATRICULE8": "9839-57-7770-3-000-0000",
|
||||||
|
"SUPERFICIE": 259,
|
||||||
|
"SUPERFIC_1": 490,
|
||||||
|
"NO_ARROND_": "REM19",
|
||||||
|
"Shape_Le_1": 0.00093336765858,
|
||||||
|
"Shape_Ar_1": 3.0845126501e-8,
|
||||||
|
"Z_Min_1": null,
|
||||||
|
"Z_Max_1": null,
|
||||||
|
"Shape_Length": 63.69060669550123,
|
||||||
|
"Shape_Area": 174.69050030775531
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
62
main.py
Normal file
62
main.py
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
import glob
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
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.imports.weather_factory import WeatherFactory
|
||||||
|
from hub.exports.energy_building_exports_factory import EnergyBuildingsExportsFactory
|
||||||
|
from hub.helpers.dictionaries import Dictionaries
|
||||||
|
|
||||||
|
sys.path.append('./')
|
||||||
|
|
||||||
|
try:
|
||||||
|
file_path = (Path(__file__).parent / 'data' / 'summerschool_all_buildings.geojson')
|
||||||
|
out_path = (Path(__file__).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='citygml_me',
|
||||||
|
year_of_construction_field='ANNEE_CONS',
|
||||||
|
function_field='CODE_UTILI',
|
||||||
|
function_to_hub=Dictionaries().montreal_function_to_hub_function).city
|
||||||
|
|
||||||
|
for building in city.buildings:
|
||||||
|
building.year_of_construction = 2022
|
||||||
|
print(f'city created from {file_path}')
|
||||||
|
ConstructionFactory('nrcan', city).enrich()
|
||||||
|
print('enrich constructions... done')
|
||||||
|
UsageFactory('nrcan', city).enrich()
|
||||||
|
print('enrich usage... done')
|
||||||
|
WeatherFactory('epw', city).enrich()
|
||||||
|
print('enrich weather... done')
|
||||||
|
|
||||||
|
for b in city.buildings:
|
||||||
|
print(b.name, b.function, b.year_of_construction, b.floor_area, b.storeys_above_ground)
|
||||||
|
|
||||||
|
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())
|
||||||
|
|
||||||
|
print(f'info: {idf_file}, {csv_file}, {eso_file}')
|
||||||
|
print('[simulation end]')
|
||||||
|
|
||||||
|
except Exception as ex:
|
||||||
|
print(ex)
|
||||||
|
print('error: ', ex)
|
||||||
|
print('[simulation abort]')
|
||||||
|
sys.stdout.flush()
|
Loading…
Reference in New Issue
Block a user