diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/costs.iml b/.idea/costs.iml
new file mode 100644
index 0000000..8b8c395
--- /dev/null
+++ b/.idea/costs.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..db85aa1
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..250142c
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..1a243a1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cerc_costs.egg-info/PKG-INFO b/cerc_costs.egg-info/PKG-INFO
new file mode 100644
index 0000000..cbfe54b
--- /dev/null
+++ b/cerc_costs.egg-info/PKG-INFO
@@ -0,0 +1,9 @@
+Metadata-Version: 2.1
+Name: cerc-costs
+Version: 0.1.0.0
+Summary: CERC costs contains the basic cost calculation per CERC-Hub building
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+
+CERC costs contains the basic cost calculation per CERC-Hub building
diff --git a/cerc_costs.egg-info/SOURCES.txt b/cerc_costs.egg-info/SOURCES.txt
new file mode 100644
index 0000000..9cc7c29
--- /dev/null
+++ b/cerc_costs.egg-info/SOURCES.txt
@@ -0,0 +1,20 @@
+pyproject.toml
+requirements.txt
+setup.py
+cerc_costs.egg-info/PKG-INFO
+cerc_costs.egg-info/SOURCES.txt
+cerc_costs.egg-info/dependency_links.txt
+cerc_costs.egg-info/requires.txt
+cerc_costs.egg-info/top_level.txt
+costs/__init__.py
+costs/__main__.py
+costs/capital_costs.py
+costs/configuration.py
+costs/constants.py
+costs/cost.py
+costs/cost_base.py
+costs/end_of_life_costs.py
+costs/total_maintenance_costs.py
+costs/total_operational_costs.py
+costs/total_operational_incomes.py
+costs/version.py
\ No newline at end of file
diff --git a/cerc_costs.egg-info/dependency_links.txt b/cerc_costs.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/cerc_costs.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/cerc_costs.egg-info/requires.txt b/cerc_costs.egg-info/requires.txt
new file mode 100644
index 0000000..94cd4eb
--- /dev/null
+++ b/cerc_costs.egg-info/requires.txt
@@ -0,0 +1,4 @@
+numpy_financial
+cerc_hub
+pandas
+setuptools
diff --git a/cerc_costs.egg-info/top_level.txt b/cerc_costs.egg-info/top_level.txt
new file mode 100644
index 0000000..73bd54b
--- /dev/null
+++ b/cerc_costs.egg-info/top_level.txt
@@ -0,0 +1 @@
+costs
diff --git a/costs/README.md b/costs/README.md
new file mode 100644
index 0000000..bae8105
--- /dev/null
+++ b/costs/README.md
@@ -0,0 +1,4 @@
+# Cerc costs
+
+Uses the cerc-hub as a base for cost calculation, it's intended to be used after executing the complete monthly energy
+balance workflow called building by building
diff --git a/costs/__main__.py b/costs/__main__.py
new file mode 100644
index 0000000..87e2e44
--- /dev/null
+++ b/costs/__main__.py
@@ -0,0 +1,6 @@
+"""
+Costs Workflow
+SPDX - License - Identifier: LGPL - 3.0 - or -later
+Copyright © 2022 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
+Code contributor Oriol Gavalda Torrellas oriol.gavalda@concordia.ca
+"""
diff --git a/costs/__pycache__/__init__.cpython-39.pyc b/costs/__pycache__/__init__.cpython-39.pyc
new file mode 100644
index 0000000..49e54d8
Binary files /dev/null and b/costs/__pycache__/__init__.cpython-39.pyc differ
diff --git a/costs/__pycache__/capital_costs.cpython-39.pyc b/costs/__pycache__/capital_costs.cpython-39.pyc
new file mode 100644
index 0000000..fb8a19d
Binary files /dev/null and b/costs/__pycache__/capital_costs.cpython-39.pyc differ
diff --git a/costs/__pycache__/configuration.cpython-39.pyc b/costs/__pycache__/configuration.cpython-39.pyc
new file mode 100644
index 0000000..b83af83
Binary files /dev/null and b/costs/__pycache__/configuration.cpython-39.pyc differ
diff --git a/costs/__pycache__/constants.cpython-39.pyc b/costs/__pycache__/constants.cpython-39.pyc
new file mode 100644
index 0000000..431a8a5
Binary files /dev/null and b/costs/__pycache__/constants.cpython-39.pyc differ
diff --git a/costs/__pycache__/cost.cpython-39.pyc b/costs/__pycache__/cost.cpython-39.pyc
new file mode 100644
index 0000000..94233ab
Binary files /dev/null and b/costs/__pycache__/cost.cpython-39.pyc differ
diff --git a/costs/__pycache__/cost_base.cpython-39.pyc b/costs/__pycache__/cost_base.cpython-39.pyc
new file mode 100644
index 0000000..7056f38
Binary files /dev/null and b/costs/__pycache__/cost_base.cpython-39.pyc differ
diff --git a/costs/__pycache__/end_of_life_costs.cpython-39.pyc b/costs/__pycache__/end_of_life_costs.cpython-39.pyc
new file mode 100644
index 0000000..45c85b4
Binary files /dev/null and b/costs/__pycache__/end_of_life_costs.cpython-39.pyc differ
diff --git a/costs/__pycache__/total_maintenance_costs.cpython-39.pyc b/costs/__pycache__/total_maintenance_costs.cpython-39.pyc
new file mode 100644
index 0000000..fbc6e1c
Binary files /dev/null and b/costs/__pycache__/total_maintenance_costs.cpython-39.pyc differ
diff --git a/costs/__pycache__/total_operational_costs.cpython-39.pyc b/costs/__pycache__/total_operational_costs.cpython-39.pyc
new file mode 100644
index 0000000..aacfb2d
Binary files /dev/null and b/costs/__pycache__/total_operational_costs.cpython-39.pyc differ
diff --git a/costs/__pycache__/total_operational_incomes.cpython-39.pyc b/costs/__pycache__/total_operational_incomes.cpython-39.pyc
new file mode 100644
index 0000000..0944ee4
Binary files /dev/null and b/costs/__pycache__/total_operational_incomes.cpython-39.pyc differ
diff --git a/costs/capital_costs.py b/costs/capital_costs.py
new file mode 100644
index 0000000..7c6049c
--- /dev/null
+++ b/costs/capital_costs.py
@@ -0,0 +1,236 @@
+"""
+Capital costs module
+"""
+import math
+
+import pandas as pd
+import numpy_financial as npf
+from hub.city_model_structure.building import Building
+import hub.helpers.constants as cte
+from costs.configuration import Configuration
+from costs.constants import SKIN_RETROFIT, SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV, SYSTEM_RETROFIT_AND_PV
+from costs.cost_base import CostBase
+
+
+class CapitalCosts(CostBase):
+ """
+ Capital costs class
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ super().__init__(building, configuration)
+ self._yearly_capital_costs = pd.DataFrame(
+ index=self._rng,
+ columns=[
+ 'B2010_opaque_walls',
+ 'B2020_transparent',
+ 'B3010_opaque_roof',
+ 'B10_superstructure',
+ 'D301010_photovoltaic_system',
+ 'D3020_heat_generating_systems',
+ 'D3030_cooling_generation_systems',
+ 'D3040_distribution_systems',
+ 'D3080_other_hvac_ahu',
+ 'D5020_lighting_and_branch_wiring'
+ ],
+ dtype='float'
+ )
+ self._yearly_capital_costs.loc[0, 'B2010_opaque_walls'] = 0
+ self._yearly_capital_costs.loc[0]['B2020_transparent'] = 0
+ self._yearly_capital_costs.loc[0, 'B3010_opaque_roof'] = 0
+ self._yearly_capital_costs.loc[0]['B10_superstructure'] = 0
+ self._yearly_capital_costs.loc[0, 'D3020_heat_generating_systems'] = 0
+ self._yearly_capital_costs.loc[0, 'D3030_cooling_generation_systems'] = 0
+ self._yearly_capital_costs.loc[0, 'D3040_distribution_systems'] = 0
+ self._yearly_capital_costs.loc[0, 'D3080_other_hvac_ahu'] = 0
+ self._yearly_capital_costs.loc[0, 'D5020_lighting_and_branch_wiring'] = 0
+
+ self._yearly_capital_incomes = pd.DataFrame(
+ index=self._rng,
+ columns=[
+ 'Subsidies construction',
+ 'Subsidies HVAC',
+ 'Subsidies PV'
+ ],
+ dtype='float'
+ )
+ self._yearly_capital_incomes.loc[0, 'Subsidies construction'] = 0
+ self._yearly_capital_incomes.loc[0, 'Subsidies HVAC'] = 0
+ self._yearly_capital_incomes.loc[0, 'Subsidies PV'] = 0
+
+ def calculate(self) -> tuple[pd.DataFrame, pd.DataFrame]:
+ """
+ Calculate capital cost
+ :return: pd.DataFrame, pd.DataFrame
+ """
+ surface_opaque = 0
+ surface_transparent = 0
+ surface_roof = 0
+ surface_ground = 0
+ capital_cost_pv = 0
+ capital_cost_opaque = 0
+ capital_cost_ground = 0
+ capital_cost_transparent = 0
+ capital_cost_roof = 0
+ capital_cost_heating_equipment = 0
+ capital_cost_cooling_equipment = 0
+ capital_cost_distribution_equipment = 0
+ capital_cost_other_hvac_ahu = 0
+ capital_cost_lighting = 0
+
+ for internal_zone in self._building.internal_zones:
+ for thermal_zone in internal_zone.thermal_zones:
+ for thermal_boundary in thermal_zone.thermal_boundaries:
+ if thermal_boundary.type == 'Ground':
+ surface_ground += thermal_boundary.opaque_area
+ elif thermal_boundary.type == 'Roof':
+ surface_roof += thermal_boundary.opaque_area
+ elif thermal_boundary.type == 'Wall':
+ surface_opaque += thermal_boundary.opaque_area * (1 - thermal_boundary.window_ratio)
+ surface_transparent += thermal_boundary.opaque_area * thermal_boundary.window_ratio
+
+ peak_heating = self._building.heating_peak_load[cte.YEAR][0] / 1000
+ peak_cooling = self._building.cooling_peak_load[cte.YEAR][0] / 1000
+
+ surface_pv = 0
+ for roof in self._building.roofs:
+ surface_pv += roof.solid_polygon.area * roof.solar_collectors_area_reduction_factor
+
+ self._yearly_capital_costs.fillna(0, inplace=True)
+ own_capital = 1 - self._configuration.percentage_credit
+ if self._configuration.retrofit_scenario in (SKIN_RETROFIT, SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV):
+ chapter = self._capital_costs_chapter.chapter('B_shell')
+ capital_cost_opaque = surface_opaque * chapter.item('B2010_opaque_walls').refurbishment[0]
+ capital_cost_transparent = surface_transparent * chapter.item('B2020_transparent').refurbishment[0]
+ capital_cost_roof = surface_roof * chapter.item('B3010_opaque_roof').refurbishment[0]
+ capital_cost_ground = surface_ground * chapter.item('B10_superstructure').refurbishment[0]
+ self._yearly_capital_costs.loc[0, 'B2010_opaque_walls'] = capital_cost_opaque * own_capital
+ self._yearly_capital_costs.loc[0]['B2020_transparent'] = capital_cost_transparent * own_capital
+ self._yearly_capital_costs.loc[0, 'B3010_opaque_roof'] = capital_cost_roof * own_capital
+ self._yearly_capital_costs.loc[0]['B10_superstructure'] = capital_cost_ground * own_capital
+
+ if self._configuration.retrofit_scenario in (SYSTEM_RETROFIT_AND_PV, SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV):
+ chapter = self._capital_costs_chapter.chapter('D_services')
+ capital_cost_pv = surface_pv * chapter.item('D301010_photovoltaic_system').initial_investment[0]
+ capital_cost_heating_equipment = peak_heating * chapter.item('D3020_heat_generating_systems').initial_investment[0]
+ capital_cost_cooling_equipment = peak_cooling * chapter.item('D3030_cooling_generation_systems').initial_investment[0]
+ capital_cost_distribution_equipment = peak_cooling * chapter.item('D3040_distribution_systems').initial_investment[0]
+ capital_cost_other_hvac_ahu = peak_cooling * chapter.item('D3080_other_hvac_ahu').initial_investment[0]
+ capital_cost_lighting = self._total_floor_area * chapter.item('D5020_lighting_and_branch_wiring').initial_investment[0]
+ self._yearly_capital_costs.loc[0]['D301010_photovoltaic_system'] = capital_cost_pv
+ self._yearly_capital_costs.loc[0, 'D3020_heat_generating_systems'] = capital_cost_heating_equipment * own_capital
+ self._yearly_capital_costs.loc[0, 'D3030_cooling_generation_systems'] = capital_cost_cooling_equipment * own_capital
+ self._yearly_capital_costs.loc[0, 'D3040_distribution_systems'] = capital_cost_distribution_equipment * own_capital
+ self._yearly_capital_costs.loc[0, 'D3080_other_hvac_ahu'] = capital_cost_other_hvac_ahu * own_capital
+ self._yearly_capital_costs.loc[0, 'D5020_lighting_and_branch_wiring'] = capital_cost_lighting * own_capital
+
+ for year in range(1, self._configuration.number_of_years):
+ chapter = self._capital_costs_chapter.chapter('D_services')
+ costs_increase = math.pow(1 + self._configuration.consumer_price_index, year)
+ self._yearly_capital_costs.loc[year, 'B2010_opaque_walls'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_opaque * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'B2020_transparent'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_transparent * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'B3010_opaque_roof'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_roof * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'B10_superstructure'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_ground * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'D3020_heat_generating_systems'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_heating_equipment * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'D3030_cooling_generation_systems'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_cooling_equipment * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'D3040_distribution_systems'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_distribution_equipment * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'D3080_other_hvac_ahu'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_other_hvac_ahu * self._configuration.percentage_credit
+ )
+ )
+ self._yearly_capital_costs.loc[year, 'D5020_lighting_and_branch_wiring'] = (
+ -npf.pmt(
+ self._configuration.interest_rate,
+ self._configuration.credit_years,
+ capital_cost_lighting * self._configuration.percentage_credit
+ )
+ )
+
+ if (year % chapter.item('D3020_heat_generating_systems').lifetime) == 0:
+ reposition_cost_heating_equipment = (
+ peak_heating * chapter.item('D3020_heat_generating_systems').reposition[0] * costs_increase
+ )
+ self._yearly_capital_costs.loc[year, 'D3020_heat_generating_systems'] += reposition_cost_heating_equipment
+
+ if (year % chapter.item('D3030_cooling_generation_systems').lifetime) == 0:
+ reposition_cost_cooling_equipment = (
+ peak_cooling * chapter.item('D3030_cooling_generation_systems').reposition[0] * costs_increase
+ )
+ self._yearly_capital_costs.loc[year, 'D3030_cooling_generation_systems'] += reposition_cost_cooling_equipment
+
+ if (year % chapter.item('D3080_other_hvac_ahu').lifetime) == 0:
+ reposition_cost_hvac_ahu = (
+ peak_cooling * chapter.item('D3080_other_hvac_ahu').reposition[0] * costs_increase
+ )
+ self._yearly_capital_costs.loc[year, 'D3080_other_hvac_ahu'] = reposition_cost_hvac_ahu
+
+ if (year % chapter.item('D5020_lighting_and_branch_wiring').lifetime) == 0:
+ reposition_cost_lighting = (
+ self._total_floor_area * chapter.item('D5020_lighting_and_branch_wiring').reposition[0] * costs_increase
+ )
+ self._yearly_capital_costs.loc[year, 'D5020_lighting_and_branch_wiring'] += reposition_cost_lighting
+
+ if self._configuration.retrofit_scenario in (SYSTEM_RETROFIT_AND_PV, SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV):
+ if (year % chapter.item('D301010_photovoltaic_system').lifetime) == 0:
+ self._yearly_capital_costs.loc[year]['D301010_photovoltaic_system'] += (
+ surface_pv * chapter.item('D301010_photovoltaic_system').reposition[0] * costs_increase
+ )
+ capital_cost_skin = capital_cost_opaque + capital_cost_ground + capital_cost_transparent + capital_cost_roof
+ capital_cost_hvac = (
+ capital_cost_heating_equipment +
+ capital_cost_cooling_equipment +
+ capital_cost_distribution_equipment +
+ capital_cost_other_hvac_ahu + capital_cost_lighting
+ )
+
+ self._yearly_capital_incomes.loc[0, 'Subsidies construction'] = (
+ capital_cost_skin * self._archetype.income.construction_subsidy/100
+ )
+ self._yearly_capital_incomes.loc[0, 'Subsidies HVAC'] = capital_cost_hvac * self._archetype.income.hvac_subsidy/100
+ self._yearly_capital_incomes.loc[0, 'Subsidies PV'] = capital_cost_pv * self._archetype.income.photovoltaic_subsidy/100
+ self._yearly_capital_incomes.fillna(0, inplace=True)
+ return self._yearly_capital_costs, self._yearly_capital_incomes
diff --git a/costs/constants.py b/costs/constants.py
new file mode 100644
index 0000000..5407f14
--- /dev/null
+++ b/costs/constants.py
@@ -0,0 +1,11 @@
+# constants
+CURRENT_STATUS = 0
+SKIN_RETROFIT = 1
+SYSTEM_RETROFIT_AND_PV = 2
+SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV = 3
+RETROFITTING_SCENARIOS = [
+ CURRENT_STATUS,
+ SKIN_RETROFIT,
+ SYSTEM_RETROFIT_AND_PV,
+ SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV
+]
\ No newline at end of file
diff --git a/costs/cost_base.py b/costs/cost_base.py
new file mode 100644
index 0000000..42b8220
--- /dev/null
+++ b/costs/cost_base.py
@@ -0,0 +1,38 @@
+"""
+Cost base module
+"""
+
+from hub.city_model_structure.building import Building
+from hub.helpers.dictionaries import Dictionaries
+
+from costs.configuration import Configuration
+
+
+class CostBase:
+ """
+ Abstract base class for the costs
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ self._building = building
+ self._configuration = configuration
+ self._total_floor_area = 0
+ for internal_zone in building.internal_zones:
+ for thermal_zone in internal_zone.thermal_zones:
+ self._total_floor_area += thermal_zone.total_floor_area
+ self._archetype = None
+ self._capital_costs_chapter = None
+ for archetype in self._configuration.costs_catalog.entries().archetypes:
+ if configuration.dictionary[str(building.function)] == str(archetype.function):
+ self._archetype = archetype
+ self._capital_costs_chapter = self._archetype.capital_cost
+ break
+ if not self._archetype:
+ raise KeyError(f'archetype not found for function {building.function}')
+
+ self._rng = range(configuration.number_of_years)
+
+ def calculate(self):
+ """
+ Raises not implemented exception
+ """
+ raise NotImplementedError()
diff --git a/costs/end_of_life_costs.py b/costs/end_of_life_costs.py
new file mode 100644
index 0000000..4723300
--- /dev/null
+++ b/costs/end_of_life_costs.py
@@ -0,0 +1,34 @@
+"""
+End of life costs module
+"""
+import math
+import pandas as pd
+from hub.city_model_structure.building import Building
+
+from costs.configuration import Configuration
+from costs.cost_base import CostBase
+
+
+class EndOfLifeCosts(CostBase):
+ """
+ End of life costs class
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ super().__init__(building, configuration)
+ self._yearly_end_of_life_costs = pd.DataFrame(index=self._rng, columns=['End_of_life_costs'], dtype='float')
+
+ def calculate(self):
+ """
+ Calculate end of life costs
+ :return: pd.DataFrame
+ """
+ archetype = self._archetype
+ total_floor_area = self._total_floor_area
+ for year in range(1, self._configuration.number_of_years + 1):
+ price_increase = math.pow(1 + self._configuration.consumer_price_index, year)
+ if year == self._configuration.number_of_years:
+ self._yearly_end_of_life_costs.at[year, 'End_of_life_costs'] = (
+ total_floor_area * archetype.end_of_life_cost * price_increase
+ )
+ self._yearly_end_of_life_costs.fillna(0, inplace=True)
+ return self._yearly_end_of_life_costs
diff --git a/costs/total_maintenance_costs.py b/costs/total_maintenance_costs.py
new file mode 100644
index 0000000..8e7f01a
--- /dev/null
+++ b/costs/total_maintenance_costs.py
@@ -0,0 +1,61 @@
+"""
+Total maintenance costs module
+"""
+import math
+import pandas as pd
+from hub.city_model_structure.building import Building
+import hub.helpers.constants as cte
+
+from costs.configuration import Configuration
+from costs.cost_base import CostBase
+
+
+class TotalMaintenanceCosts(CostBase):
+ """
+ Total maintenance costs class
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ super().__init__(building, configuration)
+ self._yearly_maintenance_costs = pd.DataFrame(
+ index=self._rng,
+ columns=[
+ 'Heating_maintenance',
+ 'Cooling_maintenance',
+ 'PV_maintenance'
+ ],
+ dtype='float'
+ )
+
+ def calculate(self) -> pd.DataFrame:
+ """
+ Calculate total maintenance costs
+ :return: pd.DataFrame
+ """
+ building = self._building
+ archetype = self._archetype
+ # todo: change area pv when the variable exists
+ roof_area = 0
+ for roof in building.roofs:
+ roof_area += roof.solid_polygon.area
+ surface_pv = roof_area * 0.5
+
+ peak_heating = building.heating_peak_load[cte.YEAR][0]
+ peak_cooling = building.cooling_peak_load[cte.YEAR][0]
+
+ maintenance_heating_0 = peak_heating * archetype.operational_cost.maintenance_heating
+ maintenance_cooling_0 = peak_cooling * archetype.operational_cost.maintenance_cooling
+ maintenance_pv_0 = surface_pv * archetype.operational_cost.maintenance_pv
+
+ for year in range(1, self._configuration.number_of_years + 1):
+ costs_increase = math.pow(1 + self._configuration.consumer_price_index, year)
+ self._yearly_maintenance_costs.loc[year, 'Heating_maintenance'] = (
+ maintenance_heating_0 * costs_increase
+ )
+ self._yearly_maintenance_costs.loc[year, 'Cooling_maintenance'] = (
+ maintenance_cooling_0 * costs_increase
+ )
+ self._yearly_maintenance_costs.loc[year, 'PV_maintenance'] = (
+ maintenance_pv_0 * costs_increase
+ )
+ self._yearly_maintenance_costs.fillna(0, inplace=True)
+ return self._yearly_maintenance_costs
diff --git a/costs/total_operational_costs.py b/costs/total_operational_costs.py
new file mode 100644
index 0000000..b3f97dd
--- /dev/null
+++ b/costs/total_operational_costs.py
@@ -0,0 +1,92 @@
+"""
+Total operational costs module
+"""
+import math
+import pandas as pd
+
+from hub.city_model_structure.building import Building
+import hub.helpers.constants as cte
+
+from costs.configuration import Configuration
+from costs.cost_base import CostBase
+
+
+class TotalOperationalCosts(CostBase):
+ """
+ End of life costs class
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ super().__init__(building, configuration)
+ self._yearly_operational_costs = pd.DataFrame(
+ index=self._rng,
+ columns=[
+ 'Fixed_costs_electricity_peak',
+ 'Fixed_costs_electricity_monthly',
+ 'Variable_costs_electricity',
+ 'Fixed_costs_gas',
+ 'Variable_costs_gas'
+ ],
+ dtype='float'
+ )
+
+ def calculate(self) -> pd.DataFrame:
+ """
+ Calculate total operational costs
+ :return: pd.DataFrame
+ """
+ building = self._building
+ archetype = self._archetype
+ total_floor_area = self._total_floor_area
+ factor_residential = total_floor_area / 80
+ # todo: split the heating between fuels
+ fixed_gas_cost_year_0 = 0
+ variable_gas_cost_year_0 = 0
+ electricity_heating = 0
+ domestic_hot_water_electricity = 0
+ if self._configuration.fuel_type == 1:
+ fixed_gas_cost_year_0 = archetype.operational_cost.fuels[1].fixed_monthly * 12 * factor_residential
+ variable_gas_cost_year_0 = (
+ (building.heating_consumption[cte.YEAR][0] + building.domestic_hot_water_consumption[cte.YEAR][0]) / 1000 *
+ archetype.operational_cost.fuels[1].variable[0]
+ )
+ if self._configuration.fuel_type == 0:
+ electricity_heating = building.heating_consumption[cte.YEAR][0] / 1000
+ domestic_hot_water_electricity = building.domestic_hot_water_consumption[cte.YEAR][0] / 1000
+
+ electricity_cooling = building.cooling_consumption[cte.YEAR][0] / 1000
+ electricity_lighting = building.lighting_electrical_demand[cte.YEAR]['insel meb'] / 1000
+ electricity_plug_loads = building.appliances_electrical_demand[cte.YEAR]['insel meb'] / 1000
+ electricity_distribution = 0
+ total_electricity_consumption = (
+ electricity_heating + electricity_cooling + electricity_lighting + domestic_hot_water_electricity +
+ electricity_plug_loads + electricity_distribution
+ )
+
+ # todo: change when peak electricity demand is coded. Careful with factor residential
+ peak_electricity_demand = 100 # self._peak_electricity_demand
+ variable_electricity_cost_year_0 = total_electricity_consumption * archetype.operational_cost.fuels[0].variable[0]
+ peak_electricity_cost_year_0 = peak_electricity_demand * archetype.operational_cost.fuels[0].fixed_power * 12
+ monthly_electricity_cost_year_0 = archetype.operational_cost.fuels[0].fixed_monthly * 12 * factor_residential
+
+ for year in range(1, self._configuration.number_of_years + 1):
+ price_increase_electricity = math.pow(1 + self._configuration.electricity_price_index, year)
+ price_increase_peak_electricity = math.pow(1 + self._configuration.electricity_peak_index, year)
+ price_increase_gas = math.pow(1 + self._configuration.gas_price_index, year)
+ self._yearly_operational_costs.at[year, 'Fixed_costs_electricity_peak'] = (
+ peak_electricity_cost_year_0 * price_increase_peak_electricity
+ )
+ self._yearly_operational_costs.at[year, 'Fixed_costs_electricity_monthly'] = (
+ monthly_electricity_cost_year_0 * price_increase_peak_electricity
+ )
+ self._yearly_operational_costs.at[year, 'Variable_costs_electricity'] = (
+ float(variable_electricity_cost_year_0.iloc[0] * price_increase_electricity)
+ )
+ self._yearly_operational_costs.at[year, 'Fixed_costs_gas'] = fixed_gas_cost_year_0 * price_increase_gas
+ self._yearly_operational_costs.at[year, 'Variable_costs_gas'] = (
+ variable_gas_cost_year_0 * price_increase_peak_electricity
+ )
+ self._yearly_operational_costs.at[year, 'Variable_costs_gas'] = (
+ variable_gas_cost_year_0 * price_increase_peak_electricity
+ )
+ self._yearly_operational_costs.fillna(0, inplace=True)
+ return self._yearly_operational_costs
diff --git a/costs/total_operational_incomes.py b/costs/total_operational_incomes.py
new file mode 100644
index 0000000..512db8c
--- /dev/null
+++ b/costs/total_operational_incomes.py
@@ -0,0 +1,41 @@
+"""
+Total operational incomes module
+"""
+import math
+import pandas as pd
+from hub.city_model_structure.building import Building
+import hub.helpers.constants as cte
+
+from costs.configuration import Configuration
+from costs.cost_base import CostBase
+
+
+class TotalOperationalIncomes(CostBase):
+ """
+ Total operational incomes class
+ """
+ def __init__(self, building: Building, configuration: Configuration):
+ super().__init__(building, configuration)
+ self._yearly_operational_incomes = pd.DataFrame(index=self._rng, columns=['Incomes electricity'], dtype='float')
+
+ def calculate(self) -> pd.DataFrame:
+ """
+ Calculate total operational incomes
+ :return: pd.DataFrame
+ """
+ building = self._building
+ if cte.YEAR not in building.onsite_electrical_production:
+ onsite_electricity_production = 0
+ else:
+ onsite_electricity_production = building.onsite_electrical_production[cte.YEAR][0] / 1000
+
+ for year in range(1, self._configuration.number_of_years + 1):
+ price_increase_electricity = math.pow(1 + self._configuration.electricity_price_index, year)
+ # todo: check the adequate assignation of price. Pilar
+ price_export = 0.075 # archetype.income.electricity_export
+ self._yearly_operational_incomes.loc[year, 'Incomes electricity'] = (
+ onsite_electricity_production * price_export * price_increase_electricity
+ )
+
+ self._yearly_operational_incomes.fillna(0, inplace=True)
+ return self._yearly_operational_incomes
diff --git a/costs/version.py b/costs/version.py
new file mode 100644
index 0000000..04b8b73
--- /dev/null
+++ b/costs/version.py
@@ -0,0 +1,4 @@
+"""
+Cost version number
+"""
+__version__ = '0.1.0.0'
diff --git a/dist/cerc-costs-0.1.0.0.tar.gz b/dist/cerc-costs-0.1.0.0.tar.gz
new file mode 100644
index 0000000..44bda90
Binary files /dev/null and b/dist/cerc-costs-0.1.0.0.tar.gz differ
diff --git a/dist/cerc_costs-0.1.0.0-py3-none-any.whl b/dist/cerc_costs-0.1.0.0-py3-none-any.whl
new file mode 100644
index 0000000..c5a2175
Binary files /dev/null and b/dist/cerc_costs-0.1.0.0-py3-none-any.whl differ
diff --git a/input_files/selected_building_2864.geojson b/input_files/selected_building_2864.geojson
new file mode 100644
index 0000000..b6b032d
--- /dev/null
+++ b/input_files/selected_building_2864.geojson
@@ -0,0 +1,121 @@
+{
+ "type": "FeatureCollection",
+ "features": [
+ {
+ "type": "Feature",
+ "id": 2864,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ -73.55628837310991,
+ 45.60732526295055
+ ],
+ [
+ -73.55628287285629,
+ 45.607324262904456
+ ],
+ [
+ -73.55609247288925,
+ 45.607288563416546
+ ],
+ [
+ -73.55607107262188,
+ 45.60734486277528
+ ],
+ [
+ -73.55612487276466,
+ 45.60735496306114
+ ],
+ [
+ -73.55609867281544,
+ 45.60742366317157
+ ],
+ [
+ -73.55624087271804,
+ 45.60745026331904
+ ],
+ [
+ -73.55628837310991,
+ 45.60732526295055
+ ]
+ ]
+ ]
+ },
+ "properties": {
+ "OBJECTID_12_13": 2864,
+ "ID_UEV": "02033771",
+ "CIVIQUE_DE": " 8212",
+ "CIVIQUE_FI": " 8212",
+ "NOM_RUE": "avenue Peterborough (ANJ)",
+ "SUITE_DEBU": " ",
+ "MUNICIPALI": "50",
+ "ETAGE_HORS": 1,
+ "NOMBRE_LOG": 1,
+ "ANNEE_CONS": 1960,
+ "CODE_UTILI": "1000",
+ "LETTRE_DEB": " ",
+ "LETTRE_FIN": " ",
+ "LIBELLE_UT": "Logement",
+ "CATEGORIE_": "R\u00c3\u00a9gulier",
+ "MATRICULE8": "0051-49-2041-2-000-0000",
+ "SUPERFICIE": 450,
+ "SUPERFIC_1": 176,
+ "NO_ARROND_": "REM09",
+ "Shape_Leng": 0.000666191644361,
+ "OBJECTID": 2864,
+ "Join_Count": 1,
+ "TARGET_FID": 2864,
+ "feature_id": "bdd1f0fe-89de-46d2-80dc-87d3636df60a",
+ "md_id": " ",
+ "acqtech": 1360,
+ "acqtech_en": "Lidar",
+ "acqtech_fr": "Lidar",
+ "provider": 461,
+ "provideren": "Municipal",
+ "providerfr": "Municipal",
+ "datemin": "20151124",
+ "datemax": "20151208",
+ "haccmin": 2,
+ "haccmax": 2,
+ "vaccmin": 1,
+ "vaccmax": 1,
+ "heightmin": 1.17,
+ "heightmax": 7.5,
+ "elevmin": 45.48,
+ "elevmax": 45.96,
+ "bldgarea": 193.18,
+ "comment": " ",
+ "OBJECTID_1": 2864,
+ "Shape_Le_1": 0.000666191644361,
+ "Shape_Ar_1": 2.22753099997e-08,
+ "OBJECTID_12": 2864,
+ "Join_Count_1": 1,
+ "TARGET_FID_1": 2863,
+ "g_objectid": "897744",
+ "g_co_mrc": "66023",
+ "g_code_mun": "66023",
+ "g_arrond": "REM09",
+ "g_anrole": "2019",
+ "g_usag_pre": "R\u00c3\u00a9sidentiel",
+ "g_no_lot": "1113400",
+ "g_nb_poly_": "1",
+ "g_utilisat": "1000",
+ "g_nb_logem": "1",
+ "g_nb_locau": " ",
+ "g_descript": "Unit\u00c3\u00a9 d'\u00c3\u00a9valuation",
+ "g_id_provi": "66023005149204120000000",
+ "g_sup_tota": "450.1",
+ "g_geometry": "0.000958907",
+ "g_geomet_1": "5.20226e-008",
+ "g_dat_acqu": "2020-02-12 00:00:00.0000000",
+ "g_dat_char": "2020-02-17 00:00:00.0000000",
+ "Shape_Leng_1": 0.000666191644361,
+ "Shape_Area_1": 2.22753099997e-08,
+ "Shape_Length": 0.0006661919640545334,
+ "Shape_Area": 2.22753099997e-08
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..9b933e7
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,8 @@
+# pyproject.toml
+
+[build-system]
+requires = ["setuptools>=61.0.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[options.packages.find_namespace]
+where = "costs"
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..add886c
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,3 @@
+numpy_financial
+cerc_hub
+pandas
\ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..93e5514
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,36 @@
+import glob
+import pathlib
+from distutils.util import convert_path
+from setuptools import setup
+
+with pathlib.Path('requirements.txt').open() as r:
+ install_requires = [
+ str(requirement).replace('\n', '')
+ for requirement
+ in r.readlines()
+ ]
+install_requires.append('setuptools')
+
+main_ns = {}
+version = convert_path('costs/version.py')
+with open(version) as f:
+ exec(f.read(), main_ns)
+
+setup(
+ name='cerc-costs',
+ version=main_ns['__version__'],
+ description="CERC costs contains the basic cost calculation per CERC-Hub building",
+ long_description="CERC costs contains the basic cost calculation per CERC-Hub building",
+ classifiers=[
+ "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ ],
+ include_package_data=True,
+ packages=['costs'],
+ setup_requires=install_requires,
+ install_requires=install_requires,
+ data_files=[
+ ('costs', glob.glob('requirements.txt'))
+ ]
+)
diff --git a/tests/__pycache__/unit_tests.cpython-39.pyc b/tests/__pycache__/unit_tests.cpython-39.pyc
new file mode 100644
index 0000000..3e1f658
Binary files /dev/null and b/tests/__pycache__/unit_tests.cpython-39.pyc differ
diff --git a/tests/data/test.geojson b/tests/data/test.geojson
new file mode 100644
index 0000000..39e320b
--- /dev/null
+++ b/tests/data/test.geojson
@@ -0,0 +1 @@
+{"type": "FeatureCollection", "features": [{"type": "Feature", "id": 1, "geometry": {"type": "Polygon", "coordinates": [[[-73.58041417568059, 45.49764113660836], [-73.58043210090233, 45.49764939355464], [-73.58043812505389, 45.49765216533153], [-73.58044414920609, 45.497654937108095], [-73.58045522645047, 45.497643483290055], [-73.58046039454494, 45.49763813457615], [-73.58046556263851, 45.49763278586197], [-73.58046731940954, 45.49763096963899], [-73.58046837569874, 45.497631443112695], [-73.58047458446856, 45.49762459092546], [-73.58047710119774, 45.49762181763267], [-73.58047961792668, 45.497619044339814], [-73.58047934905329, 45.497618923950135], [-73.5804790801799, 45.49761880356047], [-73.58048954414282, 45.497607987260714], [-73.58049287242406, 45.49760454751109], [-73.58049620070491, 45.49760110776142], [-73.58030119628617, 45.497508498087804], [-73.58029784855013, 45.497511757876744], [-73.58026340519585, 45.49749487401405], [-73.58023482852495, 45.497500527114255], [-73.58023846427437, 45.497519871207935], [-73.58022467137708, 45.49753369800162], [-73.58021087847304, 45.4975475247936], [-73.58024507714809, 45.497563293037274], [-73.58025024985044, 45.49756568298851], [-73.5802554225532, 45.49756807293951], [-73.58030361564374, 45.49759024722043], [-73.58034770519933, 45.49761054369337], [-73.58039179478655, 45.497630840149206], [-73.58041417568059, 45.49764113660836]]]}, "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.824, "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.824, "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.165, "Shape_Leng": 59.5328348388, "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\u00e9gulier", "MATRICULE8": "9839-57-1941-6-000-0000", "SUPERFICIE": 193, "SUPERFIC_1": 609, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000764524473662, "Shape_Ar_1": 2.21628798868e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 59.53283483882735, "Shape_Area": 161.83671944596372}}, {"type": "Feature", "id": 2, "geometry": {"type": "Polygon", "coordinates": [[[-73.57983293175002, 45.49768418792749], [-73.57988299478886, 45.49770770184612], [-73.57987444688511, 45.49771631933112], [-73.57986589897874, 45.4977249368155], [-73.57989400442865, 45.4977388332491], [-73.5799221098924, 45.49775272967573], [-73.57996464588562, 45.49777379225035], [-73.5800114873555, 45.49772695856106], [-73.58001337692374, 45.49772403274434], [-73.58002372352, 45.49771158065326], [-73.57997377599757, 45.49768836366396], [-73.57997699554191, 45.497684915007106], [-73.57996891710309, 45.49768168122446], [-73.58001203415056, 45.49763421125227], [-73.5800237211254, 45.49763310975479], [-73.58003540809983, 45.497632008256126], [-73.58003843462382, 45.49762779486531], [-73.5800586413064, 45.49763883978816], [-73.58006902830654, 45.49763685734999], [-73.58007941530593, 45.497634874910936], [-73.58008512530917, 45.4976371925054], [-73.58011852332075, 45.49760265106696], [-73.58012141009918, 45.49760366136672], [-73.58012429687773, 45.49760467166638], [-73.58021730322469, 45.49750983661196], [-73.58023846427437, 45.497519871207935], [-73.58023482852495, 45.497500527114255], [-73.58026340519585, 45.49749487401405], [-73.58026543717902, 45.497493135887176], [-73.58023226310907, 45.49747803281433], [-73.58022096787025, 45.49749006266433], [-73.5802096726266, 45.49750209251325], [-73.58020000432282, 45.49749746330521], [-73.58020295907204, 45.497494079616594], [-73.58019598163615, 45.49749126350431], [-73.58018900420097, 45.4974884473916], [-73.58017559824007, 45.497481905937164], [-73.58017296099679, 45.49748451733602], [-73.58010849803175, 45.497453656518125], [-73.58010999915835, 45.49745202044865], [-73.58011150028489, 45.497450384379164], [-73.5801040813135, 45.49744749208417], [-73.58009666234283, 45.49744459978872], [-73.58008289756135, 45.4974376536451], [-73.58008174786045, 45.49743897632209], [-73.58008059816082, 45.4974402998989], [-73.58007239721384, 45.4974363733294], [-73.58006419626933, 45.49743244765915], [-73.57996868909309, 45.49752964373216], [-73.5799714683216, 45.49753151346204], [-73.57993688140664, 45.49756683855426], [-73.57994341177368, 45.497570199400855], [-73.57992321204678, 45.49759117090436], [-73.57992188066632, 45.49759069941776], [-73.57992054928589, 45.4975902279312], [-73.57983293175002, 45.49768418792749]]]}, "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.644, "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.644, "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.8179, "Z_Max": 69.462, "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\u00e9gulier", "MATRICULE8": "9839-57-4570-0-000-0000", "SUPERFICIE": 249, "SUPERFIC_1": 506, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000997036390488, "Shape_Ar_1": 2.85432763043e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 124.143194192441, "Shape_Area": 464.3009460293119}}, {"type": "Feature", "id": 3, "geometry": {"type": "Polygon", "coordinates": [[[-73.58027133757318, 45.49778253958501], [-73.58029012091339, 45.4977913628521], [-73.58030531916779, 45.497798505928216], [-73.58031919454406, 45.49778416165715], [-73.58032294575167, 45.49778028519085], [-73.5803239370267, 45.49778092788226], [-73.58032868649482, 45.49778260725071], [-73.58035123655425, 45.497758871501716], [-73.58034693486053, 45.49775714682708], [-73.58034559351022, 45.4977568679191], [-73.58034881064437, 45.49775353713306], [-73.5803511232103, 45.49775115091962], [-73.58034376740876, 45.497747727688], [-73.58033641160816, 45.49774430445582], [-73.58023858400132, 45.49769876012238], [-73.5801407565522, 45.49765321570472], [-73.58012849724439, 45.49766577712958], [-73.58011623793112, 45.4976783385531], [-73.58012118770385, 45.49769495520085], [-73.58011416146232, 45.49770285176125], [-73.58011049504559, 45.49770697561838], [-73.58018191512001, 45.49774053018273], [-73.58025333527925, 45.497774084702165], [-73.58026233642553, 45.497778312143936], [-73.58027133757318, 45.49778253958501]]]}, "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.9834, "Z_Max": 67.617, "Shape_Leng": 52.2836566341, "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\u00e9gulier", "MATRICULE8": "9839-57-3057-9-000-0000", "SUPERFICIE": 167, "SUPERFIC_1": 354, "NO_ARROND_": "REM19", "Shape_Le_1": 0.00074417728925, "Shape_Ar_1": 1.92186900974e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 52.28365663409477, "Shape_Area": 123.24449716965384}}, {"type": "Feature", "id": 4, "geometry": {"type": "Polygon", "coordinates": [[[-73.58033641160816, 45.49774430445582], [-73.58034376740876, 45.497747727688], [-73.5803511232103, 45.49775115091962], [-73.58035790116986, 45.49774413636653], [-73.58036467912778, 45.49773712181308], [-73.58036844437973, 45.49773322823833], [-73.58036943437362, 45.49773387003041], [-73.5803741966345, 45.497735549387926], [-73.58039673386065, 45.497711813638816], [-73.58039244496449, 45.49771008895686], [-73.58039109337624, 45.49770980825692], [-73.58039462737088, 45.497706155102385], [-73.58039622443148, 45.497704498265314], [-73.58040994643537, 45.497690307064396], [-73.58041445272148, 45.49768564809902], [-73.58041544271505, 45.49768628989075], [-73.58041782384414, 45.497687129568575], [-73.58042020497331, 45.49768796924638], [-73.58043147356958, 45.497676101367745], [-73.58044274216114, 45.49766423348799], [-73.5804384532672, 45.49766250880776], [-73.58043777747288, 45.49766236800813], [-73.58043710167988, 45.49766222810832], [-73.58044057178164, 45.49765863798647], [-73.58044414920609, 45.497654937108095], [-73.58043812505389, 45.49765216533153], [-73.58043210090233, 45.49764939355464], [-73.58041417568059, 45.49764113660836], [-73.58039179478655, 45.497630840149206], [-73.58034770519933, 45.49761054369337], [-73.58030361564374, 45.49759024722043], [-73.5802554225532, 45.49756807293951], [-73.5802379041298, 45.49758493932583], [-73.58023068869622, 45.4975812280381], [-73.58022347326362, 45.497577516749864], [-73.58019381582531, 45.497606044634786], [-73.58018811159256, 45.497603286118064], [-73.5801824073604, 45.497600527601115], [-73.58013161464174, 45.497648956857425], [-73.5801407565522, 45.49765321570472], [-73.58023858400132, 45.49769876012238], [-73.58033641160816, 45.49774430445582]]]}, "properties": {"OBJECTID_12": 4, "gml_id": "1340909", "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.918, "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": "4628.589", "parcelle": " ", "OBJECTID": 781, "gml_id_1": "7361d073-8a4e-4cde-9045-f00174037b93", "gml_pare_1": "1340909", "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": "299.868", "FID_": 0, "Join_Count": 2, "TARGET_FID": 782, "gml_id_12": "1340909", "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.918, "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": "4628.589", "Field": 0, "Field1": 0, "OBJECTID_1": 781, "gml_id_12_": "7361d073-8a4e-4cde-9045-f00174037b93", "gml_pare_3": "1340909", "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": "299.868", "cityGML_hi": 0, "Z_Min": 48.9809, "Z_Max": 68.706, "Shape_Leng": 68.6309905336, "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\u00e9gulier", "MATRICULE8": "9839-57-3057-9-000-0000", "SUPERFICIE": 167, "SUPERFIC_1": 354, "NO_ARROND_": "REM19", "Shape_Le_1": 0.00074417728925, "Shape_Ar_1": 1.92186900974e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 68.63099053361788, "Shape_Area": 255.162393537897}}, {"type": "Feature", "id": 5, "geometry": {"type": "Polygon", "coordinates": [[[-73.57987280223287, 45.49780197663469], [-73.57989410857009, 45.497812471912496], [-73.5799154149152, 45.4978229671863], [-73.57991587587279, 45.49782319632402], [-73.57991633683041, 45.497823425461746], [-73.57994396849938, 45.497837029765], [-73.57994983287693, 45.49783992315832], [-73.57995569725507, 45.49784281655128], [-73.57999583877229, 45.49786259401303], [-73.58000874551566, 45.49786894687061], [-73.58001902738776, 45.49787401478859], [-73.5801510016764, 45.49793903497323], [-73.58015255099711, 45.497939794254236], [-73.58015410031787, 45.497940553535265], [-73.58015964461515, 45.49794329416885], [-73.580163524261, 45.49794515412329], [-73.58021253545378, 45.49789446749787], [-73.58020911673718, 45.49789281418553], [-73.58020029465442, 45.49788854612092], [-73.58005728487048, 45.497819331455986], [-73.58002896209338, 45.497805628681455], [-73.58001106161767, 45.497796768759315], [-73.5799931611476, 45.49778790883436], [-73.57996464588562, 45.49777379225035], [-73.57994337788503, 45.49776326096506], [-73.5799221098924, 45.49775272967573], [-73.57989400442865, 45.4977388332491], [-73.57986589897874, 45.4977249368155], [-73.57986299879909, 45.497723499092736], [-73.57986009861956, 45.49772206136999], [-73.57980521410511, 45.497772688960225], [-73.57981413841381, 45.49777689399493], [-73.57981665544915, 45.4977743096838], [-73.57987280223287, 45.49780197663469]]]}, "properties": {"OBJECTID_12": 5, "gml_id": "1340975", "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": 26.973, "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": "4615.644", "parcelle": " ", "OBJECTID": 783, "gml_id_1": "5d841c7d-db0a-496c-aa5b-ff010accb222", "gml_pare_1": "1340975", "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": "233.090", "FID_": 0, "Join_Count": 2, "TARGET_FID": 784, "gml_id_12": "1340975", "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": 26.973, "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": "4615.644", "Field": 0, "Field1": 0, "OBJECTID_1": 783, "gml_id_12_": "5d841c7d-db0a-496c-aa5b-ff010accb222", "gml_pare_3": "1340975", "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": "233.090", "cityGML_hi": 0, "Z_Min": 47.9028, "Z_Max": 74.876, "Shape_Leng": 81.7235184451, "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\u00e9gulier", "MATRICULE8": "9839-57-4570-0-000-0000", "SUPERFICIE": 249, "SUPERFIC_1": 506, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000997036390488, "Shape_Ar_1": 2.85432763043e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 81.72351844511994, "Shape_Area": 226.8688400309068}}, {"type": "Feature", "id": 6, "geometry": {"type": "Polygon", "coordinates": [[[-73.58020029465442, 45.49788854612092], [-73.58020470569565, 45.497890680153304], [-73.58020911673718, 45.49789281418553], [-73.58021253545378, 45.49789446749787], [-73.58022877454545, 45.4978776740024], [-73.580230355015, 45.49787604057531], [-73.58023193420492, 45.49787440714907], [-73.58023292932299, 45.49787505253807], [-73.58023531045096, 45.49787588772046], [-73.58023769157896, 45.497876722902824], [-73.58026022893152, 45.497852996179574], [-73.58025592722062, 45.49785126250309], [-73.58025458714808, 45.49785098359313], [-73.5802576496991, 45.497847814890285], [-73.58025809687858, 45.497847351156395], [-73.58025854405807, 45.49784688742253], [-73.58027411873532, 45.49783077826882], [-73.58027633675611, 45.49782848660698], [-73.58027683239438, 45.49782880840284], [-73.58027732803141, 45.49782912929881], [-73.58028209028483, 45.497830799661735], [-73.58029335894497, 45.497818936296206], [-73.58030462760044, 45.49780707292953], [-73.58030033869983, 45.49780534824416], [-73.58029965906428, 45.4978052065466], [-73.58029897814917, 45.49780506484989], [-73.58030104413092, 45.4978029334667], [-73.58030310883294, 45.49780080208443], [-73.58030421400039, 45.49779965400631], [-73.58030531916779, 45.497798505928216], [-73.58029012091339, 45.4977913628521], [-73.58027133757318, 45.49778253958501], [-73.58026233642553, 45.497778312143936], [-73.58025333527925, 45.497774084702165], [-73.58018191512001, 45.49774053018273], [-73.58011049504559, 45.49770697561838], [-73.58005920141883, 45.49768195092396], [-73.58001546938262, 45.497728845444165], [-73.5800114873555, 45.49772695856106], [-73.57996464588562, 45.49777379225035], [-73.5799931611476, 45.49778790883436], [-73.58002896209338, 45.497805628681455], [-73.58005728487048, 45.497819331455986], [-73.58020029465442, 45.49788854612092]]]}, "properties": {"OBJECTID_12": 6, "gml_id": "1340973", "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": 22.324, "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": "5526.970", "parcelle": " ", "OBJECTID": 784, "gml_id_1": "cee7bddb-ab30-4184-aaad-071dc8a493dd", "gml_pare_1": "1340973", "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": "344.679", "FID_": 0, "Join_Count": 2, "TARGET_FID": 785, "gml_id_12": "1340973", "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": 22.324, "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": "5526.970", "Field": 0, "Field1": 0, "OBJECTID_1": 784, "gml_id_12_": "cee7bddb-ab30-4184-aaad-071dc8a493dd", "gml_pare_3": "1340973", "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": "344.679", "cityGML_hi": 0, "Z_Min": 48.5686, "Z_Max": 68.604, "Shape_Leng": 74.7024378907, "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\u00e9gulier", "MATRICULE8": "9839-57-4570-0-000-0000", "SUPERFICIE": 249, "SUPERFIC_1": 506, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000997036390488, "Shape_Ar_1": 2.85432763043e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 74.70243789066224, "Shape_Area": 300.3128592870276}}, {"type": "Feature", "id": 8, "geometry": {"type": "Polygon", "coordinates": [[[-73.57951109372742, 45.49797740161985], [-73.5795154252114, 45.49797302536288], [-73.57952250596712, 45.497976502829886], [-73.5795258025052, 45.49797318011049], [-73.57952723636215, 45.49797372801708], [-73.5795289514519, 45.497974086760586], [-73.57953069177773, 45.49797419353016], [-73.57953223985594, 45.49797407547255], [-73.57953359578782, 45.497973804575274], [-73.57953408818886, 45.49797364675974], [-73.57953458058988, 45.49797348894419], [-73.57953564193629, 45.497973011287854], [-73.57953672859472, 45.49797233564821], [-73.57953788096579, 45.49797289274911], [-73.57970940276014, 45.4978001291146], [-73.57975656339444, 45.49775262042428], [-73.57968090322977, 45.49771547367498], [-73.57963739684415, 45.497759299424665], [-73.57963374256275, 45.49776298233438], [-73.57952818975889, 45.49786930045622], [-73.57952481016481, 45.49787269972034], [-73.57952143057031, 45.497876098984314], [-73.57950823165471, 45.49788939886833], [-73.57949503273288, 45.49790269875081], [-73.5794800321942, 45.497917804072586], [-73.57946503164756, 45.497932909392325], [-73.57946222064952, 45.49793574585649], [-73.57948812364579, 45.49794846962509], [-73.57948731962531, 45.4979499549272], [-73.5794871296316, 45.49795133182075], [-73.57948733601646, 45.49795251047276], [-73.5794878108513, 45.49795350896919], [-73.57948816335764, 45.49795395864589], [-73.57948851586393, 45.4979544083226], [-73.57948946386242, 45.4979552175225], [-73.57949047539473, 45.4979557117328], [-73.57948878239833, 45.49795741361608], [-73.57948708940182, 45.497959115499384], [-73.57949283850887, 45.49796193700876], [-73.57949067276019, 45.49796412063761], [-73.57948850701138, 45.497966304266455], [-73.57951109372742, 45.49797740161985]]]}, "properties": {"OBJECTID_12": 8, "gml_id": "1340981", "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.833, "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": "3138.930", "parcelle": " ", "OBJECTID": 1050, "gml_id_1": "b2437d15-0f9d-4af9-8ae5-dd5d201128a7", "gml_pare_1": "1340981", "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": "221.093", "FID_": 0, "Join_Count": 1, "TARGET_FID": 1052, "gml_id_12": "1340981", "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.833, "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": "3138.930", "Field": 0, "Field1": 0, "OBJECTID_1": 1050, "gml_id_12_": "b2437d15-0f9d-4af9-8ae5-dd5d201128a7", "gml_pare_3": "1340981", "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": "221.093", "cityGML_hi": 0, "Z_Min": 46.3931, "Z_Max": 66.226, "Shape_Leng": 76.8106772684, "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 \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "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-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 76.81067726839883, "Shape_Area": 220.5412075100958}}, {"type": "Feature", "id": 9, "geometry": {"type": "Polygon", "coordinates": [[[-73.57938148575774, 45.49789949328572], [-73.57938505429556, 45.49790124550157], [-73.57938759058709, 45.49789868818189], [-73.57939012687844, 45.49789613086214], [-73.5795114087957, 45.497773973664174], [-73.57955974509859, 45.4977252944393], [-73.57956286932851, 45.49772683099649], [-73.57956562282082, 45.49772405755894], [-73.57964521844113, 45.497643888972846], [-73.57956635744928, 45.497605169651614], [-73.57948122283224, 45.49769091207221], [-73.57953219634075, 45.497715946247425], [-73.57950942730618, 45.49773888112614], [-73.57948665825312, 45.49776181600022], [-73.57946779765572, 45.49775255173118], [-73.5794529249259, 45.49776753098267], [-73.5794380521882, 45.49778251023223], [-73.5794031991453, 45.49776539243639], [-73.57935742452761, 45.49781149626111], [-73.57931164983522, 45.49785760006716], [-73.57931042303355, 45.497858707727076], [-73.5793091962319, 45.49785981538704], [-73.5793064876179, 45.49786266977316], [-73.5793241663915, 45.497871349990795], [-73.57932313525795, 45.497872385527465], [-73.5793365732836, 45.497878985549114], [-73.57935001131231, 45.49788558556917], [-73.57936344933792, 45.497892181088396], [-73.57937688736664, 45.4978987766061], [-73.57937740229337, 45.49789825883794], [-73.57937791722013, 45.4978977410698], [-73.57938148575774, 45.49789949328572]]]}, "properties": {"OBJECTID_12": 9, "gml_id": "1340983", "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.431, "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": "3266.741", "parcelle": " ", "OBJECTID": 1052, "gml_id_1": "7e974d1b-2927-4864-a418-1c7293308ab5", "gml_pare_1": "1340983", "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": "228.251", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1054, "gml_id_12": "1340983", "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.431, "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": "3266.741", "Field": 0, "Field1": 0, "OBJECTID_1": 1052, "gml_id_12_": "7e974d1b-2927-4864-a418-1c7293308ab5", "gml_pare_3": "1340983", "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": "228.251", "cityGML_hi": 0, "Z_Min": 45.7957, "Z_Max": 63.513, "Shape_Leng": 95.7443169372, "ID_UEV": "01036800", "CIVIQUE_DE": " 2150", "CIVIQUE_FI": " 2150", "NOM_RUE": "rue Bishop (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1900, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-57-8961-7-000-0000", "SUPERFICIE": 280, "SUPERFIC_1": 665, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000986139567008, "Shape_Ar_1": 3.23120258539e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 95.74431693720996, "Shape_Area": 218.19171039698008}}, {"type": "Feature", "id": 10, "geometry": {"type": "Polygon", "coordinates": [[[-73.57917935756979, 45.49776572778646], [-73.57917213839988, 45.49777301252861], [-73.57916139265382, 45.49778382710295], [-73.57915631877064, 45.49778893453445], [-73.57916608963761, 45.49779373203033], [-73.57918463777067, 45.49780283819319], [-73.57920318335066, 45.497811944354844], [-73.57921072501661, 45.4978156473825], [-73.579220941478, 45.49782066322677], [-73.57923114897817, 45.49782567457711], [-73.57923389931885, 45.49782702513492], [-73.5792389731858, 45.497821908701546], [-73.57924492103257, 45.49781592061259], [-73.57925086887815, 45.49780993252337], [-73.57925833082611, 45.49780241364841], [-73.5793348923839, 45.497725297856135], [-73.5793462897126, 45.497713816928176], [-73.57935470994548, 45.497705343546414], [-73.57935747564652, 45.4977067003895], [-73.57940993907073, 45.49765386108062], [-73.57939653309744, 45.497647274542715], [-73.57938312712723, 45.49764068800324], [-73.57938965629212, 45.49763410560552], [-73.57937045005214, 45.49762467958845], [-73.5793639080908, 45.49763126199399], [-73.57935818462715, 45.49762844945861], [-73.57930572117805, 45.49768128874398], [-73.57930772503039, 45.497682272681935], [-73.57930972888272, 45.497683256619894], [-73.5793013214417, 45.4976917299895], [-73.57929592304279, 45.497697168795185], [-73.57929052464284, 45.49770260760065], [-73.57925792522492, 45.49768659500404], [-73.57925494172528, 45.49768959805404], [-73.57925195822533, 45.49769260110396], [-73.57917935756979, 45.49776572778646]]]}, "properties": {"OBJECTID_12": 10, "gml_id": "1340985", "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": 18.372, "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": "2219.559", "parcelle": " ", "OBJECTID": 1053, "gml_id_1": "b779a31f-02ef-4678-a57f-c388c7760100", "gml_pare_1": "1340985", "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": "159.143", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1055, "gml_id_12": "1340985", "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": 18.372, "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": "2219.559", "Field": 0, "Field1": 0, "OBJECTID_1": 1053, "gml_id_12_": "b779a31f-02ef-4678-a57f-c388c7760100", "gml_pare_3": "1340985", "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": "159.143", "cityGML_hi": 0, "Z_Min": 45.223, "Z_Max": 61.553, "Shape_Leng": 65.1742766185, "ID_UEV": "01036796", "CIVIQUE_DE": " 2110", "CIVIQUE_FI": " 2130", "NOM_RUE": "rue Bishop (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1900, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-67-0153-8-000-0000", "SUPERFICIE": 285, "SUPERFIC_1": 398, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000986262845564, "Shape_Ar_1": 3.23976569507e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 65.17427661846392, "Shape_Area": 150.771154101762}}, {"type": "Feature", "id": 11, "geometry": {"type": "Polygon", "coordinates": [[[-73.57925833082611, 45.49780241364841], [-73.57925086887815, 45.49780993252337], [-73.5792389731858, 45.497821908701546], [-73.57923389931885, 45.49782702513492], [-73.5792380926954, 45.49782908646827], [-73.5792422873518, 45.49783114780058], [-73.57925126949104, 45.497835555303936], [-73.57926025163171, 45.49783996280667], [-73.57928392660385, 45.497851590358124], [-73.57928592405783, 45.49785256980165], [-73.5792961162062, 45.497857574857875], [-73.57930130191184, 45.497860122315686], [-73.5793064876179, 45.49786266977316], [-73.5793091962319, 45.49785981538704], [-73.57931164983522, 45.49785760006716], [-73.5794031991453, 45.49776539243639], [-73.5794096005585, 45.49775894510306], [-73.57941600197024, 45.497752497769405], [-73.579417640913, 45.49775330648953], [-73.57942061148255, 45.49775476217153], [-73.57945587670994, 45.49771923879925], [-73.57945291893667, 45.49771778310934], [-73.57940588915585, 45.4976946898204], [-73.57936219090806, 45.497738704566], [-73.5793348923839, 45.497725297856135], [-73.57925833082611, 45.49780241364841]]]}, "properties": {"OBJECTID_12": 11, "gml_id": "1340984", "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": 18.457, "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": "1847.282", "parcelle": " ", "OBJECTID": 1054, "gml_id_1": "2ca1aceb-43c6-4430-b90c-6d6fad2fcc4e", "gml_pare_1": "1340984", "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": "130.466", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1056, "gml_id_12": "1340984", "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": 18.457, "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": "1847.282", "Field": 0, "Field1": 0, "OBJECTID_1": 1054, "gml_id_12_": "2ca1aceb-43c6-4430-b90c-6d6fad2fcc4e", "gml_pare_3": "1340984", "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": "130.466", "cityGML_hi": 0, "Z_Min": 45.4996, "Z_Max": 62.479, "Shape_Leng": 54.2327049658, "ID_UEV": "01036800", "CIVIQUE_DE": " 2150", "CIVIQUE_FI": " 2150", "NOM_RUE": "rue Bishop (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1900, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-57-8961-7-000-0000", "SUPERFICIE": 280, "SUPERFIC_1": 665, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000986139567008, "Shape_Ar_1": 3.23120258539e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 54.23270496582495, "Shape_Area": 123.4302126118902}}, {"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 \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "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-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 63.69060669550123, "Shape_Area": 174.69050030775531}}, {"type": "Feature", "id": 13, "geometry": {"type": "Polygon", "coordinates": [[[-73.57974780341223, 45.49754757007826], [-73.57984256629233, 45.49759340492552], [-73.57991780909609, 45.49751646063186], [-73.57994883758664, 45.49748472841364], [-73.57997986604235, 45.497452996186816], [-73.57999511408877, 45.497450213989595], [-73.58000727759342, 45.497437778623805], [-73.5800039502881, 45.49742836858517], [-73.58000774499132, 45.497424487599275], [-73.58001153969407, 45.497420606613304], [-73.58001533439626, 45.4974167256272], [-73.58000314365833, 45.49741082938919], [-73.58000403930937, 45.4974099127206], [-73.58000021089934, 45.497408061723114], [-73.57999475636936, 45.497405420001535], [-73.57998834154517, 45.49740232003162], [-73.57998492286497, 45.49740066671242], [-73.57998402593424, 45.49740158338177], [-73.57997832813383, 45.497398827549496], [-73.5799735592289, 45.4973815799774], [-73.57996222140854, 45.497376206847115], [-73.57995088359029, 45.4973708337157], [-73.5799390208309, 45.497372456338496], [-73.5799271593516, 45.49737407985903], [-73.57992400315722, 45.49737255323233], [-73.57992167774252, 45.49737490345247], [-73.57991904573784, 45.49737760482627], [-73.57991641373293, 45.49738030619999], [-73.57988529584178, 45.49741212845694], [-73.57985417791562, 45.49744395070526], [-73.5798485050039, 45.49744974966685], [-73.579842832091, 45.49745554862816], [-73.57982646497659, 45.4974722881688], [-73.5797992119665, 45.49750014838686], [-73.57979580608117, 45.49749849505307], [-73.57974780341223, 45.49754757007826]]]}, "properties": {"OBJECTID_12": 13, "gml_id": "1340977", "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.21, "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": "3181.173", "parcelle": " ", "OBJECTID": 1061, "gml_id_1": "e7eeaef5-3bc6-408a-809f-d9443a8cfec4", "gml_pare_1": "1340977", "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": "231.998", "FID_": 0, "Join_Count": 1, "TARGET_FID": 1063, "gml_id_12": "1340977", "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.21, "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": "3181.173", "Field": 0, "Field1": 0, "OBJECTID_1": 1061, "gml_id_12_": "e7eeaef5-3bc6-408a-809f-d9443a8cfec4", "gml_pare_3": "1340977", "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": "231.998", "cityGML_hi": 0, "Z_Min": 46.8229, "Z_Max": 65.582, "Shape_Leng": 67.6702949266, "ID_UEV": "01036895", "CIVIQUE_DE": " 2149", "CIVIQUE_FI": " 2149", "NOM_RUE": "rue Mackay (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1885, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-57-5732-5-000-0000", "SUPERFICIE": 291, "SUPERFIC_1": 414, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000915667266366, "Shape_Ar_1": 3.34774025218e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 67.67029492660554, "Shape_Area": 215.58319925217702}}, {"type": "Feature", "id": 14, "geometry": {"type": "Polygon", "coordinates": [[[-73.57983014021285, 45.49733857776713], [-73.57977053635722, 45.49739952085559], [-73.57976060876642, 45.49740967802941], [-73.57975996991772, 45.49741032636327], [-73.57975110280621, 45.49741940298288], [-73.57973674162459, 45.497434080467286], [-73.57974802838112, 45.49743954363995], [-73.57975931513982, 45.497445006811546], [-73.57973552465266, 45.497469337207946], [-73.57979580608117, 45.49749849505307], [-73.5797992119665, 45.49750014838686], [-73.57981283847491, 45.49748621827867], [-73.57982646497659, 45.4974722881688], [-73.579842832091, 45.49745554862816], [-73.57985417791562, 45.49744395070526], [-73.57991641373293, 45.49738030619999], [-73.57991904573784, 45.49737760482627], [-73.57992167774252, 45.49737490345247], [-73.57992400315722, 45.49737255323233], [-73.57989296746888, 45.497357542148215], [-73.57988819475113, 45.497340291875524], [-73.57986551914532, 45.49732954559678], [-73.5798417936395, 45.49733279172328], [-73.57983976164203, 45.497331808714165], [-73.57983772836512, 45.49733082570586], [-73.57983014021285, 45.49733857776713]]]}, "properties": {"OBJECTID_12": 14, "gml_id": "1340979", "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.426, "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": "2521.567", "parcelle": " ", "OBJECTID": 1062, "gml_id_1": "5594988d-179a-4011-9e87-fc55190610dc", "gml_pare_1": "1340979", "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": "153.117", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1064, "gml_id_12": "1340979", "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.426, "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": "2521.567", "Field": 0, "Field1": 0, "OBJECTID_1": 1062, "gml_id_12_": "5594988d-179a-4011-9e87-fc55190610dc", "gml_pare_3": "1340979", "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": "153.117", "cityGML_hi": 0, "Z_Min": 46.6081, "Z_Max": 65.831, "Shape_Leng": 51.9099690826, "ID_UEV": "01036895", "CIVIQUE_DE": " 2149", "CIVIQUE_FI": " 2149", "NOM_RUE": "rue Mackay (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1885, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-57-5732-5-000-0000", "SUPERFICIE": 291, "SUPERFIC_1": 414, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000915667266366, "Shape_Ar_1": 3.34774025218e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 51.90996908257286, "Shape_Area": 138.5517090007147}}, {"type": "Feature", "id": 15, "geometry": {"type": "Polygon", "coordinates": [[[-73.57967911439258, 45.497381587781966], [-73.57966106069952, 45.4974000471778], [-73.5797350423044, 45.4974358183526], [-73.57973674162459, 45.497434080467286], [-73.57975110280621, 45.49741940298288], [-73.57975996991772, 45.49741032636327], [-73.57976060876642, 45.49740967802941], [-73.57977053635722, 45.49739952085559], [-73.57983014021285, 45.49733857776713], [-73.57983772836512, 45.49733082570586], [-73.57983144543297, 45.49732778502466], [-73.57983220948644, 45.49732700432584], [-73.57982836829243, 45.49732515333147], [-73.57982291377847, 45.49732251160167], [-73.57981745927776, 45.497319878869966], [-73.57981526979033, 45.49731881858383], [-73.57981308030296, 45.497317758297655], [-73.57981270210901, 45.497318144595035], [-73.57981232519586, 45.49731853179136], [-73.57980991163919, 45.49731736368042], [-73.5798074993634, 45.497316196468354], [-73.57980875324232, 45.49731525075593], [-73.57981000712124, 45.497314305043574], [-73.57981061320419, 45.49731039029827], [-73.57980714396133, 45.497302826832964], [-73.57980753113348, 45.497302455826684], [-73.57980715978543, 45.497302253621186], [-73.57980678843734, 45.49730205141573], [-73.57979851344422, 45.49729549733339], [-73.57979282981492, 45.497293701615604], [-73.57978714618723, 45.497291906797386], [-73.57978627548681, 45.4972914655821], [-73.57978581931181, 45.49729190142528], [-73.57978024567045, 45.49729188102247], [-73.57977467075081, 45.497291861520104], [-73.57977129427854, 45.49729290589765], [-73.57976791652783, 45.49729395117582], [-73.57976612963967, 45.497296194835144], [-73.57976493886902, 45.49729561976642], [-73.57976374809843, 45.49729504469771], [-73.57975995338074, 45.49729892117635], [-73.57975615866256, 45.49730279765487], [-73.57967911439258, 45.497381587781966]]]}, "properties": {"OBJECTID_12": 15, "gml_id": "1340980", "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.293, "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": "1866.322", "parcelle": " ", "OBJECTID": 1067, "gml_id_1": "276abd9a-9946-4d8b-8177-d734e8ec19b7", "gml_pare_1": "1340980", "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": "122.382", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1069, "gml_id_12": "1340980", "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.293, "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": "1866.322", "Field": 0, "Field1": 0, "OBJECTID_1": 1067, "gml_id_12_": "276abd9a-9946-4d8b-8177-d734e8ec19b7", "gml_pare_3": "1340980", "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": "122.382", "cityGML_hi": 0, "Z_Min": 46.2361, "Z_Max": 65.772, "Shape_Leng": 44.2022513906, "ID_UEV": "01036891", "CIVIQUE_DE": " 2135", "CIVIQUE_FI": " 2135", "NOM_RUE": "rue Mackay (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1889, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-57-7023-7-000-0000", "SUPERFICIE": 238, "SUPERFIC_1": 287, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000884574343474, "Shape_Ar_1": 2.80211352203e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 44.20225139057528, "Shape_Area": 104.06763995868576}}, {"type": "Feature", "id": 16, "geometry": {"type": "MultiPolygon", "coordinates": [[[[-73.5792850543535, 45.497606679023576], [-73.57929811459073, 45.49761309484425], [-73.57931117483092, 45.497619510663434], [-73.57924482630267, 45.49768909666017], [-73.57925195822533, 45.49769260110396], [-73.57925494172528, 45.49768959805404], [-73.57925792522492, 45.49768659500404], [-73.57925510832071, 45.497685220197184], [-73.57946017299355, 45.49747151773975], [-73.5794326569038, 45.49745800322266], [-73.5792850543535, 45.497606679023576]]], [[[-73.5791134691732, 45.49777123549308], [-73.57915246432574, 45.497731057437555], [-73.57914894323693, 45.497729368170646], [-73.57913068501925, 45.4977481740632], [-73.57911242678945, 45.49776697995279], [-73.57901141637164, 45.497718494282914], [-73.57953047467159, 45.49718374366234], [-73.57963218879704, 45.497232570327874], [-73.57961114559149, 45.49725425324233], [-73.57961369997138, 45.497255479749235], [-73.57961625435132, 45.49725670625608], [-73.57963996788958, 45.497232276954406], [-73.57953314500816, 45.49718099727848], [-73.57953489541909, 45.49717919637148], [-73.57917999208591, 45.497008814490385], [-73.57882509089254, 45.496838431500166], [-73.57829772400852, 45.49738173316231], [-73.57865262702879, 45.49755211777352], [-73.579007532189, 45.497722501275554], [-73.57900893765013, 45.4977210515545], [-73.5791134691732, 45.49777123549308]]], [[[-73.57917213839988, 45.49777301252861], [-73.57918252258027, 45.49777810744639], [-73.57918974176204, 45.49777083170201], [-73.57917935756979, 45.49776572778646], [-73.57917213839988, 45.49777301252861]]]]}, "properties": {"OBJECTID_12": 16, "gml_id": "1340971", "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": 74.291, "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": "295828.067", "parcelle": " ", "OBJECTID": 1073, "gml_id_1": "aeeb9f89-ee59-429e-92e5-5d37a3217599", "gml_pare_1": "1340971", "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": "5031.989", "FID_": 0, "Join_Count": 2, "TARGET_FID": 1075, "gml_id_12": "1340971", "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": 74.291, "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": "295828.067", "Field": 0, "Field1": 0, "OBJECTID_1": 1073, "gml_id_12_": "aeeb9f89-ee59-429e-92e5-5d37a3217599", "gml_pare_3": "1340971", "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": "5031.989", "cityGML_hi": 0, "Z_Min": 42.7058, "Z_Max": 116.997, "Shape_Leng": 405.439930403, "ID_UEV": "01036796", "CIVIQUE_DE": " 2110", "CIVIQUE_FI": " 2130", "NOM_RUE": "rue Bishop (MTL)", "MUNICIPALI": "50", "ETAGE_HORS": 3, "NOMBRE_LOG": 1, "ANNEE_CONS": 1900, "CODE_UTILI": "6000", "LIBELLE_UT": "Immeuble \u00e0 bureaux", "CATEGORIE_": "R\u00e9gulier", "MATRICULE8": "9839-67-0153-8-000-0000", "SUPERFICIE": 285, "SUPERFIC_1": 398, "NO_ARROND_": "REM19", "Shape_Le_1": 0.000986262845564, "Shape_Ar_1": 3.23976569507e-08, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 405.439930402917, "Shape_Area": 4981.782847448918}}, {"type": "Feature", "id": 67, "geometry": {"type": "Polygon", "coordinates": [[[-73.58010292891963, 45.49799287036775], [-73.58011273680593, 45.49799752468131], [-73.58012031084986, 45.49798971412218], [-73.58012467974646, 45.49799190127798], [-73.58013996111403, 45.49797643123792], [-73.58013533883219, 45.49797421816498], [-73.580163524261, 45.49794515412329], [-73.58015964461515, 45.49794329416885], [-73.58015410031787, 45.497940553535265], [-73.58015255099711, 45.497939794254236], [-73.5801510016764, 45.49793903497323], [-73.58001902738776, 45.49787401478859], [-73.58001388645148, 45.49787148082968], [-73.58000874551566, 45.49786894687061], [-73.58000229214359, 45.49786577044202], [-73.57999583877229, 45.49786259401303], [-73.57995569725507, 45.49784281655128], [-73.57994983287693, 45.49783992315832], [-73.57994396849938, 45.497837029765], [-73.57991633683041, 45.497823425461746], [-73.57991587587279, 45.49782319632402], [-73.5799154149152, 45.4978229671863], [-73.57987280223287, 45.49780197663469], [-73.57981665544915, 45.4977743096838], [-73.57981413841381, 45.49777689399493], [-73.57978767638981, 45.4978032149227], [-73.5797612143412, 45.49782953584428], [-73.57976492760102, 45.4978313779316], [-73.5798290710499, 45.49786323259251], [-73.57989321457111, 45.49789508721708], [-73.57992789525107, 45.49791230846571], [-73.57996257595215, 45.49792952970371], [-73.57996346391319, 45.497928597743545], [-73.57996435187418, 45.49792766578335], [-73.58010292891963, 45.49799287036775]]]}, "properties": {"OBJECTID_12": 67, "gml_id": "1340976", "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.382, "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": "4651.759", "parcelle": " ", "OBJECTID": 1286, "gml_id_1": "e517a034-8126-49b9-89d2-29935510f1b5", "gml_pare_1": "1340976", "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": "259.608", "FID_": 0, "Join_Count": 70, "TARGET_FID": 1288, "gml_id_12": "1340976", "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.382, "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": "4651.759", "Field": 0, "Field1": 0, "OBJECTID_1": 1286, "gml_id_12_": "e517a034-8126-49b9-89d2-29935510f1b5", "gml_pare_3": "1340976", "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": "259.608", "cityGML_hi": 0, "Z_Min": 47.8483, "Z_Max": 67.23, "Shape_Leng": 81.988433275, "ID_UEV": "05240505", "CIVIQUE_DE": " 1420", "CIVIQUE_FI": " 1420", "NOM_RUE": "rue Sherbrooke Ouest (MTL+MTO+WMT)", "MUNICIPALI": "50", "ETAGE_HORS": 2, "NOMBRE_LOG": 1, "ANNEE_CONS": 1960, "CODE_UTILI": "1921", "LIBELLE_UT": "Stationnement int\u00e9rieur (condo)", "CATEGORIE_": "Condominium", "MATRICULE8": "9839-57-5991-7-000-0059", "SUPERFICIE": 2, "SUPERFIC_1": 417, "NO_ARROND_": "REM19", "Shape_Le_1": 0.00140439072469, "Shape_Ar_1": 1.1105277353e-07, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 81.98843327497843, "Shape_Area": 246.09568398597227}}, {"type": "Feature", "id": 68, "geometry": {"type": "Polygon", "coordinates": [[[-73.57964976661111, 45.497942971460205], [-73.57962425755655, 45.497969197201265], [-73.57962510262334, 45.49796960154196], [-73.57962594769015, 45.497970005882685], [-73.57956790220166, 45.49802967899225], [-73.57980654544164, 45.498144485574635], [-73.57981023943898, 45.49814626288509], [-73.57980717928245, 45.49814934428925], [-73.57993619589217, 45.49821272007089], [-73.57999882994953, 45.49814966014923], [-73.57999206284883, 45.49814633636552], [-73.57998529575022, 45.49814301348126], [-73.580065380923, 45.498060681940416], [-73.58005612479505, 45.49805622700149], [-73.58006709099395, 45.49804485608538], [-73.58007240631309, 45.49804312105965], [-73.58008211444711, 45.498031560257076], [-73.58008148515943, 45.49802992928109], [-73.58011273680593, 45.49799752468131], [-73.58010292891963, 45.49799287036775], [-73.57996435187418, 45.49792766578335], [-73.57996346391319, 45.497928597743545], [-73.57996257595215, 45.49792952970371], [-73.57992789525107, 45.49791230846571], [-73.57989321457111, 45.49789508721708], [-73.57976492760102, 45.4978313779316], [-73.5797077895784, 45.49789013263914], [-73.57967978268813, 45.49791892019202], [-73.579675275642, 45.497916745713354], [-73.57964976661111, 45.497942971460205]]]}, "properties": {"OBJECTID_12": 68, "gml_id": "PC-35007", "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": 48.094, "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": "34105.224", "parcelle": " ", "OBJECTID": 1300, "gml_id_1": "3b092f68-5bb3-47d8-8cba-6388c31001e0", "gml_pare_1": "PC-35007", "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": "933.942", "FID_": 0, "Join_Count": 69, "TARGET_FID": 1302, "gml_id_12": "PC-35007", "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": 48.094, "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": "34105.224", "Field": 0, "Field1": 0, "OBJECTID_1": 1300, "gml_id_12_": "3b092f68-5bb3-47d8-8cba-6388c31001e0", "gml_pare_3": "PC-35007", "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": "933.942", "cityGML_hi": 0, "Z_Min": 47.4968, "Z_Max": 95.591, "Shape_Leng": 126.06526888, "ID_UEV": "05240505", "CIVIQUE_DE": " 1420", "CIVIQUE_FI": " 1420", "NOM_RUE": "rue Sherbrooke Ouest (MTL+MTO+WMT)", "MUNICIPALI": "50", "ETAGE_HORS": 2, "NOMBRE_LOG": 1, "ANNEE_CONS": 1960, "CODE_UTILI": "1921", "LIBELLE_UT": "Stationnement int\u00e9rieur (condo)", "CATEGORIE_": "Condominium", "MATRICULE8": "9839-57-5991-7-000-0059", "SUPERFICIE": 2, "SUPERFIC_1": 417, "NO_ARROND_": "REM19", "Shape_Le_1": 0.00140439072469, "Shape_Ar_1": 1.1105277353e-07, "Z_Min_1": null, "Z_Max_1": null, "Shape_Length": 126.0652688796645, "Shape_Area": 920.1220129190524}}]}
\ No newline at end of file
diff --git a/tests/output/.gitignore b/tests/output/.gitignore
new file mode 100644
index 0000000..c96a04f
--- /dev/null
+++ b/tests/output/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/tests/unit_tests.py b/tests/unit_tests.py
new file mode 100644
index 0000000..3677651
--- /dev/null
+++ b/tests/unit_tests.py
@@ -0,0 +1,73 @@
+import glob
+import os
+import subprocess
+import unittest
+
+from pathlib import Path
+
+from hub.exports.energy_building_exports_factory import EnergyBuildingsExportsFactory
+from hub.exports.exports_factory import ExportsFactory
+from hub.imports.construction_factory import ConstructionFactory
+from hub.imports.energy_systems_factory import EnergySystemsFactory
+from hub.imports.geometry_factory import GeometryFactory
+from hub.imports.results_factory import ResultFactory
+from hub.imports.usage_factory import UsageFactory
+from hub.helpers.dictionaries import Dictionaries
+
+from costs.cost import Cost
+from costs.constants import SKIN_RETROFIT, SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV, SYSTEM_RETROFIT_AND_PV
+
+
+class UnitTests(unittest.TestCase):
+ def setUp(self) -> None:
+ city_file = Path("./tests/data/test.geojson").resolve()
+ output_path = Path('./tests/output/').resolve()
+ city = GeometryFactory('geojson',
+ city_file,
+ height_field='citygml_me',
+ year_of_construction_field='ANNEE_CONS',
+ function_field='CODE_UTILI',
+ function_to_hub=Dictionaries().montreal_function_to_hub_function).city
+ ConstructionFactory('nrcan', city).enrich()
+ UsageFactory('nrcan', city).enrich()
+ ExportsFactory('sra', city, output_path).export()
+ sra_file = str((output_path / f'{city.name}_sra.xml').resolve())
+ subprocess.run(['/usr/local/bin/sra', sra_file])
+ ResultFactory('sra', city, output_path).enrich()
+
+ for building in city.buildings:
+ building.energy_systems_archetype_name = 'system 1 gas pv'
+ EnergySystemsFactory('montreal_custom', city).enrich()
+ EnergyBuildingsExportsFactory('insel_monthly_energy_balance', city, output_path).export()
+ _insel_files = glob.glob(f'{output_path}/*.insel')
+ for insel_file in _insel_files:
+ subprocess.run(['insel', str(insel_file)], stdout=subprocess.DEVNULL)
+ ResultFactory('insel_monthly_energy_balance', city, output_path).enrich()
+ self._city = city
+
+ def test_current_status(self):
+ for building in self._city.buildings:
+ result = Cost(building).life_cycle
+ self.assertIsNotNone(result)
+ self.assertEqual(0, result.values[0])
+
+ def test_scenario_1(self):
+ for building in self._city.buildings:
+ result = Cost(building, retrofit_scenario=SKIN_RETROFIT).life_cycle
+ self.assertIsNotNone(result)
+
+ def test_scenario_2(self):
+ for building in self._city.buildings:
+ result = Cost(building, retrofit_scenario=SYSTEM_RETROFIT_AND_PV).life_cycle
+ self.assertIsNotNone(result)
+ self.assertEqual(0, result.values[0])
+
+ def test_scenario_3(self):
+ for building in self._city.buildings:
+ result = Cost(building, retrofit_scenario=SKIN_RETROFIT_AND_SYSTEM_RETROFIT_AND_PV).life_cycle
+ self.assertIsNotNone(result)
+
+ def tearDown(self):
+ files = glob.glob('output/[!.]*')
+ for file in files:
+ os.unlink(file)