Compare commits

...

28 Commits

Author SHA1 Message Date
04a56b5695 Rechanged the Minimal.idf to give the necessary results, without additional stuff not used by the tool 2024-01-29 11:46:06 -05:00
082c44b38d Tests to incorporate HVAC systems to EP workflow 2023-11-16 15:51:58 -05:00
428b31354e adapted to no dataframes results 2023-08-11 15:44:25 -04:00
5cb01fc74c Merge remote-tracking branch 'origin/main' into main
# Conflicts:
#	main.py
2023-07-11 16:36:16 -04:00
a2b2ba890c updated sra to the latest version and erased unneeded lines in main 2023-07-11 16:35:13 -04:00
53b2227589 Ongoing developments for the course workshop, including graphs implementation 2023-07-07 10:12:48 -04:00
1a0ec10311 added case study 2023-06-13 15:51:59 -04:00
4f88ddef49 Merge remote-tracking branch 'origin/main' into main 2023-06-08 10:40:00 -04:00
d65e372500 Test 2023-06-08 10:38:53 -04:00
8f533114c6 Merge remote-tracking branch 'origin/main' 2023-06-07 17:02:01 -04:00
537809f3c8 adjusting to changes in hub 2023-06-07 14:48:21 -04:00
9f8642d0b5 Merge remote-tracking branch 'origin/main' into main 2023-06-01 14:12:30 -04:00
89c7f07d00 erased sizing part 2023-06-01 14:12:15 -04:00
b76223a2d6 Credit option incorporated and working correctly 2023-06-01 08:41:09 -04:00
a566d38a85 Complete basic clean up and warning removal 2023-05-31 12:20:02 -04:00
9ff47087eb Complete basic clean up and warning removal 2023-05-31 10:49:17 -04:00
628f43ee78 Deleted multiplication by 12 in peak 2023-05-30 08:14:11 -04:00
8dd6d4c235 working project with all results 2023-05-29 15:10:15 -04:00
f9f31ac154 Merge remote-tracking branch 'origin/main' into main 2023-05-29 14:59:03 -04:00
1f2bd09ac7 added more results to the list 2023-05-29 14:58:51 -04:00
1f9ef0513a Merge remote-tracking branch 'origin/main' 2023-05-19 16:12:39 -04:00
1cb4050ae4 updating readme 2023-05-19 15:49:57 -04:00
ba2d117d08 Incorporation of ventilation. Working. 2023-05-19 11:20:42 -04:00
c04493b8a1 cleaned formatting 2023-05-18 11:36:45 -04:00
8ec092a1ae added peak loads and consumption to results of the workflow 2023-05-18 11:33:14 -04:00
229112387e Merge remote-tracking branch 'origin/main' into main 2023-05-02 12:42:42 -04:00
adf62d56db fixed bug not printing results when building not processed 2023-05-02 12:39:51 -04:00
94d933be4e Incorporation of outputs of all the variables in excel, and pandas dataframe data for yearly values in the cashflow (only capital and reposition, pending operational, end of life and maintenance) 2023-05-01 16:38:44 -04:00
14 changed files with 6950 additions and 1307560 deletions

View File

@ -1,13 +1,25 @@
# monthly_energy_balance_workflow
This tool calculates the monthly energy balance for each building in a given region.
It provides as results the energy demand and consumption separated in:
- Heating
- Cooling
- Domestic Hot Water
Also, electrical demand of:
- Lighting
- Other appliances
And heating and cooling peak loads.
All these results are provided both, monthly a yearly based.
The following assumptions are taken:
- No building in the region have attics
- All buildings have basement but those are not heated
- The construction details come from nrel
- The usage details come from comnet
- The heated volume is 85% of the total volume, assuming that the rest is occupied by internal walls
- The construction details come from nrcan
- The usage details come from nrcan
- The system details come from the Montreal Custom catalog
#### Dependencies
@ -18,50 +30,3 @@ You will need to install the following dependencies in your computer in order to
+ Simplified Radiosity Algorithm (mail to: guillermo.gutierrezmorote@concordia.ca)
After installing these tools you should include their paths in Path.
## installation
##### Linux / Mac
Open a terminal and run the following commands.
```
$ mkdir monthly_enery_balance_workflow
$ cd monthly_enery_balance_workflow
$ git clone https://binarycat.org/git/PMAU/monthly_enery_balance_workflow.git
MISSING CONNECTING TO HUB, SIMLPIFIED_RADIOSITY_ALGORITHM AND MONTHLYENERGYBALANCE!!!!!!!!!
$ python -m pip install -r ../requirements.txt
```
##### Windows
Open a terminal and run the following commands.
```
c:\> mkdir monthly_enery_balance_workflow
c:\> cd monthly_enery_balance_workflow
c:\> git clone https://binarycat.org/git/PMAU/monthly_enery_balance_workflow.git
MISSING CONNECTING TO HUB, SIMLPIFIED_RADIOSITY_ALGORITHM AND MONTHLYENERGYBALANCE!!!!!!!!!
c:\> python.exe -m pip install -r ../requirements.txt
```
#### usage
##### Linux / Mac
Open a terminal and run the following command
```
$ python main.py
```
##### Windows
Open a terminal and run the following command.
```
c:\> python.exe main.py
```

File diff suppressed because it is too large Load Diff

View File

@ -1,594 +0,0 @@
{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"id":1,
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
-73.580414175680588,
45.497641136608358
],
[
-73.580414175680588,
45.498641136608358
],
[
-73.581414175680588,
45.498641136608358
],
[
-73.581414175680588,
45.497641136608358
],
[
-73.580414175680588,
45.497641136608358
]
]
]
},
"properties":{
"OBJECTID_12":1,
"gml_id":"1340908",
"gml_parent":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_ta":"http://www.opengis.net/citygml/building/2.0",
"citygml_fe":"cityObjectMember",
"citygml__1":" ",
"citygml__2":" ",
"gml_descri":" ",
"gml_name":" ",
"citygml_cr":" ",
"citygml_te":" ",
"externalRe":" ",
"external_1":" ",
"external_2":" ",
"citygml_ge":" ",
"citygml_re":" ",
"citygml__3":" ",
"citygml_ap":" ",
"citygml_cl":" ",
"citygml__4":" ",
"citygml_fu":" ",
"citygml__5":" ",
"citygml_us":" ",
"citygml__6":" ",
"citygml_ye":" ",
"citygml__7":" ",
"citygml_ro":" ",
"citygml__8":" ",
"citygml_me":21.824000000000002,
"citygml__9":"#m",
"citygml_st":" ",
"citygml_10":" ",
"citygml_11":" ",
"citygml_12":" ",
"citygml_13":" ",
"citygml_14":" ",
"citygml_ou":" ",
"citygml_in":" ",
"citygml_bo":" ",
"citygml_le":" ",
"citygml_15":" ",
"citygml_co":" ",
"citygml_ad":" ",
"Volume":"2783.169",
"parcelle":" ",
"OBJECTID":778,
"gml_id_1":"ebc7f916-d094-4de0-8c35-fc18eb8622f2",
"gml_pare_1":"1340908",
"citygml_16":"http://www.opengis.net/citygml/building/2.0",
"citygml_17":"boundedBy",
"citygml_18":" ",
"citygml_19":" ",
"gml_desc_1":" ",
"gml_name_1":" ",
"citygml_20":" ",
"citygml_21":" ",
"external_3":" ",
"external_4":" ",
"external_5":" ",
"citygml_22":" ",
"citygml_23":" ",
"citygml_24":" ",
"citygml_25":" ",
"citygml_26":" ",
"citygml_op":" ",
"Area":"229.287",
"FID_":0,
"Join_Count":2,
"TARGET_FID":779,
"gml_id_12":"1340908",
"gml_pare_2":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_27":"http://www.opengis.net/citygml/building/2.0",
"citygml_28":"cityObjectMember",
"citygml_29":" ",
"citygml_30":" ",
"gml_desc_2":" ",
"gml_name_2":" ",
"citygml_31":" ",
"citygml_32":" ",
"external_6":" ",
"external_7":" ",
"external_8":" ",
"citygml_33":" ",
"citygml_34":" ",
"citygml_35":" ",
"citygml_36":" ",
"citygml_37":" ",
"citygml_38":" ",
"citygml_39":" ",
"citygml_40":" ",
"citygml_41":" ",
"citygml_42":" ",
"citygml_43":" ",
"citygml_44":" ",
"citygml_45":" ",
"citygml_46":" ",
"citygml_47":21.824000000000002,
"citygml_48":"#m",
"citygml_49":" ",
"citygml_50":" ",
"citygml_51":" ",
"citygml_52":" ",
"citygml_53":" ",
"citygml_54":" ",
"citygml_55":" ",
"citygml_56":" ",
"citygml_57":" ",
"citygml_58":" ",
"citygml_59":" ",
"citygml_60":" ",
"citygml_61":" ",
"Volume_1":"2783.169",
"Field":0,
"Field1":0,
"OBJECTID_1":778,
"gml_id_12_":"ebc7f916-d094-4de0-8c35-fc18eb8622f2",
"gml_pare_3":"1340908",
"citygml_62":"http://www.opengis.net/citygml/building/2.0",
"citygml_63":"boundedBy",
"citygml_64":" ",
"citygml_65":" ",
"gml_desc_3":" ",
"gml_name_3":" ",
"citygml_66":" ",
"citygml_67":" ",
"external_9":" ",
"externa_10":" ",
"externa_11":" ",
"citygml_68":" ",
"citygml_69":" ",
"citygml_70":" ",
"citygml_71":" ",
"citygml_72":" ",
"citygml_73":" ",
"Area_1":"229.287",
"cityGML_hi":0,
"Z_Min":49.0745,
"Z_Max":69.165000000000006,
"Shape_Leng":59.532834838799999,
"ID_UEV":"01002777",
"CIVIQUE_DE":" 1460",
"CIVIQUE_FI":" 1460",
"NOM_RUE":"rue Sherbrooke Ouest (MTL+MTO+WMT)",
"MUNICIPALI":"50",
"ETAGE_HORS":3,
"NOMBRE_LOG":1,
"ANNEE_CONS":1885,
"CODE_UTILI":"5010",
"LIBELLE_UT":"Immeuble commercial",
"CATEGORIE_":"Régulier",
"MATRICULE8":"9839-57-1941-6-000-0000",
"SUPERFICIE":193,
"SUPERFIC_1":609,
"NO_ARROND_":"REM19",
"Shape_Le_1":0.00076452447366199996,
"Shape_Ar_1":2.2162879886799998e-08,
"Z_Min_1":null,
"Z_Max_1":null,
"Shape_Length":59.532834838827348,
"Shape_Area":161.83671944596372
}
},
{
"type":"Feature",
"id":2,
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
-73.581414175680588,
45.497641136608358
]
,
[
-73.581414175680588,
45.498441136608358
],
[
-73.582214175680588,
45.498441136608358
],
[
-73.582214175680588,
45.497641136608358
],
[
-73.581414175680588,
45.497641136608358
]
]
]
},
"properties":{
"OBJECTID_12":2,
"gml_id":"1340974",
"gml_parent":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_ta":"http://www.opengis.net/citygml/building/2.0",
"citygml_fe":"cityObjectMember",
"citygml__1":" ",
"citygml__2":" ",
"gml_descri":" ",
"gml_name":" ",
"citygml_cr":" ",
"citygml_te":" ",
"externalRe":" ",
"external_1":" ",
"external_2":" ",
"citygml_ge":" ",
"citygml_re":" ",
"citygml__3":" ",
"citygml_ap":" ",
"citygml_cl":" ",
"citygml__4":" ",
"citygml_fu":" ",
"citygml__5":" ",
"citygml_us":" ",
"citygml__6":" ",
"citygml_ye":" ",
"citygml__7":" ",
"citygml_ro":" ",
"citygml__8":" ",
"citygml_me":21.643999999999998,
"citygml__9":"#m",
"citygml_st":" ",
"citygml_10":" ",
"citygml_11":" ",
"citygml_12":" ",
"citygml_13":" ",
"citygml_14":" ",
"citygml_ou":" ",
"citygml_in":" ",
"citygml_bo":" ",
"citygml_le":" ",
"citygml_15":" ",
"citygml_co":" ",
"citygml_ad":" ",
"Volume":"8410.522",
"parcelle":" ",
"OBJECTID":779,
"gml_id_1":"96e73b07-262d-43a8-84ce-608133b39f16",
"gml_pare_1":"1340974",
"citygml_16":"http://www.opengis.net/citygml/building/2.0",
"citygml_17":"boundedBy",
"citygml_18":" ",
"citygml_19":" ",
"gml_desc_1":" ",
"gml_name_1":" ",
"citygml_20":" ",
"citygml_21":" ",
"external_3":" ",
"external_4":" ",
"external_5":" ",
"citygml_22":" ",
"citygml_23":" ",
"citygml_24":" ",
"citygml_25":" ",
"citygml_26":" ",
"citygml_op":" ",
"Area":"553.859",
"FID_":0,
"Join_Count":3,
"TARGET_FID":780,
"gml_id_12":"1340974",
"gml_pare_2":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_27":"http://www.opengis.net/citygml/building/2.0",
"citygml_28":"cityObjectMember",
"citygml_29":" ",
"citygml_30":" ",
"gml_desc_2":" ",
"gml_name_2":" ",
"citygml_31":" ",
"citygml_32":" ",
"external_6":" ",
"external_7":" ",
"external_8":" ",
"citygml_33":" ",
"citygml_34":" ",
"citygml_35":" ",
"citygml_36":" ",
"citygml_37":" ",
"citygml_38":" ",
"citygml_39":" ",
"citygml_40":" ",
"citygml_41":" ",
"citygml_42":" ",
"citygml_43":" ",
"citygml_44":" ",
"citygml_45":" ",
"citygml_46":" ",
"citygml_47":21.643999999999998,
"citygml_48":"#m",
"citygml_49":" ",
"citygml_50":" ",
"citygml_51":" ",
"citygml_52":" ",
"citygml_53":" ",
"citygml_54":" ",
"citygml_55":" ",
"citygml_56":" ",
"citygml_57":" ",
"citygml_58":" ",
"citygml_59":" ",
"citygml_60":" ",
"citygml_61":" ",
"Volume_1":"8410.522",
"Field":0,
"Field1":0,
"OBJECTID_1":779,
"gml_id_12_":"96e73b07-262d-43a8-84ce-608133b39f16",
"gml_pare_3":"1340974",
"citygml_62":"http://www.opengis.net/citygml/building/2.0",
"citygml_63":"boundedBy",
"citygml_64":" ",
"citygml_65":" ",
"gml_desc_3":" ",
"gml_name_3":" ",
"citygml_66":" ",
"citygml_67":" ",
"external_9":" ",
"externa_10":" ",
"externa_11":" ",
"citygml_68":" ",
"citygml_69":" ",
"citygml_70":" ",
"citygml_71":" ",
"citygml_72":" ",
"citygml_73":" ",
"Area_1":"553.859",
"cityGML_hi":0,
"Z_Min":47.817900000000002,
"Z_Max":69.462000000000003,
"Shape_Leng":124.143194192,
"ID_UEV":"01002773",
"CIVIQUE_DE":" 1438",
"CIVIQUE_FI":" 1438",
"NOM_RUE":"rue Sherbrooke Ouest (MTL+MTO+WMT)",
"MUNICIPALI":"50",
"ETAGE_HORS":3,
"NOMBRE_LOG":2,
"ANNEE_CONS":1885,
"CODE_UTILI":"1000",
"LIBELLE_UT":"Logement",
"CATEGORIE_":"Régulier",
"MATRICULE8":"9839-57-4570-0-000-0000",
"SUPERFICIE":249,
"SUPERFIC_1":506,
"NO_ARROND_":"REM19",
"Shape_Le_1":0.00099703639048799998,
"Shape_Ar_1":2.8543276304299999e-08,
"Z_Min_1":null,
"Z_Max_1":null,
"Shape_Length":124.143194192441,
"Shape_Area":464.30094602931189
}
},
{
"type":"Feature",
"id":3,
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
-73.581914175680588,
45.498441136608358
],
[
-73.581414175680588,
45.498441136608358
],
[
-73.581414175680588,
45.498641136608358
],
[
-73.580914175680588,
45.498641136608358
],
[
-73.580914175680588,
45.499641136608358
],
[
-73.581914175680588,
45.499641136608358
],
[
-73.581914175680588,
45.498441136608358
]
]
]
},
"properties":{
"OBJECTID_12":3,
"gml_id":"1340910",
"gml_parent":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_ta":"http://www.opengis.net/citygml/building/2.0",
"citygml_fe":"cityObjectMember",
"citygml__1":" ",
"citygml__2":" ",
"gml_descri":" ",
"gml_name":" ",
"citygml_cr":" ",
"citygml_te":" ",
"externalRe":" ",
"external_1":" ",
"external_2":" ",
"citygml_ge":" ",
"citygml_re":" ",
"citygml__3":" ",
"citygml_ap":" ",
"citygml_cl":" ",
"citygml__4":" ",
"citygml_fu":" ",
"citygml__5":" ",
"citygml_us":" ",
"citygml__6":" ",
"citygml_ye":" ",
"citygml__7":" ",
"citygml_ro":" ",
"citygml__8":" ",
"citygml_me":21.916,
"citygml__9":"#m",
"citygml_st":" ",
"citygml_10":" ",
"citygml_11":" ",
"citygml_12":" ",
"citygml_13":" ",
"citygml_14":" ",
"citygml_ou":" ",
"citygml_in":" ",
"citygml_bo":" ",
"citygml_le":" ",
"citygml_15":" ",
"citygml_co":" ",
"citygml_ad":" ",
"Volume":"2257.436",
"parcelle":" ",
"OBJECTID":780,
"gml_id_1":"8222a1c7-e161-421a-8478-22d2a116e0b4",
"gml_pare_1":"1340910",
"citygml_16":"http://www.opengis.net/citygml/building/2.0",
"citygml_17":"boundedBy",
"citygml_18":" ",
"citygml_19":" ",
"gml_desc_1":" ",
"gml_name_1":" ",
"citygml_20":" ",
"citygml_21":" ",
"external_3":" ",
"external_4":" ",
"external_5":" ",
"citygml_22":" ",
"citygml_23":" ",
"citygml_24":" ",
"citygml_25":" ",
"citygml_26":" ",
"citygml_op":" ",
"Area":"144.697",
"FID_":0,
"Join_Count":2,
"TARGET_FID":781,
"gml_id_12":"1340910",
"gml_pare_2":"fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_27":"http://www.opengis.net/citygml/building/2.0",
"citygml_28":"cityObjectMember",
"citygml_29":" ",
"citygml_30":" ",
"gml_desc_2":" ",
"gml_name_2":" ",
"citygml_31":" ",
"citygml_32":" ",
"external_6":" ",
"external_7":" ",
"external_8":" ",
"citygml_33":" ",
"citygml_34":" ",
"citygml_35":" ",
"citygml_36":" ",
"citygml_37":" ",
"citygml_38":" ",
"citygml_39":" ",
"citygml_40":" ",
"citygml_41":" ",
"citygml_42":" ",
"citygml_43":" ",
"citygml_44":" ",
"citygml_45":" ",
"citygml_46":" ",
"citygml_47":21.916,
"citygml_48":"#m",
"citygml_49":" ",
"citygml_50":" ",
"citygml_51":" ",
"citygml_52":" ",
"citygml_53":" ",
"citygml_54":" ",
"citygml_55":" ",
"citygml_56":" ",
"citygml_57":" ",
"citygml_58":" ",
"citygml_59":" ",
"citygml_60":" ",
"citygml_61":" ",
"Volume_1":"2257.436",
"Field":0,
"Field1":0,
"OBJECTID_1":780,
"gml_id_12_":"8222a1c7-e161-421a-8478-22d2a116e0b4",
"gml_pare_3":"1340910",
"citygml_62":"http://www.opengis.net/citygml/building/2.0",
"citygml_63":"boundedBy",
"citygml_64":" ",
"citygml_65":" ",
"gml_desc_3":" ",
"gml_name_3":" ",
"citygml_66":" ",
"citygml_67":" ",
"external_9":" ",
"externa_10":" ",
"externa_11":" ",
"citygml_68":" ",
"citygml_69":" ",
"citygml_70":" ",
"citygml_71":" ",
"citygml_72":" ",
"citygml_73":" ",
"Area_1":"144.697",
"cityGML_hi":0,
"Z_Min":48.983400000000003,
"Z_Max":67.617000000000004,
"Shape_Leng":52.283656634099998,
"ID_UEV":"01002775",
"CIVIQUE_DE":" 1448",
"CIVIQUE_FI":" 1448",
"NOM_RUE":"rue Sherbrooke Ouest (MTL+MTO+WMT)",
"MUNICIPALI":"50",
"ETAGE_HORS":3,
"NOMBRE_LOG":1,
"ANNEE_CONS":1885,
"CODE_UTILI":"5010",
"LIBELLE_UT":"Immeuble commercial",
"CATEGORIE_":"Régulier",
"MATRICULE8":"9839-57-3057-9-000-0000",
"SUPERFICIE":167,
"SUPERFIC_1":354,
"NO_ARROND_":"REM19",
"Shape_Le_1":0.00074417728924999998,
"Shape_Ar_1":1.92186900974e-08,
"Z_Min_1":null,
"Z_Max_1":null,
"Shape_Length":52.283656634094768,
"Shape_Area":123.24449716965384
}
}
]
}

View File

@ -1,409 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<core:CityModel xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:gen="http://www.opengis.net/citygml/generics/2.0" xmlns:dem="http://www.opengis.net/citygml/relief/2.0" xmlns:app="http://www.opengis.net/citygml/appearance/2.0" xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:pbase="http://www.opengis.net/citygml/profiles/base/2.0" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:bldg="http://www.opengis.net/citygml/building/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0">
<gml:boundedBy>
<gml:Envelope srsName="EPSG:26911" srsDimension="3">
<gml:lowerCorner>326011.03601000085 5526048.416990001 -1.6000000000058208</gml:lowerCorner>
<gml:upperCorner>329466.6600299999 5529018.72205 9.80000000000291</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<core:cityObjectMember>
<bldg:Building gml:id="BLD109438">
<gen:doubleAttribute name="gross_floor_area">
<gen:value>291</gen:value>
</gen:doubleAttribute>
<gen:stringAttribute name="gross_floor_raea_unit">
<gen:value>m2</gen:value>
</gen:stringAttribute>
<bldg:function>residential</bldg:function>
<bldg:yearOfConstruction>1996</bldg:yearOfConstruction>
<bldg:measuredHeight>5.3</bldg:measuredHeight>
<bldg:storeysAboveGround>1</bldg:storeysAboveGround>
<bldg:lod2Solid>
<gml:Solid srsName="EPSG:26911" srsDimension="3">
<gml:exterior>
<gml:CompositeSurface>
<gml:surfaceMember xlink:href="#UUID_854e7876-bcb7-43f5-9f4b-7c55803cf04f"/>
<gml:surfaceMember xlink:href="#UUID_50045e42-87aa-4aa4-b179-99d03a5569df"/>
<gml:surfaceMember xlink:href="#UUID_6138b267-e734-4830-98f8-a79fc4d38da4"/>
<gml:surfaceMember xlink:href="#UUID_7e4a20ee-4581-4e9a-a661-3e80c79ae226"/>
<gml:surfaceMember xlink:href="#UUID_770546ef-e544-4d39-8747-e5c6c88d5725"/>
<gml:surfaceMember xlink:href="#UUID_0f22b07c-8bd5-43d1-8904-c96a5a0456ce"/>
<gml:surfaceMember xlink:href="#UUID_b6219259-c948-487a-96dc-25f9ce257974"/>
<gml:surfaceMember xlink:href="#UUID_d806c8f3-93e1-4155-ab28-743fed870f6b"/>
<gml:surfaceMember xlink:href="#UUID_da660fbf-9aea-4895-8d9c-cf5fab95862e"/>
<gml:surfaceMember xlink:href="#UUID_6315337c-3919-423e-9e46-35fc5f005b7d"/>
<gml:surfaceMember xlink:href="#UUID_6bed5c5e-9ee9-4b3a-bfbc-fac54c0f2090"/>
<gml:surfaceMember xlink:href="#UUID_8f4f6388-d576-4ded-925a-fd01d43e3c11"/>
<gml:surfaceMember xlink:href="#UUID_ad685374-7888-41cf-8464-48c037230174"/>
<gml:surfaceMember xlink:href="#UUID_1b440294-d10f-49e2-9c65-78aa0a57a389"/>
<gml:surfaceMember xlink:href="#UUID_4d4017ed-3a71-43c7-a79c-04acd9f86433"/>
<gml:surfaceMember xlink:href="#UUID_b7c0600b-0c3b-4b8c-8f5f-11d8f774966e"/>
<gml:surfaceMember xlink:href="#UUID_18f19ab4-f128-41a0-ab05-34d91ad061b9"/>
<gml:surfaceMember xlink:href="#UUID_e5b962d8-6186-4e78-ae08-fc0c00484e8c"/>
<gml:surfaceMember xlink:href="#UUID_eebbc322-bf68-4c56-a826-392b617db97c"/>
<gml:surfaceMember xlink:href="#UUID_16a00d48-90a4-4cd1-94e6-0654a5b9b1d2"/>
<gml:surfaceMember xlink:href="#UUID_4832dea6-f237-45ec-a711-ce1fc27b7e3b"/>
</gml:CompositeSurface>
</gml:exterior>
</gml:Solid>
</bldg:lod2Solid>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_2e3a196c-b5b1-4ee4-af82-329ced61e624">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_854e7876-bcb7-43f5-9f4b-7c55803cf04f">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329231.5010599997 5528270.404139999 4.311470000000554 329229.15295 5528271.14002 3.8000000000029104 329229.30395000055 5528269.304020001 3.8000000000029104 329231.5010599997 5528270.404139999 4.311470000000554</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_9a4410b3-f53c-468a-aef9-1e9f1ba88748">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_50045e42-87aa-4aa4-b179-99d03a5569df">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329248.8121399991 5528267.658840001 4.925719999999274 329254.11205999926 5528262.99903 3.8000000000029104 329253.52796000056 5528272.956 3.8000000000029104 329248.8121399991 5528267.658840001 4.925719999999274</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_d4f2198a-dd18-4fe2-a1f3-33f47393cb22">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_6138b267-e734-4830-98f8-a79fc4d38da4">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329246.16602000035 5528272.533020001 0 329246.16602000035 5528272.533020001 3.8000000000029104 329253.52796000056 5528272.956 3.8000000000029104 329253.52796000056 5528272.956 0 329246.16602000035 5528272.533020001 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_3d62148d-9d75-455f-86aa-1c0877942853">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_7e4a20ee-4581-4e9a-a661-3e80c79ae226">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329241.7199700009 5528276.307010001 0 329241.7199700009 5528276.307010001 3.8000000000029104 329246.16602000035 5528272.533020001 3.8000000000029104 329246.16602000035 5528272.533020001 0 329241.7199700009 5528276.307010001 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_b59d0530-9980-46ae-8452-e0a07cfdf84d">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_770546ef-e544-4d39-8747-e5c6c88d5725">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329237.9890100006 5528272.159 0 329237.9890100006 5528272.159 3.8000000000029104 329241.7199700009 5528276.307010001 3.8000000000029104 329241.7199700009 5528276.307010001 0 329237.9890100006 5528272.159 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_c0bd57d9-a02c-40d5-b467-3fd57478e93b">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_0f22b07c-8bd5-43d1-8904-c96a5a0456ce">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329233.3360600006 5528276.213989999 0 329233.3360600006 5528276.213989999 3.8000000000029104 329237.9890100006 5528272.159 3.8000000000029104 329237.9890100006 5528272.159 0 329233.3360600006 5528276.213989999 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_2ff7cfd9-a3d1-4c76-b30e-501cc012b663">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_b6219259-c948-487a-96dc-25f9ce257974">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329229.15295 5528271.14002 0 329229.15295 5528271.14002 3.8000000000029104 329233.3360600006 5528276.213989999 3.8000000000029104 329233.3360600006 5528276.213989999 0 329229.15295 5528271.14002 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_4bcf78ac-c688-40f8-86ca-19bd790a6647">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_d806c8f3-93e1-4155-ab28-743fed870f6b">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329229.30395000055 5528269.304020001 0 329229.30395000055 5528269.304020001 3.8000000000029104 329229.15295 5528271.14002 3.8000000000029104 329229.15295 5528271.14002 0 329229.30395000055 5528269.304020001 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_5677b3e5-abef-4bc0-87a3-3366fc38e6f9">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_da660fbf-9aea-4895-8d9c-cf5fab95862e">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329242.40003000014 5528257.71503 0 329242.40003000014 5528257.71503 3.8000000000029104 329229.30395000055 5528269.304020001 3.8000000000029104 329229.30395000055 5528269.304020001 0 329242.40003000014 5528257.71503 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_e32a4a70-ad52-4f92-a7e4-bcaeb38ff7c9">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_6315337c-3919-423e-9e46-35fc5f005b7d">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329247.3289800007 5528262.52503 0 329247.3289800007 5528262.52503 3.8000000000029104 329242.40003000014 5528257.71503 3.8000000000029104 329242.40003000014 5528257.71503 0 329247.3289800007 5528262.52503 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_b1442311-0705-4bec-a28d-a81db9bd2f5d">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_6bed5c5e-9ee9-4b3a-bfbc-fac54c0f2090">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329254.11205999926 5528262.99903 0 329254.11205999926 5528262.99903 3.8000000000029104 329247.3289800007 5528262.52503 3.8000000000029104 329247.3289800007 5528262.52503 0 329254.11205999926 5528262.99903 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:WallSurface gml:id="UUID_63185eaf-4f7b-481b-b912-193cfcb4316a">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_8f4f6388-d576-4ded-925a-fd01d43e3c11">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329253.52796000056 5528272.956 0 329253.52796000056 5528272.956 3.8000000000029104 329254.11205999926 5528262.99903 3.8000000000029104 329254.11205999926 5528262.99903 0 329253.52796000056 5528272.956 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:WallSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:GroundSurface gml:id="UUID_e348daa3-75bc-44c5-b203-aca0902b4034">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_ad685374-7888-41cf-8464-48c037230174">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329253.52796000056 5528272.956 0 329254.11205999926 5528262.99903 0 329247.3289800007 5528262.52503 0 329242.40003000014 5528257.71503 0 329229.30395000055 5528269.304020001 0 329229.15295 5528271.14002 0 329233.3360600006 5528276.213989999 0 329237.9890100006 5528272.159 0 329241.7199700009 5528276.307010001 0 329246.16602000035 5528272.533020001 0 329253.52796000056 5528272.956 0</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:GroundSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_1b3328ee-ecdb-45a9-b6f3-e36247f4929e">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_1b440294-d10f-49e2-9c65-78aa0a57a389">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329246.16602000035 5528272.533020001 3.8000000000029104 329244.33748999983 5528267.074109999 4.999100000000908 329245.1323099993 5528267.42457 4.930840000000899 329248.8121399991 5528267.658840001 4.925719999999274 329253.52796000056 5528272.956 3.8000000000029104 329246.16602000035 5528272.533020001 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_02a78c5a-3d35-4491-9801-64aa42addf7e">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_4d4017ed-3a71-43c7-a79c-04acd9f86433">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329241.7199700009 5528276.307010001 3.8000000000029104 329242.3462899998 5528267.00502 5.30000000000291 329244.33748999983 5528267.074109999 4.999100000000908 329246.16602000035 5528272.533020001 3.8000000000029104 329241.7199700009 5528276.307010001 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_f550a210-6813-4f8a-b826-7f7965b50a4a">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_b7c0600b-0c3b-4b8c-8f5f-11d8f774966e">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329237.9890100006 5528272.159 3.8000000000029104 329238.32637000084 5528266.609999999 4.6887600000045495 329242.1777599994 5528266.829500001 5.298219999996945 329242.3462899998 5528267.00502 5.30000000000291 329241.7199700009 5528276.307010001 3.8000000000029104 329237.9890100006 5528272.159 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_8d65b4c5-fa18-4cee-81c9-45229588115e">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_18f19ab4-f128-41a0-ab05-34d91ad061b9">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329233.3360600006 5528276.213989999 3.8000000000029104 329233.80010999925 5528270.5848900005 4.683640000002924 329238.32637000084 5528266.609999999 4.6887600000045495 329237.9890100006 5528272.159 3.8000000000029104 329233.3360600006 5528276.213989999 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_46e8afe5-fd30-4c7a-88ae-a7ee5b2d2af6">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_e5b962d8-6186-4e78-ae08-fc0c00484e8c">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329229.15295 5528271.14002 3.8000000000029104 329231.5010599997 5528270.404139999 4.311470000000554 329233.80010999925 5528270.5848900005 4.683640000002924 329233.3360600006 5528276.213989999 3.8000000000029104 329229.15295 5528271.14002 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_c535c900-8077-46d6-a267-d3e9f3c34254">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_eebbc322-bf68-4c56-a826-392b617db97c">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329242.40003000014 5528257.71503 3.8000000000029104 329242.1777599994 5528266.829500001 5.298219999996945 329238.32637000084 5528266.609999999 4.6887600000045495 329233.80010999925 5528270.5848900005 4.683640000002924 329231.5010599997 5528270.404139999 4.311470000000554 329229.30395000055 5528269.304020001 3.8000000000029104 329242.40003000014 5528257.71503 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_d6d9c32d-cd29-490e-accc-3ac5decbb289">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_16a00d48-90a4-4cd1-94e6-0654a5b9b1d2">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329247.3289800007 5528262.52503 3.8000000000029104 329245.1323099993 5528267.42457 4.930840000000899 329244.33748999983 5528267.074109999 4.999100000000908 329242.3462899998 5528267.00502 5.30000000000291 329242.1777599994 5528266.829500001 5.298219999996945 329242.40003000014 5528257.71503 3.8000000000029104 329247.3289800007 5528262.52503 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
<bldg:boundedBy>
<bldg:RoofSurface gml:id="UUID_d97b1be8-8be7-4a5c-9f4d-3159853b054e">
<bldg:lod2MultiSurface>
<gml:MultiSurface srsName="EPSG:26911" srsDimension="3">
<gml:surfaceMember>
<gml:Polygon gml:id="UUID_4832dea6-f237-45ec-a711-ce1fc27b7e3b">
<gml:exterior>
<gml:LinearRing>
<gml:posList>329254.11205999926 5528262.99903 3.8000000000029104 329248.8121399991 5528267.658840001 4.925719999999274 329245.1323099993 5528267.42457 4.930840000000899 329247.3289800007 5528262.52503 3.8000000000029104 329254.11205999926 5528262.99903 3.8000000000029104</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</bldg:lod2MultiSurface>
</bldg:RoofSurface>
</bldg:boundedBy>
</bldg:Building>
</core:cityObjectMember>
</core:CityModel>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,294 @@
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": 12,
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.57945149010348,
45.49793915473101
],
[
-73.57945502047383,
45.497935600591106
],
[
-73.57945748913181,
45.49793681276347
],
[
-73.57945995778985,
45.49793802493576
],
[
-73.57946108986009,
45.49793688584562
],
[
-73.57946222064952,
45.49793574585649
],
[
-73.57946503164756,
45.497932909392325
],
[
-73.5794800321942,
45.497917804072586
],
[
-73.57949503273288,
45.49790269875081
],
[
-73.57950823165471,
45.49788939886833
],
[
-73.57952143057031,
45.497876098984314
],
[
-73.57952481016481,
45.49787269972034
],
[
-73.57952818975889,
45.49786930045622
],
[
-73.57963374256275,
45.49776298233438
],
[
-73.57963739684415,
45.497759299424665
],
[
-73.57956562282082,
45.49772405755894
],
[
-73.5795624921933,
45.497722521006246
],
[
-73.57955974509859,
45.4977252944393
],
[
-73.57953557695755,
45.497749634054365
],
[
-73.5795114087957,
45.497773973664174
],
[
-73.57945076790263,
45.49783505227953
],
[
-73.57939012687844,
45.49789613086214
],
[
-73.57938759058709,
45.49789868818189
],
[
-73.57938505429556,
45.49790124550157
],
[
-73.57941717242674,
45.49791701633786
],
[
-73.5794136407655,
45.497920563278754
],
[
-73.57943256542505,
45.497929854507255
],
[
-73.57944202776348,
45.49793450461953
],
[
-73.57945149010348,
45.49793915473101
]
]
]
},
"properties": {
"OBJECTID_12": 12,
"gml_id": 1340982,
"gml_parent": "fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_ta": "http://www.opengis.net/citygml/building/2.0",
"citygml_fe": "cityObjectMember",
"citygml__1": " ",
"citygml__2": " ",
"gml_descri": " ",
"gml_name": " ",
"citygml_cr": " ",
"citygml_te": " ",
"externalRe": " ",
"external_1": " ",
"external_2": " ",
"citygml_ge": " ",
"citygml_re": " ",
"citygml__3": " ",
"citygml_ap": " ",
"citygml_cl": " ",
"citygml__4": " ",
"citygml_fu": " ",
"citygml__5": " ",
"citygml_us": " ",
"citygml__6": " ",
"citygml_ye": " ",
"citygml__7": " ",
"citygml_ro": " ",
"citygml__8": " ",
"citygml_me": 19.113,
"citygml__9": "#m",
"citygml_st": " ",
"citygml_10": " ",
"citygml_11": " ",
"citygml_12": " ",
"citygml_13": " ",
"citygml_14": " ",
"citygml_ou": " ",
"citygml_in": " ",
"citygml_bo": " ",
"citygml_le": " ",
"citygml_15": " ",
"citygml_co": " ",
"citygml_ad": " ",
"Volume": "2931.350",
"parcelle": " ",
"OBJECTID": 1056,
"gml_id_1": "384b2b1c-2e25-4f6a-b082-d272dba3453f",
"gml_pare_1": 1340982,
"citygml_16": "http://www.opengis.net/citygml/building/2.0",
"citygml_17": "boundedBy",
"citygml_18": " ",
"citygml_19": " ",
"gml_desc_1": " ",
"gml_name_1": " ",
"citygml_20": " ",
"citygml_21": " ",
"external_3": " ",
"external_4": " ",
"external_5": " ",
"citygml_22": " ",
"citygml_23": " ",
"citygml_24": " ",
"citygml_25": " ",
"citygml_26": " ",
"citygml_op": " ",
"Area": 191.404,
"FID_": 0,
"Join_Count": 2,
"TARGET_FID": 1058,
"gml_id_12": 1340982,
"gml_pare_2": "fme-gen-5fa2a82b-c38e-4bf0-9e8f-10a47b9f64f7",
"citygml_27": "http://www.opengis.net/citygml/building/2.0",
"citygml_28": "cityObjectMember",
"citygml_29": " ",
"citygml_30": " ",
"gml_desc_2": " ",
"gml_name_2": " ",
"citygml_31": " ",
"citygml_32": " ",
"external_6": " ",
"external_7": " ",
"external_8": " ",
"citygml_33": " ",
"citygml_34": " ",
"citygml_35": " ",
"citygml_36": " ",
"citygml_37": " ",
"citygml_38": " ",
"citygml_39": " ",
"citygml_40": " ",
"citygml_41": " ",
"citygml_42": " ",
"citygml_43": " ",
"citygml_44": " ",
"citygml_45": " ",
"citygml_46": " ",
"citygml_47": 19.113,
"citygml_48": "#m",
"citygml_49": " ",
"citygml_50": " ",
"citygml_51": " ",
"citygml_52": " ",
"citygml_53": " ",
"citygml_54": " ",
"citygml_55": " ",
"citygml_56": " ",
"citygml_57": " ",
"citygml_58": " ",
"citygml_59": " ",
"citygml_60": " ",
"citygml_61": " ",
"Volume_1": "2931.350",
"Field": 0,
"Field1": 0,
"OBJECTID_1": 1056,
"gml_id_12_": "384b2b1c-2e25-4f6a-b082-d272dba3453f",
"gml_pare_3": 1340982,
"citygml_62": "http://www.opengis.net/citygml/building/2.0",
"citygml_63": "boundedBy",
"citygml_64": " ",
"citygml_65": " ",
"gml_desc_3": " ",
"gml_name_3": " ",
"citygml_66": " ",
"citygml_67": " ",
"external_9": " ",
"externa_10": " ",
"externa_11": " ",
"citygml_68": " ",
"citygml_69": " ",
"citygml_70": " ",
"citygml_71": " ",
"citygml_72": " ",
"citygml_73": " ",
"Area_1": 191.404,
"cityGML_hi": 0,
"Z_Min": 46.1162,
"Z_Max": 64.399,
"Shape_Leng": 63.6906066955,
"ID_UEV": "01036804",
"CIVIQUE_DE": " 2170",
"CIVIQUE_FI": " 2170",
"NOM_RUE": "rue Bishop (MTL)",
"MUNICIPALI": 50,
"ETAGE_HORS": 3,
"NOMBRE_LOG": 1,
"ANNEE_CONS": 1900,
"CODE_UTILI": 6000,
"LIBELLE_UT": "Immeuble à bureaux",
"CATEGORIE_": "Régulier",
"MATRICULE8": "9839-57-7770-3-000-0000",
"SUPERFICIE": 259,
"SUPERFIC_1": 490,
"NO_ARROND_": "REM19",
"Shape_Le_1": 0.00093336765858,
"Shape_Ar_1": 3.0845126501e-8,
"Z_Min_1": null,
"Z_Max_1": null,
"Shape_Length": 63.69060669550123,
"Shape_Area": 174.69050030775531
}
}
]
}

File diff suppressed because it is too large Load Diff

51
main.py
View File

@ -3,22 +3,19 @@ from pathlib import Path
from hub.imports.geometry_factory import GeometryFactory
from hub.imports.construction_factory import ConstructionFactory
from hub.imports.usage_factory import UsageFactory
from hub.imports.weather_factory import WeatherFactory
from hub.helpers.dictionaries import Dictionaries
from hub.imports.energy_systems_factory import EnergySystemsFactory
import hub.helpers.constants as cte
from results import Results
from monthly_energy_balance_engine import MonthlyEnergyBalanceEngine
from sra_engine import SraEngine
try:
file_path = (Path(__file__).parent / 'input_files' / 'selected_building.geojson')
climate_reference_city = 'Montreal'
weather_file = 'CAN_PQ_Montreal.Intl.AP.716270_CWEC.epw'
weather_format = 'epw'
file_path = (Path(__file__).parent / 'input_files' / 'output_buildings.geojson')
construction_format = 'nrcan'
usage_format = 'nrcan'
attic_heated_case = 0
basement_heated_case = 1
energy_systems_format = 'montreal_custom'
out_path = (Path(__file__).parent / 'output_files')
tmp_folder = (Path(__file__).parent / 'tmp')
@ -26,36 +23,44 @@ try:
print('[simulation start]')
city = GeometryFactory('geojson',
path=file_path,
height_field='building_height',
year_of_construction_field='ANNEE_CONS',
function_field='CODE_UTILI',
height_field='height',
year_of_construction_field='year_of_construction',
function_field='function',
function_to_hub=Dictionaries().montreal_function_to_hub_function).city
city.climate_reference_city = climate_reference_city
city.climate_file = (tmp_folder / f'{climate_reference_city}.cli').resolve()
print(f'city created from {file_path}')
WeatherFactory(weather_format, city, file_name=weather_file).enrich()
print('enrich weather... done')
ConstructionFactory(construction_format, city).enrich()
print('enrich constructions... done')
UsageFactory(usage_format, city).enrich()
print('enrich usage... done')
i = 1
x = len(city.buildings)
for building in city.buildings:
if i < x:
building.energy_systems_archetype_name = 'system 1 gas'
else:
building.energy_systems_archetype_name = 'system 6 gas'
i = i + 1
EnergySystemsFactory(energy_systems_format, city).enrich()
print('enrich systems... done')
print('exporting:')
sra_file = (tmp_folder / f'{city.name}_sra.xml').resolve()
SraEngine(city, sra_file, tmp_folder, weather_file)
# Assign radiation to the city
SraEngine(city, tmp_folder)
print(' sra processed...')
for building in city.buildings:
building.attic_heated = attic_heated_case
building.basement_heated = basement_heated_case
MonthlyEnergyBalanceEngine(city, tmp_folder)
print(' insel processed...')
for building in city.buildings:
for energy_system in building.energy_systems:
if cte.HEATING in energy_system.demand_types:
energy_system.generation_system.heat_power = building.heating_peak_load[cte.YEAR][0]
if cte.COOLING in energy_system.demand_types:
energy_system.generation_system.cooling_power = building.cooling_peak_load[cte.YEAR][0]
print('importing results:')
results = Results(city, out_path)
results.print()
print('print results...')
print('results printed...')
print('[simulation end]')

View File

@ -15,7 +15,7 @@ class MonthlyEnergyBalanceEngine:
self._file_path = file_path
EnergyBuildingsExportsFactory('insel_monthly_energy_balance', self._city, self._file_path).export()
self._run()
ResultFactory('insel_meb', self._city, self._file_path).enrich()
ResultFactory('insel_monthly_energy_balance', self._city, self._file_path).enrich()
def _run(self):
"""

View File

@ -9,34 +9,125 @@ class Results:
self._path = path
def print(self):
print_results = None
file = 'city name: ' + self._city.name + '\n'
for building in self._city.buildings:
if cte.MONTH in building.heating.keys():
heating_results = building.heating[cte.MONTH].rename(columns={cte.INSEL_MEB: f'{building.name} heating Wh'})
cooling_results = building.cooling[cte.MONTH].rename(columns={cte.INSEL_MEB: f'{building.name} cooling Wh'})
lighting_results = building.lighting_electrical_demand[cte.MONTH]\
.rename(columns={cte.INSEL_MEB: f'{building.name} lighting electrical demand Wh'})
appliances_results = building.appliances_electrical_demand[cte.MONTH]\
.rename(columns={cte.INSEL_MEB: f'{building.name} appliances electrical demand Wh'})
dhw_results = building.domestic_hot_water_heat_demand[cte.MONTH]\
.rename(columns={cte.INSEL_MEB: f'{building.name} domestic hot water demand Wh'})
if cte.MONTH in building.heating_demand.keys():
heating_results = building.heating_demand[cte.MONTH]
else:
array = [None] * 12
heating_results = pd.DataFrame(array, columns=[f'{building.name} heating Wh'])
cooling_results = pd.DataFrame(array, columns=[f'{building.name} cooling Wh'])
lighting_results = pd.DataFrame(array, columns=[f'{building.name} lighting electrical demand Wh'])
appliances_results = pd.DataFrame(array, columns=[f'{building.name} appliances electrical demand Wh'])
dhw_results = pd.DataFrame(array, columns=[f'{building.name} domestic hot water demand Wh'])
if print_results is None:
print_results = heating_results
heating_results = [None] * 12
if cte.MONTH in building.cooling_demand.keys():
cooling_results = building.cooling_demand[cte.MONTH]
else:
print_results = pd.concat([print_results, heating_results], axis='columns')
print_results = pd.concat([print_results,
cooling_results,
lighting_results,
appliances_results,
dhw_results], axis='columns')
cooling_results = [None] * 12
if cte.MONTH in building.lighting_electrical_demand.keys():
lighting_results = building.lighting_electrical_demand[cte.MONTH]
else:
lighting_results = [None] * 12
if cte.MONTH in building.appliances_electrical_demand.keys():
appliances_results = building.appliances_electrical_demand[cte.MONTH]
else:
appliances_results = [None] * 12
if cte.MONTH in building.domestic_hot_water_heat_demand.keys():
dhw_results = building.domestic_hot_water_heat_demand[cte.MONTH]
else:
dhw_results = [None] * 12
if cte.MONTH in building.heating_consumption.keys():
heating_consumption_results = building.heating_consumption[cte.MONTH]
else:
heating_consumption_results = [None] * 12
if cte.MONTH in building.cooling_consumption.keys():
cooling_consumption_results = building.cooling_consumption[cte.MONTH]
else:
cooling_consumption_results = [None] * 12
if cte.MONTH in building.domestic_hot_water_consumption.keys():
dhw_consumption_results = building.domestic_hot_water_consumption[cte.MONTH]
else:
dhw_consumption_results = [None] * 12
if cte.MONTH in building.heating_peak_load.keys():
heating_peak_load_results = building.heating_peak_load[cte.MONTH]
else:
heating_peak_load_results = [None] * 12
if cte.MONTH in building.cooling_peak_load.keys():
cooling_peak_load_results = building.cooling_peak_load[cte.MONTH]
else:
cooling_peak_load_results = [None] * 12
heating = 0
cooling = 0
for system in building.energy_systems:
for demand_type in system.demand_types:
if demand_type == cte.HEATING:
heating = 1
if demand_type == cte.COOLING:
cooling = 1
if cte.MONTH in building.heating_peak_load.keys() and cte.MONTH in building.cooling_peak_load.keys():
peak_lighting = 0
peak_appliances = 0
thermal_zone = building.thermal_zones_from_internal_zones[0]
lighting = thermal_zone.lighting
for schedule in lighting.schedules:
for value in schedule.values:
if value * lighting.density * thermal_zone.total_floor_area > peak_lighting:
peak_lighting = value * lighting.density * thermal_zone.total_floor_area
appliances = thermal_zone.appliances
for schedule in appliances.schedules:
for value in schedule.values:
if value * appliances.density * thermal_zone.total_floor_area > peak_appliances:
peak_appliances = value * appliances.density * thermal_zone.total_floor_area
monthly_electricity_peak = [0.9 * peak_lighting + 0.7 * peak_appliances] * 12
conditioning_peak = []
for i, value in enumerate(building.heating_peak_load[cte.MONTH]):
if cooling * building.cooling_peak_load[cte.MONTH][i] > heating * value:
conditioning_peak.append(cooling * building.cooling_peak_load[cte.MONTH][i])
else:
conditioning_peak.append(heating * value)
monthly_electricity_peak[i] += 0.8 * conditioning_peak[i]
electricity_peak_load_results = monthly_electricity_peak
else:
electricity_peak_load_results = [None] * 12
if cte.MONTH in building.onsite_electrical_production.keys():
monthly_onsite_electrical_production = building.onsite_electrical_production[cte.MONTH]
onsite_electrical_production = monthly_onsite_electrical_production
else:
onsite_electrical_production = [None] * 12
if cte.MONTH in building.distribution_systems_electrical_consumption.keys():
extra_electrical_consumption = building.distribution_systems_electrical_consumption[cte.MONTH]
else:
extra_electrical_consumption = [None] * 12
columns_names = [f'{building.name} heating demand J',
f'{building.name} cooling demand J',
f'{building.name} lighting demand J',
f'{building.name} appliances demand J',
f'{building.name} domestic hot water demand J',
f'{building.name} heating consumption J',
f'{building.name} cooling consumption J',
f'{building.name} domestic hot water consumption J',
f'{building.name} heating peak load W',
f'{building.name} cooling peak load W',
f'{building.name} electricity peak load W',
f'{building.name} onsite electrical production J',
f'{building.name} extra electrical consumption J'
]
print_results = pd.DataFrame([heating_results,
cooling_results,
lighting_results,
appliances_results,
dhw_results,
heating_consumption_results,
cooling_consumption_results,
dhw_consumption_results,
heating_peak_load_results,
cooling_peak_load_results,
electricity_peak_load_results,
onsite_electrical_production,
extra_electrical_consumption]).T
print_results.columns = columns_names
file += '\n'
file += f'name: {building.name}\n'
file += f'year of construction: {building.year_of_construction}\n'
@ -46,11 +137,10 @@ class Results:
file += f'storeys: {int(building.eave_height / building.average_storey_height)}\n'
else:
file += f'storeys: n/a\n'
file += f'heated_volume: {0.85 * building.volume}\n'
file += f'volume: {building.volume}\n'
full_path_results = Path(self._path / 'demand.csv').resolve()
print_results.to_csv(full_path_results, na_rep='null')
full_path_results = Path(self._path / f'demand_{building.name}.csv').resolve()
print_results.to_csv(full_path_results, na_rep='null')
full_path_metadata = Path(self._path / 'metadata.csv').resolve()
with open(full_path_metadata, 'w') as metadata_file:
metadata_file.write(file)

View File

@ -7,21 +7,19 @@ from hub.imports.results_factory import ResultFactory
class SraEngine:
def __init__(self, city, file_path, output_file_path, weather_file):
def __init__(self, city, output_file_path):
"""
SRA class
:param file_path: _sra.xml file path
:param city: City
:param output_file_path: path to output the sra calculation
"""
self._city = city
self._file_path = file_path
self._output_file_path = output_file_path
self._weather_file = weather_file
if platform.system() == 'Linux':
self._executable = 'citysim_sra'
self._executable = 'sra'
elif platform.system() == 'Windows':
self._executable = 'shortwave_integer'
ExportsFactory('sra', self._city, output_file_path, weather_file=self._weather_file, weather_format='epw').export()
self._executable = 'sra.exe'
ExportsFactory('sra', self._city, output_file_path).export()
self._run()
ResultFactory('sra', self._city, output_file_path).enrich()
@ -30,6 +28,8 @@ class SraEngine:
Calls the software
"""
try:
subprocess.run([self._executable, str(self._file_path)], stdout=subprocess.DEVNULL)
subprocess.run([self._executable,
(self._output_file_path / f'{self._city.name}_sra.xml')],
stdout=subprocess.DEVNULL)
except (SubprocessError, TimeoutExpired, CalledProcessError) as error:
raise Exception(error)

0
test_problems Normal file
View File