feat: First Commit
This commit is contained in:
parent
db371aecf3
commit
938f15dd9b
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,3 +10,4 @@
|
||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
**/.idea/
|
**/.idea/
|
||||||
cerc_hub.egg-info
|
cerc_hub.egg-info
|
||||||
|
/out_files
|
||||||
|
|
BIN
building_data/Calcul Sup-lot_2023-0428_HYP-BRUTE-90.xlsx
Normal file
BIN
building_data/Calcul Sup-lot_2023-0428_HYP-BRUTE-90.xlsx
Normal file
Binary file not shown.
BIN
building_data/buildings-cad.png
Normal file
BIN
building_data/buildings-cad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 347 KiB |
BIN
building_data/buildings_with_names_from_geojson.jpg
Normal file
BIN
building_data/buildings_with_names_from_geojson.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 169 KiB |
BIN
building_data/group_3_buildings.png
Normal file
BIN
building_data/group_3_buildings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 112 KiB |
2275
input_files/Lachine_New_Developments.geojson
Normal file
2275
input_files/Lachine_New_Developments.geojson
Normal file
File diff suppressed because it is too large
Load Diff
24
main.py
Normal file
24
main.py
Normal file
|
@ -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)
|
32
scripts/ep_workflow.py
Normal file
32
scripts/ep_workflow.py
Normal file
|
@ -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()
|
Loading…
Reference in New Issue
Block a user