Class: BuildingSync::LocationElement
- Inherits:
-
SpatialElement
- Object
- SpatialElement
- BuildingSync::LocationElement
- Defined in:
- lib/buildingsync/model_articulation/location_element.rb
Overview
base class for objects that will configure workflows based on building sync files
Instance Attribute Summary
Attributes inherited from SpatialElement
#space_types, #standards_building_type, #system_type, #total_floor_area
Instance Method Summary collapse
- #determine_climate_zone(standard_to_be_used = nil) ⇒ Object
-
#get_climate_zone ⇒ String
get climate zone.
-
#initialize(base_xml, ns) ⇒ LocationElement
constructor
initialize LocationElement class.
-
#read_city_and_state_name ⇒ Object
read city and state name.
-
#read_climate_zone ⇒ Object
read climate zone.
-
#read_location_values ⇒ Object
read location values.
Methods inherited from SpatialElement
#add_user_defined_field_to_xml_file, #create_space_types, #prepare_final_xml_for_spatial_element, #process_bldg_and_system_type, #read_floor_areas, #set_bldg_and_system_type, #sets_occupancy_bldg_system_types, #validate_positive_number_excluding_zero, #validate_positive_number_including_zero
Methods included from XmlGetSet
#get_prefix, #xget_attribute_for_element, #xget_element, #xget_id, #xget_idrefs, #xget_linked_premises, #xget_name, #xget_or_create, #xget_plurals_text_value, #xget_text, #xget_text_as_bool, #xget_text_as_date, #xget_text_as_dt, #xget_text_as_float, #xget_text_as_integer, #xset_or_create, #xset_text
Methods included from Helper
#help_calculate_hours, #help_convert, #help_count_number_of_days, #help_element_class_type_check, #help_get_attribute_value, #help_get_default_schedule_set, #help_get_duration, #help_get_end_time, #help_get_end_time_sat, #help_get_end_time_sun, #help_get_end_time_weekday, #help_get_or_create, #help_get_schedule_rule_set_from_schedule, #help_get_start_time, #help_get_start_time_sat, #help_get_start_time_sun, #help_get_start_time_weekday, #help_get_text_value, #help_get_text_value_as_bool, #help_get_text_value_as_date, #help_get_text_value_as_datetime, #help_get_text_value_as_float, #help_get_text_value_as_integer, #help_get_zone_name_list, #help_load_doc, #help_print_all_schedules, #help_print_schedule, #help_write_profile
Constructor Details
#initialize(base_xml, ns) ⇒ LocationElement
initialize LocationElement class
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 47 def initialize(base_xml, ns) super(base_xml, ns) @base_xml = base_xml @ns = ns @climate_zone = nil @climate_zone_ashrae = nil @climate_zone_ca_t24 = nil @city_name = nil @state_name = nil read_location_values end |
Instance Method Details
#determine_climate_zone(standard_to_be_used = nil) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 70 def determine_climate_zone(standard_to_be_used = nil) if standard_to_be_used == ASHRAE90_1 if !@climate_zone_ashrae.nil? @climate_zone = @climate_zone_ashrae elsif @climate_zone.nil? && !@climate_zone_ca_t24.nil? @climate_zone = @climate_zone_ca_t24 OpenStudio.logFree(OpenStudio::Warn, 'BuildingSync.LocationElement.determine_climate_zone', "Element ID: #{xget_id} - Standard to use is #{standard_to_be_used} but ASHRAE Climate Zone is nil. Using CA T24: #{@climate_zone}") end elsif standard_to_be_used == CA_TITLE24 if !@climate_zone_ca_t24.nil? @climate_zone = @climate_zone_ca_t24 elsif @climate_zone.nil? && !@climate_zone_ashrae.nil? @climate_zone = @climate_zone_ashrae OpenStudio.logFree(OpenStudio::Warn, 'BuildingSync.LocationElement.determine_climate_zone', "Element ID: #{xget_id} - Standard to use is #{standard_to_be_used} but CA T24 Climate Zone is nil. Using ASHRAE: #{@climate_zone}") end end end |
#get_climate_zone ⇒ String
get climate zone
91 92 93 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 91 def get_climate_zone return @climate_zone end |
#read_city_and_state_name ⇒ Object
read city and state name
116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 116 def read_city_and_state_name if @base_xml.elements["#{@ns}:Address/#{@ns}:City"] @city_name = @base_xml.elements["#{@ns}:Address/#{@ns}:City"].text else @city_name = nil end if @base_xml.elements["#{@ns}:Address/#{@ns}:State"] @state_name = @base_xml.elements["#{@ns}:Address/#{@ns}:State"].text else @state_name = nil end end |
#read_climate_zone ⇒ Object
read climate zone
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 96 def read_climate_zone if @base_xml.elements["#{@ns}:ClimateZoneType/#{@ns}:ASHRAE"] @climate_zone_ashrae = @base_xml.elements["#{@ns}:ClimateZoneType/#{@ns}:ASHRAE/#{@ns}:ClimateZone"].text OpenStudio.logFree(OpenStudio::Info, 'BuildingSync.LocationElement.read_climate_zone', "Element ID: #{xget_id} - ASHRAE Climate Zone: #{@climate_zone_ashrae}") else @climate_zone_ashrae = nil end if @base_xml.elements["#{@ns}:ClimateZoneType/#{@ns}:CaliforniaTitle24"] @climate_zone_ca_t24 = @base_xml.elements["#{@ns}:ClimateZoneType/#{@ns}:CaliforniaTitle24/#{@ns}:ClimateZone"].text OpenStudio.logFree(OpenStudio::Info, 'BuildingSync.LocationElement.read_climate_zone', "Element ID: #{xget_id} - Title24 Climate Zone: #{@climate_zone_ca_t24}") else @climate_zone_ca_t24 = nil end if @climate_zone_ashrae.nil? && @climate_zone_ca_t24.nil? OpenStudio.logFree(OpenStudio::Warn, 'BuildingSync.LocationElement.read_climate_zone', "Element ID: #{xget_id} - Title24 Climate Zone and ASHRAE Climate Zone not found") end end |
#read_location_values ⇒ Object
read location values
62 63 64 65 66 67 68 |
# File 'lib/buildingsync/model_articulation/location_element.rb', line 62 def read_location_values # read in the ASHRAE climate zone read_climate_zone # read city and state name read_city_and_state_name end |