UrbanOpt GeoJSON Gem¶ ↑
back to main docs¶ ↑
The URBANoptâ„¢ GeoJSON Gem has been developed by restructuring methods extracted from the urban_geometry_creation and urban_geometry_creation_zoning.
The urban_geometry_creation
measure can be used to create an OpenStudio Model for a building feature from the feature file and create the surrounding buildings that are shading the building feature as shading objects. The arguments used in the measure are the geojson_file
, feature_id
of the building, surrounding_buildings
and scale_footprint_area_by_floor_area
. The surrounding_buildings
argument takes two possible choices - None or Shading Only. The None choice would create no other buildings adjacent to the building feature while the Shading Only option determines what other buildings are shading the building feature and creates them as OpenStudio Shading Surfaces. The scale_footprint_area_by_floor_area
is an optional argument that is set to false by default. When set to true, the building footprint area is calculated from the floor_area/number_of_stories for the building in the GeoJSON file and this footprint area is used to scale the building coordinates and create the building.
The urban_geometry_creation_zoning
measure has the same capabilities as the urban_geometry_creation
measure, however it also creates core and perimeter zones for the spaces in the OpenStudio Model. It takes in the geojson_file
, feature_id
of the building, surrounding_buildings
as arguments.
The main components of the gem are:
-
geojson.rb : Base gem file that imports all modules and classes.
-
extension.rb : The extension class inherits from OpenStudio::Extension::Extension, and overrides the following methods as needed
-
measures_dir
-
files_dir
-
doc_templates_dir
-
measures_dir
-
files_dir
-
doc_templates_dir
-
-
Gemfile and .gemspec : Describe the extension dependencies on other gems.
-
Classes and Modules within
lib/urbanopt/geojson
Modules that do not require instances for calling the methods:
-
URBANopt::GeoJSON::Helper
: Contains methods extracted from the two measures to perform utility-like tasks like -is_shaded
andis_shadowed
. -
URBANopt::GeoJSON::Zoning
: Contains methods extracted fromurban_geometry_creation_zoning
. -
URBANopt::GeoJSON::Model
: Contains methods that perform tasks on an instance ofOpenStudio::Model::Model
.
Classes and subclasses that contain instance-dependant methods and private methods that perform tasks on the given feature.
-
URBANopt::GeoJSON::GeoFile
: Contains aget_feature
method that returns an instance of a Feature Subclass for the the feature type. Also contains methods to validate the GeoJSON file against the GeoJSON schema. -
URBANopt::GeoJSON::Feature
: Contains methods to returnfeature id
,name
,multiple polygons coordinates
which are inherited by classes for all feature types. -
URBANopt::GeoJSON::Building
: A subclass of Feature, contains class methods that are specific to handling features of the Building type. -
URBANopt::GeoJSON::DistrictSystem : A subclass of Feature, contains class methods that are specific to handling features of District System type. Note: This subclass does not contain any methods yet.
-