From 93f49453b5b2e7681917b66b769e83c6c3f1229b Mon Sep 17 00:00:00 2001 From: Michael Bewley Date: Fri, 16 Aug 2024 07:26:20 +0000 Subject: [PATCH] [TRO-1499] Added roof condition, material and shape minimum confidence cutoffs --- nmaipy/constants.py | 40 ++++++++++++++++++++++++++++++++++++++++ nmaipy/parcels.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/nmaipy/constants.py b/nmaipy/constants.py index cd0eb08..d58af6f 100644 --- a/nmaipy/constants.py +++ b/nmaipy/constants.py @@ -129,6 +129,46 @@ def area_units(self): ] ) +CLASS_1050_TARP = "abb1f304-ce01-527b-b799-cbfd07551b2c" # "temporary repair", +CLASS_1052_RUST = "526496bf-7344-5024-82d7-77ceb671feb4" # "rust", +CLASS_1079_MISSING_SHINGLES = "dec855e2-ae6f-56b5-9cbb-f9967ff8ca12" # "missing tiles or shingles", +CLASS_1139_DEBRIS = "8ab218a7-8173-5f1e-a5cb-bb2cd386a73e" # "debris", +CLASS_1140_EXPOSED_DECK = "2905ba1c-6d96-58bc-9b1b-5911b3ead023" # "exposed_deck", +CLASS_1051_PONDING = "f41e02b0-adc0-5b46-ac95-8c59aa9fe317" # "ponding", +CLASS_1144_STAINING = "319f552f-f4b7-520d-9b16-c8abb394b043" +CLASS_1146_WORN_SHINGLES = "97a6f930-82ae-55f2-b856-635e2250af29" +CLASS_1147_EXPOSED_UNDERLAYMENT = "2322ca41-5d3d-5782-b2b7-1a2ffd0c4b78" +CLASS_1149_PATCHING = "8b30838b-af41-5d1d-bdbd-29e682fe3b00" +CLASS_1186_STRUCTURAL_DAMAGE = "c0224852-4310-57dd-95fe-42bff1c0a3f0" + +# Roof Shapes +CLASS_1013_HIP = "ac0a5f75-d8aa-554c-8a43-cee9684ef9e9" +CLASS_1014_GABLE = "59c6e27e-6ef2-5b5c-90e7-31cfca78c0c2" +CLASS_1015_DUTCH_GABLE = "3719eb40-d6d1-5071-bbe6-379a551bb65f" +CLASS_1019_GAMBREL = "4bb630b9-f9eb-5f95-85b8-f0c6caf16e9b" +CLASS_1020_CONICAL = "89582082-e5b8-5853-bc94-3a0392cab98a" +CLASS_1173_PARAPET = "1234ea84-e334-5c58-88a9-6554be3dfc05" +CLASS_1174_MANSARD = "7eb3b1b6-0d75-5b1f-b41c-b14146ff0c54" +CLASS_1176_JERKINHEAD = "924afbab-aae6-5c26-92e8-9173e4320495" +CLASS_1178_QUONSET = "e92bc8a2-9fa3-5094-b3b6-2881d94642ab" +CLASS_1180_BOWSTRING_TRUSS = "09b925d2-df1d-599b-89f1-3ffd39df791e" + +# Roof Materials +CLASS_1191_FLAT = "1ab60ef7-e770-5ab6-995e-124676b2be11" +CLASS_1007_TILE = "516fdfd5-0be9-59fe-b849-92faef8ef26e" +CLASS_1008_ASPHALT_SHINGLE = "4bbf8dbd-cc81-5773-961f-0121101422be" +CLASS_1009_METAL_PANEL = "4424186a-0b42-5608-a5a0-d4432695c260" +CLASS_1100_BALLASTED = "4558c4fb-3ddf-549d-b2d2-471384be23d1" +CLASS_1101_MOD_BIT = "87437e20-d9f5-57e1-8b87-4a9c81ec3b65" +CLASS_1103_TPO = "383930f1-d866-5aa3-9f97-553311f3162d" +CLASS_1104_EPDM = "64db6ea0-7248-53f5-b6a6-6ed733c5f9b8" +CLASS_1105_WOOD_SHAKE = "9fc4c92e-4405-573e-bce6-102b74ab89a3" +CLASS_1160_CLAY_TILE = "09ed6bf9-182a-5c79-ae59-f5531181d298" +CLASS_1163_SLATE = "cdc50dcc-e522-5361-8f02-4e30673311bb" +CLASS_1165_BUILT_UP = "3563c8f1-e81e-52c7-bd56-eaa937010403" +CLASS_1168_ROOF_COATING = "b2573072-b3a5-5f7c-973f-06b7649665ff" + + # ROLLUP API COLUMN IDs ROLLUP_SURVEY_DATE_ID = "b02a3652-8a87-5d20-849c-1afb3df67b19" ROLLUP_SYSTEM_VERSION_ID = "3811c6c8-b61e-5c3d-9d14-5e0dcacb4708" diff --git a/nmaipy/parcels.py b/nmaipy/parcels.py index 3ae2c8d..118babe 100644 --- a/nmaipy/parcels.py +++ b/nmaipy/parcels.py @@ -36,6 +36,43 @@ POOL_ID: 0.6, CONSTRUCTION_ID: 0.8, SOLAR_ID: 0.7, + # Roof Conditions + CLASS_1050_TARP: 0.55, # "tarp", + CLASS_1052_RUST: 0.50, # "rust", + CLASS_1079_MISSING_SHINGLES: 0.53, # "missing_shingles", + CLASS_1139_DEBRIS: 0.50, # "debris", + CLASS_1140_EXPOSED_DECK: 0.51, # "exposed_deck", + CLASS_1051_PONDING: 0.50, # "ponding", + CLASS_1144_STAINING: 0.50, # "staining", + CLASS_1146_WORN_SHINGLES: 0.50, # "worn_shingles", + CLASS_1147_EXPOSED_UNDERLAYMENT: 0.59, # "exposed_underlayment", + CLASS_1149_PATCHING: 0.50, # "patching", + CLASS_1186_STRUCTURAL_DAMAGE: 0.50, # "structural_damage", + # Roof Shapes + CLASS_1013_HIP: 0.55, + CLASS_1014_GABLE: 0.50, + CLASS_1015_DUTCH_GABLE: 0.57, + CLASS_1019_GAMBREL: 0.70, + CLASS_1020_CONICAL: 0.58, # turret / conical. This is normall small part on the roof. It's hard to be larger than 0.58 + CLASS_1173_PARAPET: 0.50, # check the definition of ontology. If ths parpet is the edges of the roof, then it's hard to be larger than 0.5 + CLASS_1174_MANSARD: 0.64, + CLASS_1176_JERKINHEAD: 0.71, + CLASS_1178_QUONSET: 0.52, + CLASS_1180_BOWSTRING_TRUSS: 0.58, + # Roof Materials + CLASS_1191_FLAT: 0.50, + CLASS_1007_TILE: 0.55, + CLASS_1008_ASPHALT_SHINGLE: 0.59, + CLASS_1009_METAL_PANEL: 0.56, + CLASS_1100_BALLASTED: 0.64, + CLASS_1101_MOD_BIT: 0.50, + CLASS_1103_TPO: 0.53, + CLASS_1104_EPDM: 0.57, + CLASS_1105_WOOD_SHAKE: 0.61, + CLASS_1160_CLAY_TILE: 0.63, + CLASS_1163_SLATE: 0.58, + CLASS_1165_BUILT_UP: 0.50, + CLASS_1168_ROOF_COATING: 0.53, }, "min_fidelity": { BUILDING_ID: 0.15,