urbanopt-geojson 0.2.0.pre1 → 0.2.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4010985913ad5a7c4115f4d3e1dc3f137d81157
4
- data.tar.gz: 82061675885f216f28529494fbbe90eef06236d8
3
+ metadata.gz: 1ad031bd7b8b2d22974781fa200d6fc6c233c7cf
4
+ data.tar.gz: a6bab4394e0bf97c15e86bdc054c37420648c184
5
5
  SHA512:
6
- metadata.gz: b4517386698b1df8997784da819c6d353e16678376f55d73318486114257a6e4b38c6125f5a3ec20e4ad153fdaf69fa6911d954b339e5973ad5139f3fc51317b
7
- data.tar.gz: ba38c577f1f2edad1623a06bf3cd6a83c3ea03760c6a031fa6e2370b240bff39245fead20b6e493685882ce6f24073fcaeffb2ec04949e24439fb6ab1277a77b
6
+ metadata.gz: d07f450de4bc75b28452c6d18e5ab4207139fab076a3298ec10b36e13d5eab6ac4dbc002a78dc59adb0dca4770ed4d402deaf3247905df8ae926dc7fc64444d2
7
+ data.tar.gz: 82905227028b1112170d0fe8f9d411af2ba5d275690178ce1d67178952752b13ede774242e115d39cf54260da7f6532e3a4cd23ab61e9b7ff447b9e351240272
data/RDOC_MAIN.md CHANGED
@@ -7,13 +7,19 @@ The URBANopt GeoJSON Gem has been developed by restructuring methods extracted f
7
7
  and
8
8
  [urban_geometry_creation_zoning.](https://github.com/NREL/openstudio-urban-measures/tree/develop/measures/urban_geometry_creation_zoning)
9
9
 
10
- The +urban_geometry_creation+ measure can be used to create an OpenStudio Model for the
11
- building feature and create the surrounding buildings as shading objects.
12
-
13
- The +urban_geometry_creation_zoning+ measure is under development and would be used for creating an OpenStudio
14
- Model with zoning in the future.
15
-
16
- The main components of the gem are:
10
+ The +urban_geometry_creation+ measure can be used to create an OpenStudio Model for a
11
+ building feature from the feature file and create the surrounding buildings that are shading the
12
+ building feature as shading objects.
13
+ The arguments used in the measure are the +GeoJSON File+, +Feature ID+ of the building and +Surrounding Buildings+. The
14
+ Surrounding Buildings argument takes two possible choices - None or Shading Only. The None choice
15
+ would create no other buildings adjacent to the building feature while the Shading Only option
16
+ determines what other buildings are shading the building feature and creates them as OpenStudio Shading Surfaces.
17
+
18
+ The +urban_geometry_creation_zoning+ measure has the same capabilities as the
19
+ +urban_geometry_creation+ measure, however it also creates core and perimeter zones for the spaces
20
+ in the OpenStudio Model. It takes in the same arguments as the +urban_geometry_creation+ measure.
21
+
22
+ The main components of the gem are:
17
23
 
18
24
  - geojson.rb : Base gem file that imports all modules and classes.
19
25
  - extension.rb : The extension class inherits from OpenStudio::Extension::Extension, and
data/README.md CHANGED
@@ -26,9 +26,9 @@ for describing geospatial data related to the built environment.
26
26
 
27
27
  The current functionalities of the URBANopt GeoJSON gem include:
28
28
 
29
- * Validate a GeoJSON file
30
- * Calculate available roof area for photovoltaics.
31
- * Translate Building Feature to an OpenStudio Model.
29
+ * Validate a GeoJSON file against schema.
30
+ * Translate Building Feature to an OpenStudio Model and create zones within OpenStudio Spaces within
31
+ the Model.
32
32
  * Translate Building Feature to OpenStudio Shading Objects.
33
33
 
34
34
  # Releasing
@@ -98,7 +98,7 @@ class UrbanGeometryCreationTest < MiniTest::Unit::TestCase
98
98
 
99
99
  geojson_file = File.absolute_path(File.join(File.dirname(__FILE__), 'nrel_stm_footprints.geojson'))
100
100
 
101
- feature_id = '59a9ce2b42f7d007c059d2f0' # Thermal Test Facility
101
+ feature_id = '59a9ce2b42f7d007c059d2f0'
102
102
 
103
103
  surrounding_buildings = 'ShadingOnly'
104
104
 
@@ -88,8 +88,7 @@ module URBANopt
88
88
  # * +origin_lat_lon+ - _Type:Float_ - An instance of +OpenStudio::PointLatLon+ indicating the latitude and longitude of the origin.
89
89
  # * +runner+ - _Type:String_ - An instance of +OpenStudio::Measure::OSRunner+ for the measure run.
90
90
  # * +zoning+ - _Type:Boolean_ - Value is +true+ if utilizing detailed zoning, else
91
- # +false+. Zoning is set to False by default. Currently, only zoning set to +false+ is
92
- # supported.
91
+ # +false+. Zoning is set to False by default.
93
92
  # * +other_building+ - _Type:URBANopt::GeoJSON::Feature - Optional, allow the user to pass in a different building to process. This is used for creating the other buildings for shading.
94
93
  def create_building(create_method, model, origin_lat_lon, runner, zoning = false, other_building = @feature_json)
95
94
  number_of_stories = other_building[:properties][:number_of_stories]
@@ -134,7 +133,7 @@ module URBANopt
134
133
  spaces.concat(new_spaces)
135
134
  end
136
135
  elsif create_method == :space_per_building
137
- spaces = create_space_per_building(-number_of_stories_below_ground * floor_to_floor_height, number_of_stories_above_ground * floor_to_floor_height, model, origin_lat_lon, runner, zoning)
136
+ spaces = create_space_per_building(-number_of_stories_below_ground * floor_to_floor_height, number_of_stories_above_ground * floor_to_floor_height, model, origin_lat_lon, runner, zoning, other_building)
138
137
  end
139
138
  return spaces
140
139
  end
@@ -294,18 +293,22 @@ module URBANopt
294
293
  # * +origin_lat_lon+ - _Type:Float_ - An instance of +OpenStudio::PointLatLon+ indicating the latidude and longitude of the origin.
295
294
  # * +runner+ - _Type:String_ - An instance of +Openstudio::Measure::OSRunner+ for the measure run.
296
295
  # * +zoning+ - _Type:Boolean_ - Value is +true+ if utilizing detailed zoning, else
297
- # +false+. Zoning is set to False by default. Currently, only zoning set to +false+ is
298
- # supported.
299
- def create_space_per_building(min_elevation, max_elevation, model, origin_lat_lon, runner, zoning = false) #:doc:
300
- geometry = @feature_json[:geometry]
301
- properties = @feature_json[:properties]
296
+ # +false+. Zoning is set to False by default.
297
+ def create_space_per_building(min_elevation, max_elevation, model, origin_lat_lon, runner, zoning = false, other_building) #:doc:
298
+ if other_building
299
+ geometry = other_building[:geometry]
300
+ properties = other_building[:properties]
301
+ else
302
+ geometry = @feature_json[:geometry]
303
+ properties = @feature_json[:properties]
304
+ end
302
305
  if zoning
303
306
  name = properties[:id]
304
307
  else
305
308
  name = properties[:name]
306
309
  end
307
310
  floor_prints = []
308
- multi_polygons = get_multi_polygons
311
+ multi_polygons = get_multi_polygons(other_building)
309
312
  multi_polygons.each do |multi_polygon|
310
313
  if multi_polygon.size > 1
311
314
  runner.registerWarning('Ignoring holes in polygon')
@@ -349,8 +352,7 @@ module URBANopt
349
352
  # origin's latitude and longitude.
350
353
  # * +runner+ - _Type:String_ - An instance of +Openstudio::Measure::OSRunner+ for the measure run.
351
354
  # * +zoning+ - _Type:Boolean_ - Value is +true+ if utilizing detailed zoning, else
352
- # +false+. Zoning is set to False by default. Currently, only zoning set to +false+ is
353
- # supported.
355
+ # +false+. Zoning is set to False by default.
354
356
  def create_space_per_floor(story_number, floor_to_floor_height, model, origin_lat_lon, runner, zoning = false) #:doc:
355
357
  geometry = @feature_json[:geometry]
356
358
  properties = @feature_json[:properties]
@@ -222,8 +222,7 @@ module URBANopt
222
222
  # * +origin_lat_lon+ - _Type:Float_ - An instance of +OpenStudio::PointLatLon+ indicating the latitude and longitude of the origin.
223
223
  # * +runner+ - _Type:String_ - An instance of +Openstudio::Measure::OSRunner+ for the measure run.
224
224
  # * +zoning+ - _Type:Boolean_ - Value is +true+ if utilizing detailed zoning, else
225
- # +false+. Zoning is set to false by default. Currently, zoning set to +false+ is
226
- # only supported.
225
+ # +false+. Zoning is set to false by default.
227
226
  def self.process_other_buildings(building, other_building_type, other_buildings, model, origin_lat_lon, runner, zoning = false)
228
227
  # Empty array to store the new OpenStudio model spaces that need to be converted to shading objects
229
228
  feature_points = building.feature_points(origin_lat_lon, runner, zoning)
@@ -233,7 +232,8 @@ module URBANopt
233
232
  other_buildings[:features].each do |other_building|
234
233
  other_id = other_building[:properties][:id]
235
234
  next if other_id == building.id
236
- if other_building_type == 'ShadingOnly'
235
+ # Consider building, if other building type is ShadingOnly and other id is not equal to building id
236
+ if other_building_type == 'ShadingOnly' && other_id != building.id
237
237
  # Checks if any building point is shaded by any other building point.
238
238
  roof_elevation = other_building[:properties][:roof_elevation]
239
239
  number_of_stories = other_building[:properties][:number_of_stories]
@@ -30,6 +30,6 @@
30
30
 
31
31
  module URBANopt
32
32
  module GeoJSON
33
- VERSION = '0.2.0.pre1'.freeze
33
+ VERSION = '0.2.0.pre2'.freeze
34
34
  end
35
35
  end
@@ -37,5 +37,5 @@ require 'urbanopt/geojson/helper'
37
37
  require 'urbanopt/geojson/model'
38
38
  require 'urbanopt/geojson/zoning'
39
39
  require 'urbanopt/geojson/model'
40
- require 'urbanopt/geojson/extension'
40
+ require 'urbanopt/geojson/derived_extension'
41
41
  require 'urbanopt/geojson/logging'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: urbanopt-geojson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre1
4
+ version: 0.2.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-03-11 00:00:00.000000000 Z
13
+ date: 2020-03-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -189,8 +189,8 @@ files:
189
189
  - lib/urbanopt-geojson.rb
190
190
  - lib/urbanopt/geojson.rb
191
191
  - lib/urbanopt/geojson/building.rb
192
+ - lib/urbanopt/geojson/derived_extension.rb
192
193
  - lib/urbanopt/geojson/district_system.rb
193
- - lib/urbanopt/geojson/extension.rb
194
194
  - lib/urbanopt/geojson/feature.rb
195
195
  - lib/urbanopt/geojson/files/electrical_database.json
196
196
  - lib/urbanopt/geojson/geo_file.rb