mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Map remaining Peabody EXTERNAL elements
This commit is contained in:
parent
8cdbe107e5
commit
2d77511650
3 changed files with 137 additions and 50 deletions
|
|
@ -20,17 +20,30 @@ class Element(str, Enum):
|
|||
# EXTERNAL – ROOF
|
||||
# ======================
|
||||
ROOF = "roof"
|
||||
PITCHED_ROOF_COVERING = "pitched_roof_covering"
|
||||
FLAT_ROOF_COVERING = "flat_roof_covering"
|
||||
RAINWATER_GOODS = "rainwater_goods"
|
||||
LOFT_INSULATION = "loft_insulation"
|
||||
PORCH_CANOPY = "porch_canopy"
|
||||
CHIMNEY = "chimney"
|
||||
FASCIA = "fascia"
|
||||
SOFFIT = "soffit"
|
||||
FASCIA_SOFFIT_BARGEBOARDS = "fascia_soffit_bargeboards"
|
||||
GUTTERS = "gutters"
|
||||
GARAGE_ROOF = "garage_roof"
|
||||
|
||||
# ======================
|
||||
# EXTERNAL – WALLS
|
||||
# ======================
|
||||
EXTERNAL_WALL = "external_wall"
|
||||
EXTERNAL_NOISE_INSULATION = "external_noise_insulation"
|
||||
PRIMARY_WALL = "primary_wall"
|
||||
SECONDARY_WALL = "secondary_wall"
|
||||
DOWNPIPES = "downpipes"
|
||||
EXTERNAL_DECORATION = "external_decoration"
|
||||
CLADDING = "cladding"
|
||||
SPANDREL_PANELS = "spandrel_panels"
|
||||
GARAGE_WALLS = "garage_walls"
|
||||
|
||||
# ======================
|
||||
# EXTERNAL – WINDOWS
|
||||
|
|
@ -50,6 +63,8 @@ class Element(str, Enum):
|
|||
COMMUNAL_ENTRANCE_DOOR = "communal_entrance_door"
|
||||
MAIN_DOOR = "main_door"
|
||||
BLOCK_ENTRANCE_DOOR = "block_entrance_door"
|
||||
LINTEL = "lintel"
|
||||
PATIO_FRENCH_DOOR = "patio_french_door"
|
||||
|
||||
# ======================
|
||||
# EXTERNAL – AREAS
|
||||
|
|
@ -57,7 +72,11 @@ class Element(str, Enum):
|
|||
PATHS_AND_HARDSTANDINGS = "paths_and_hardstandings"
|
||||
PARKING_AREAS = "parking_areas"
|
||||
BOUNDARY_WALLS = "boundary_walls"
|
||||
FENCING = "fencing"
|
||||
FRONT_FENCING = "front_fencing"
|
||||
REAR_FENCING = "rear_fencing"
|
||||
SIDE_FENCING = "side_fencing"
|
||||
REAR_GATE = "rear_gate"
|
||||
FRONT_GATE = "front_gate"
|
||||
GATES = "gates"
|
||||
RETAINING_WALLS = "retaining_walls"
|
||||
PRIVATE_BALCONY = "private_balcony"
|
||||
|
|
@ -66,6 +85,8 @@ class Element(str, Enum):
|
|||
GARAGE_STRUCTURE = "garage_structure"
|
||||
PAVING = "paving"
|
||||
ROADS = "roads"
|
||||
SOIL_AND_VENT = "soil_and_vent"
|
||||
SOLAR_THERMALS = "solar_thermals"
|
||||
|
||||
# ======================
|
||||
# INTERNAL – KITCHEN
|
||||
|
|
|
|||
|
|
@ -8,14 +8,39 @@ PEABODY_ELEMENT_MAP = {
|
|||
# PROPERTY / GENERAL
|
||||
# ==========================================================
|
||||
(100, 1): ElementMapping(element=Element.PROPERTY, aspect_type=AspectType.TYPE),
|
||||
(100, 15): ElementMapping(
|
||||
element=Element.PROPERTY, aspect_type=AspectType.EXTERNAL_DECORATION
|
||||
),
|
||||
# (100, 3): ElementMapping(element=Element.PROPERTY, aspect_type=AspectType.AGE),
|
||||
# (100, 14): ElementMapping(element="property", aspect_type="construction_type"),
|
||||
# ==========================================================
|
||||
# EXTERNAL – WALLS
|
||||
# ==========================================================
|
||||
(53, 1): ElementMapping(
|
||||
element=Element.BOUNDARY_WALLS, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 4): ElementMapping(
|
||||
element=Element.EXTERNAL_DECORATION, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 4): ElementMapping(
|
||||
element=Element.EXTERNAL_NOISE_INSULATION, aspect_type=AspectType.ADEQUACY
|
||||
),
|
||||
(53, 14): ElementMapping(
|
||||
element=Element.GARAGE_WALLS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 23): ElementMapping(
|
||||
element=Element.PRIMARY_WALL, aspect_type=AspectType.FINISH
|
||||
),
|
||||
(53, 30): ElementMapping(
|
||||
element=Element.SECONDARY_WALL, aspect_type=AspectType.FINISH
|
||||
), # Should this be combined with primary wall, with different instance value?
|
||||
(53, 36): ElementMapping(
|
||||
element=Element.EXTERNAL_WALL, aspect_type=AspectType.INSULATION
|
||||
),
|
||||
(53, 40): ElementMapping(
|
||||
element=Element.SPANDREL_PANELS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 41): ElementMapping(element=Element.CLADDING, aspect_type=AspectType.MATERIAL),
|
||||
(100, 15): ElementMapping(
|
||||
element=Element.EXTERNAL_DECORATION, aspect_type=AspectType.CONDITION
|
||||
),
|
||||
(120, 1): ElementMapping(
|
||||
element=Element.EXTERNAL_WALL, aspect_type=AspectType.STRUCTURE
|
||||
),
|
||||
|
|
@ -25,6 +50,22 @@ PEABODY_ELEMENT_MAP = {
|
|||
# ==========================================================
|
||||
# EXTERNAL – ROOFS
|
||||
# ==========================================================
|
||||
(53, 2): ElementMapping(element=Element.CHIMNEY, aspect_type=AspectType.PRESENCE),
|
||||
(53, 6): ElementMapping(
|
||||
element=Element.FASCIA_SOFFIT_BARGEBOARDS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 7): ElementMapping(
|
||||
element=Element.FLAT_ROOF_COVERING, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 13): ElementMapping(
|
||||
element=Element.GARAGE_ROOF, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 15): ElementMapping(element=Element.GUTTERS, aspect_type=AspectType.MATERIAL),
|
||||
(53, 18): ElementMapping(
|
||||
element=Element.PITCHED_ROOF_COVERING, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 22): ElementMapping(element=Element.PORCH_CANOPY, aspect_type=AspectType.TYPE),
|
||||
(53, 47): ElementMapping(element=Element.ROOF, aspect_type=AspectType.STRUCTURE),
|
||||
(110, 1): ElementMapping(
|
||||
element=Element.ROOF, aspect_type=AspectType.MATERIAL, element_instance=1
|
||||
),
|
||||
|
|
@ -49,6 +90,36 @@ PEABODY_ELEMENT_MAP = {
|
|||
# ==========================================================
|
||||
# EXTERNAL – DOORS & WINDOWS
|
||||
# ==========================================================
|
||||
(53, 8): ElementMapping(
|
||||
element=Element.FRONT_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 12): ElementMapping(
|
||||
element=Element.GARAGE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 16): ElementMapping(element=Element.LINTEL, aspect_type=AspectType.PRESENCE),
|
||||
(53, 19): ElementMapping(
|
||||
element=Element.PATIO_FRENCH_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 25): ElementMapping(
|
||||
element=Element.REAR_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 29): ElementMapping(
|
||||
element=Element.SECONDARY_GLAZING, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 35): ElementMapping(
|
||||
element=Element.STORE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 38): ElementMapping(
|
||||
element=Element.EXTERNAL_WINDOWS,
|
||||
aspect_type=AspectType.TYPE,
|
||||
element_instance=1,
|
||||
),
|
||||
(53, 39): ElementMapping(
|
||||
element=Element.EXTERNAL_WINDOWS,
|
||||
aspect_type=AspectType.TYPE,
|
||||
element_instance=2,
|
||||
),
|
||||
(53, 43): ElementMapping(element=Element.FRONT_DOOR, aspect_type=AspectType.TYPE),
|
||||
(130, 1): ElementMapping(
|
||||
element=Element.EXTERNAL_WINDOWS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
|
|
@ -60,22 +131,58 @@ PEABODY_ELEMENT_MAP = {
|
|||
),
|
||||
(140, 2): ElementMapping(
|
||||
element=Element.STORE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
), # Duplicate of (53, 35)
|
||||
(140, 3): ElementMapping(
|
||||
element=Element.GARAGE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
), # Duplicate of (53, 12)
|
||||
(140, 4): ElementMapping(
|
||||
element=Element.BLOCK_ENTRANCE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
# ==========================================================
|
||||
# EXTERNAL AREAS
|
||||
# ==========================================================
|
||||
(53, 3): ElementMapping(element=Element.DOWNPIPES, aspect_type=AspectType.MATERIAL),
|
||||
(53, 9): ElementMapping(
|
||||
element=Element.FRONT_FENCING, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 10): ElementMapping(element=Element.FRONT_GATE, aspect_type=AspectType.TYPE),
|
||||
(53, 17): ElementMapping(
|
||||
element=Element.PARKING_AREAS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 18): ElementMapping(
|
||||
element=Element.PATHS_AND_HARDSTANDINGS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 24): ElementMapping(
|
||||
element=Element.PRIVATE_BALCONY, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 26): ElementMapping(
|
||||
element=Element.REAR_FENCING, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 27): ElementMapping(element=Element.REAR_GATE, aspect_type=AspectType.TYPE),
|
||||
(53, 28): ElementMapping(
|
||||
element=Element.RETAINING_WALLS, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 31): ElementMapping(
|
||||
element=Element.SIDE_FENCING, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 32): ElementMapping(
|
||||
element=Element.SOIL_AND_VENT, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(53, 34): ElementMapping(
|
||||
element=Element.SOLAR_THERMALS, aspect_type=AspectType.PRESENCE
|
||||
),
|
||||
(53, 44): ElementMapping(
|
||||
element=Element.GARAGE_STRUCTURE, aspect_type=AspectType.TYPE
|
||||
),
|
||||
(53, 45): ElementMapping(
|
||||
element=Element.BALCONY_BALUSTRADE, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(150, 1): ElementMapping(
|
||||
element=Element.BLOCK_ENTRANCE_DOOR, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
(150, 2): ElementMapping(
|
||||
element=Element.PATHS_AND_HARDSTANDINGS, aspect_type=AspectType.MATERIAL
|
||||
),
|
||||
), # Duplicate of (53, 18) - correct?
|
||||
(150, 3): ElementMapping(element=Element.ROADS, aspect_type=AspectType.MATERIAL),
|
||||
(150, 4): ElementMapping(
|
||||
element=Element.BOUNDARY_WALLS, aspect_type=AspectType.MATERIAL
|
||||
|
|
@ -131,7 +238,6 @@ PEABODY_ELEMENT_MAP = {
|
|||
|
||||
|
||||
# unhandled
|
||||
# 'Element: External - Code: 53, Sub-Element: Window Type 01 - Code: 38',
|
||||
# 'Element: HEATING - Code: 170, Sub-Element: Boiler - Code: 1',
|
||||
# 'Element: HEATING - Code: 170, Sub-Element: Heating Distribution - Code: 2',
|
||||
# 'Element: ELECTRICS - Code: 180, Sub-Element: Wiring - Code: 1',
|
||||
|
|
@ -159,18 +265,9 @@ PEABODY_ELEMENT_MAP = {
|
|||
# 'Element: COMMUNAL - Code: 200, Sub-Element: Communal Bathroom - Code: 8',
|
||||
# 'Element: COMMUNAL - Code: 200, Sub-Element: Communal Toilets - Code: 9',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Wiring - Code: 24',
|
||||
# 'Element: External - Code: 53, Sub-Element: Front Door Material - Code: 8',
|
||||
# 'Element: External - Code: 53, Sub-Element: Primary Wall Finish - Code: 23',
|
||||
# 'Element: PASSENGER LIFTS - Code: 210, Sub-Element: Lift - Code: 2',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Heating Distribution Type - Code: 12',
|
||||
# 'Element: External - Code: 53, Sub-Element: Downpipes - Code: 3',
|
||||
# 'Element: External - Code: 53, Sub-Element: Fascia/Soffits/Bargeboards - Code: 6',
|
||||
# 'Element: External - Code: 53, Sub-Element: Gutters - Code: 15',
|
||||
# 'Element: External - Code: 53, Sub-Element: Paths & Hardstandings - Code: 18',
|
||||
# 'Element: External - Code: 53, Sub-Element: Pitched Roof Covering Material - Code: 21',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Secondary Bathroom Type - Code: 20',
|
||||
# 'Element: External - Code: 53, Sub-Element: Chimney - Code: 2',
|
||||
# 'Element: External - Code: 53, Sub-Element: External Decoration - Code: 4',
|
||||
# 'Element: COMMUNAL - Code: 200, Sub-Element: Communal Gates - Code: 10',
|
||||
# 'Element: GENERAL - Code: 100, Sub-Element: Property Age Band - Code: 3',
|
||||
# 'Element: GENERAL - Code: 100, Sub-Element: Construction Type - Code: 14',
|
||||
|
|
@ -179,46 +276,28 @@ PEABODY_ELEMENT_MAP = {
|
|||
# 'Element: Communal - Code: 51, Sub-Element: Common Bin Store Doors - Code: 5',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Bin Store Walls - Code: 7',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Primary Entrance Material - Code: 28',
|
||||
# 'Element: External - Code: 53, Sub-Element: Parking Areas - Code: 17',
|
||||
# 'Element: External - Code: 53, Sub-Element: Front Fencing - Code: 9',
|
||||
# 'Element: External - Code: 53, Sub-Element: Retaining Walls - Code: 28',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Internal Decorations - Code: 20',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Internal Floor Finish - Code: 22',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Walkways Finish - Code: 36',
|
||||
# 'Element: External - Code: 53, Sub-Element: Boundary Walls - Code: 1',
|
||||
# 'Element: External - Code: 53, Sub-Element: Flat Roof Covering Material - Code: 7',
|
||||
# 'Element: External - Code: 53, Sub-Element: Porch/Canopy - Code: 22',
|
||||
# 'Element: External - Code: 53, Sub-Element: Private Balcony - Code: 24',
|
||||
# 'Element: External - Code: 53, Sub-Element: Rear Gate - Code: 27',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common External Doors Other - Code: 17',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Stair Finish - Code: 32',
|
||||
# 'Element: External - Code: 53, Sub-Element: Front Gate - Code: 10',
|
||||
# 'Element: External - Code: 53, Sub-Element: Rear Fencing - Code: 26',
|
||||
# 'Element: External - Code: 53, Sub-Element: Side Fencing - Code: 31',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Aerial - Code: 1',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common AOV - Code: 2',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Door Entry System - Code: 14',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Fire Alarm - Code: 19',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Internal Doors - Code: 21',
|
||||
# 'Element: External - Code: 53, Sub-Element: Store Door Material - Code: 35',
|
||||
# 'Element: External - Code: 53, Sub-Element: Secondary Wall Finish - Code: 30',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Emergency Lighting - Code: 16',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Lateral Mains - Code: 24',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Lighting - Code: 25',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Store Roof - Code: 34',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Store Walls - Code: 35',
|
||||
# 'Element: External - Code: 53, Sub-Element: Cladding Material - Code: 41',
|
||||
# 'Element: External - Code: 53, Sub-Element: Spandrel Panels - Code: 40',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common CCTV - Code: 11',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Kitchen - Code: 23',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Secondary Entrance Material - Code: 30',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Warden Call System - Code: 37',
|
||||
# 'Element: External - Code: 53, Sub-Element: Lintels - Code: 16',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Boiler - Code: 9',
|
||||
# 'Element: External - Code: 53, Sub-Element: Soil & Vent Material - Code: 32',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Passenger Lift - Code: 27',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Store Doors - Code: 33',
|
||||
# 'Element: External - Code: 53, Sub-Element: Window Type 02 - Code: 39',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common BMS - Code: 8',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Booster Pump - Code: 10',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Dry Riser - Code: 15',
|
||||
|
|
@ -226,25 +305,14 @@ PEABODY_ELEMENT_MAP = {
|
|||
# 'Element: Communal - Code: 51, Sub-Element: Common Bin Store Roof - Code: 6',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Bathroom - Code: 4',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common WC - Code: 38',
|
||||
# 'Element: External - Code: 53, Sub-Element: Wall Insulation - Code: 36',
|
||||
# 'Element: External - Code: 53, Sub-Element: Garage Door - Code: 12',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Cold Water Storage Tank - Code: 13',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Sprinker - Code: 31',
|
||||
# 'Element: External - Code: 53, Sub-Element: Garage Walls - Code: 14',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Communal Plug Sockets - Code: 40',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Wet Riser - Code: 39',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Refuse Chute - Code: 29',
|
||||
# 'Element: External - Code: 53, Sub-Element: Secondary Glazing - Code: 29',
|
||||
# 'Element: External - Code: 53, Sub-Element: Solar Thermals - Code: 34',
|
||||
# 'Element: External - Code: 53, Sub-Element: Garage Roof - Code: 13',
|
||||
# 'Element: External - Code: 53, Sub-Element: Patio/French Door - Code: 19',
|
||||
# 'Element: External - Code: 53, Sub-Element: Rear Door Material - Code: 25',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Party Wall Fire Break - Code: 16',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Boiler Type - Code: 25',
|
||||
# 'Element: External - Code: 53, Sub-Element: Roof Structure - Code: 47',
|
||||
# 'Element: External - Code: 53, Sub-Element: Front Door Type - Code: 43',
|
||||
# 'Element: Communal - Code: 51, Sub-Element: Common Cirulation Space - Code: 12',
|
||||
# 'Element: External - Code: 53, Sub-Element: External Noise Insulation - Code: 5',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Door Entry Handset - Code: 8',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Cold Water Storage Tank - Code: 6',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Programmable Heating - Code: 19',
|
||||
|
|
@ -254,6 +322,4 @@ PEABODY_ELEMENT_MAP = {
|
|||
# 'Element: Internal - Code: 50, Sub-Element: Stairlift - Code: 22',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Primary Bathroom Location - Code: 17',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Disabled Hoist Tracking - Code: 7',
|
||||
# 'Element: External - Code: 53, Sub-Element: Garage Type - Code: 44',
|
||||
# 'Element: External - Code: 53, Sub-Element: Private Balcony Balustrade Material - Code: 45',
|
||||
# 'Element: Internal - Code: 50, Sub-Element: Disabled Facilities - Code: 26'
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ def test_peabody_mapper_maps_property():
|
|||
),
|
||||
AssetCondition(
|
||||
uprn=1,
|
||||
element=Element.PROPERTY,
|
||||
aspect_type=AspectType.EXTERNAL_DECORATION,
|
||||
element=Element.EXTERNAL_DECORATION,
|
||||
aspect_type=AspectType.CONDITION,
|
||||
value="Normal",
|
||||
quantity=1,
|
||||
install_date=None,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue