feat: First Commit
This commit is contained in:
parent
db371aecf3
commit
938f15dd9b
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,3 +10,4 @@
|
||||
**/__pycache__/
|
||||
**/.idea/
|
||||
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