building info can now be retrieved via application, user and scenario
This commit is contained in:
parent
1abf76125f
commit
2292bff1b8
|
@ -34,7 +34,7 @@ class Archetype:
|
||||||
Get name
|
Get name
|
||||||
:return: string
|
:return: string
|
||||||
"""
|
"""
|
||||||
return f'{self._name}_lod{self._lod}'
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def systems(self) -> List[System]:
|
def systems(self) -> List[System]:
|
||||||
|
|
|
@ -55,7 +55,7 @@ class System:
|
||||||
Get name
|
Get name
|
||||||
:return: string
|
:return: string
|
||||||
"""
|
"""
|
||||||
return f'{self._name}_lod{self._lod}'
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def demand_types(self):
|
def demand_types(self):
|
||||||
|
|
|
@ -46,7 +46,7 @@ class MontrealCustomEnergySystemParameters:
|
||||||
else:
|
else:
|
||||||
_generic_energy_systems = city.generic_energy_systems
|
_generic_energy_systems = city.generic_energy_systems
|
||||||
for building in city.buildings:
|
for building in city.buildings:
|
||||||
archetype_name = f'{building.energy_systems_archetype_name}_lod1.0'
|
archetype_name = building.energy_systems_archetype_name
|
||||||
try:
|
try:
|
||||||
archetype = self._search_archetypes(montreal_custom_catalog, archetype_name)
|
archetype = self._search_archetypes(montreal_custom_catalog, archetype_name)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
@ -54,9 +54,12 @@ class MontrealCustomEnergySystemParameters:
|
||||||
archetype_name)
|
archetype_name)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
_energy_systems_connection_table, _generic_energy_systems \
|
_energy_systems_connection_table, _generic_energy_systems = self._create_generic_systems(
|
||||||
= self._create_generic_systems(archetype, building,
|
archetype,
|
||||||
_energy_systems_connection_table, _generic_energy_systems)
|
building,
|
||||||
|
_energy_systems_connection_table,
|
||||||
|
_generic_energy_systems
|
||||||
|
)
|
||||||
city.energy_systems_connection_table = _energy_systems_connection_table
|
city.energy_systems_connection_table = _energy_systems_connection_table
|
||||||
city.generic_energy_systems = _generic_energy_systems
|
city.generic_energy_systems = _generic_energy_systems
|
||||||
|
|
||||||
|
@ -85,7 +88,7 @@ class MontrealCustomEnergySystemParameters:
|
||||||
energy_system.demand_types = _hub_demand_types
|
energy_system.demand_types = _hub_demand_types
|
||||||
_generation_system = GenericGenerationSystem()
|
_generation_system = GenericGenerationSystem()
|
||||||
archetype_generation_equipment = system.generation_system
|
archetype_generation_equipment = system.generation_system
|
||||||
_type = str(system.name).split('_', maxsplit=1)[0]
|
_type = system.name
|
||||||
_generation_system.type = Dictionaries().montreal_system_to_hub_energy_generation_system[
|
_generation_system.type = Dictionaries().montreal_system_to_hub_energy_generation_system[
|
||||||
_type]
|
_type]
|
||||||
_fuel_type = EnergySystemsHelper().montreal_custom_fuel_to_hub_fuel(archetype_generation_equipment.fuel_type)
|
_fuel_type = EnergySystemsHelper().montreal_custom_fuel_to_hub_fuel(archetype_generation_equipment.fuel_type)
|
||||||
|
|
|
@ -33,6 +33,7 @@ class CityObject(Models):
|
||||||
wall_area = Column(Float, nullable=False)
|
wall_area = Column(Float, nullable=False)
|
||||||
windows_area = Column(Float, nullable=False)
|
windows_area = Column(Float, nullable=False)
|
||||||
roof_area = Column(Float, nullable=False)
|
roof_area = Column(Float, nullable=False)
|
||||||
|
total_pv_area = Column(Float, nullable=False)
|
||||||
system_name = Column(String, nullable=False)
|
system_name = Column(String, nullable=False)
|
||||||
created = Column(DateTime, default=datetime.datetime.utcnow)
|
created = Column(DateTime, default=datetime.datetime.utcnow)
|
||||||
updated = Column(DateTime, default=datetime.datetime.utcnow)
|
updated = Column(DateTime, default=datetime.datetime.utcnow)
|
||||||
|
@ -48,6 +49,7 @@ class CityObject(Models):
|
||||||
self.volume = building.volume
|
self.volume = building.volume
|
||||||
self.area = building.floor_area
|
self.area = building.floor_area
|
||||||
self.roof_area = sum(roof.solid_polygon.area for roof in building.roofs)
|
self.roof_area = sum(roof.solid_polygon.area for roof in building.roofs)
|
||||||
|
self.total_pv_area = sum(roof.solid_polygon.area * roof.solar_collectors_area_reduction_factor for roof in building.roofs)
|
||||||
storeys = building.storeys_above_ground
|
storeys = building.storeys_above_ground
|
||||||
if storeys is None:
|
if storeys is None:
|
||||||
storeys = building.max_height / building.average_storey_height
|
storeys = building.max_height / building.average_storey_height
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user