forked from s_ranjbar/city_retrofit
bug in idf.py and added uuid to building_name in geojson importer
This commit is contained in:
parent
7eafd33b33
commit
db1d2362c8
|
@ -446,31 +446,24 @@ class Idf:
|
|||
)
|
||||
|
||||
def _add_infiltration(self, thermal_zone, zone_name):
|
||||
|
||||
for zone in self._idf.idfobjects["ZONE"]:
|
||||
if zone.Name == f'{zone_name}_infiltration':
|
||||
return
|
||||
schedule = f'Infiltration schedules {thermal_zone.usage_name}'
|
||||
self._idf.newidfobject(self._INFILTRATION,
|
||||
Name=f'{zone_name}_infiltration',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
|
||||
)
|
||||
schedule = f'Infiltration schedules {thermal_zone.usage_name}'
|
||||
self._idf.newidfobject(self._INFILTRATION,
|
||||
Name=f'{zone_name}_infiltration',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
|
||||
)
|
||||
|
||||
def _add_ventilation(self, thermal_zone, zone_name):
|
||||
for zone in self._idf.idfobjects["ZONE"]:
|
||||
if zone.Name == f'{zone_name}_ventilation':
|
||||
return
|
||||
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
|
||||
self._idf.newidfobject(self._VENTILATION,
|
||||
Name=f'{zone_name}_ventilation',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.mechanical_air_change
|
||||
)
|
||||
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
|
||||
self._idf.newidfobject(self._VENTILATION,
|
||||
Name=f'{zone_name}_ventilation',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.mechanical_air_change
|
||||
)
|
||||
|
||||
def _add_dhw(self, thermal_zone, zone_name):
|
||||
peak_flow_rate = thermal_zone.domestic_hot_water.peak_flow * thermal_zone.total_floor_area
|
||||
|
@ -514,6 +507,7 @@ class Idf:
|
|||
self._rename_building(self._city.name)
|
||||
self._lod = self._city.level_of_detail.geometry
|
||||
for building in self._city.buildings:
|
||||
print('building name', building.name)
|
||||
for internal_zone in building.internal_zones:
|
||||
if internal_zone.thermal_zones is None:
|
||||
continue
|
||||
|
|
|
@ -5,6 +5,7 @@ Copyright © 2022 Concordia CERC group
|
|||
Project Coder Guillermo Gutierrez Guillermo.GutierrezMorote@concordia.ca
|
||||
"""
|
||||
|
||||
import uuid
|
||||
import json
|
||||
|
||||
import numpy as np
|
||||
|
@ -126,10 +127,11 @@ class Geojson:
|
|||
if function in self._function_to_hub:
|
||||
function = self._function_to_hub[function]
|
||||
geometry = feature['geometry']
|
||||
building_name = ''
|
||||
building_aliases = []
|
||||
if 'id' in feature:
|
||||
building_name = feature['id']
|
||||
else:
|
||||
building_name = uuid.uuid4()
|
||||
if self._aliases_field is not None:
|
||||
|
||||
for alias_field in self._aliases_field:
|
||||
|
|
Loading…
Reference in New Issue
Block a user