{"version":3,"sources":["../../../../../src/app/js/stores/queries/tornado.js"],"names":[],"mappings":"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","file":"tornado.js","sourcesContent":["import Point from 'esri/geometry/Point';\nimport SpatialReference from 'esri/SpatialReference';\nimport { esriQuery, esriIdentifyImageService } from 'js/utils/esriQueries';\nimport standardsConfig from 'js/standards.config';\n\nimport { Promise as bbPromise } from 'promise';\n\nimport { criteriaStore } from 'stores/CriteriaStore';\nimport { reportStore } from 'stores/ReportStore';\n\nconst generateCellValue = (value, measurement) => {\n const mps = 0.44704;\n if (value === 'NoData' || !value) {\n return 'No Data';\n } else {\n return `Vt = ${Math.round(Number(measurement === 'si' ? value * mps : value))}`;\n }\n};\n\nconst queryTornado = (location, load) => {\n const { measurement, riskLevel } = criteriaStore.getState();\n\n const geometry = new Point(location.long, location.lat, new SpatialReference({ wkid: 4326 }));\n\n return new bbPromise((resolve, reject) => {\n const dataSource = {\n text: 'ASCE/SEI Standard 7-22, Figs. 32.5-1, 32.5-2, and G.2-1 through -4',\n };\n\n if (riskLevel < 3) {\n load.sampleData.value = [`Not Applicable to Risk Category ${riskLevel}`];\n load.details = [\n {\n type: 'singleLine',\n label: '',\n value: `Not Applicable to Risk Category ${riskLevel}`,\n },\n {\n type: 'dataSource',\n dataSource,\n },\n ];\n load.showInReport = true;\n reportStore.emitChange();\n resolve({ load: load.label });\n } else {\n try {\n const { aeValues, mriValues, tornadoProneAreas } = standardsConfig['7-22'].tornadoServices;\n esriQuery(tornadoProneAreas, { outFields: ['*'], geometry, returnGeometry: false }).then((results) => {\n if (results.features.length > 0) {\n const isTornadoProne = results.features[0].attributes.Name === 'Tornado-prone region';\n const promises = [];\n aeValues.forEach((ae) => {\n mriValues.forEach((mri) => {\n let aeVal = `${ae}SF`,\n mriVal = `RP${mri}`;\n if (ae === 'PT') {\n aeVal = ae;\n }\n const url = `https://gis.asce.org/arcgis/rest/services/ASCE722/t2022_${aeVal}_${mriVal}/ImageServer`;\n promises.push(\n esriIdentifyImageService(url, { geometry })\n .then(({ value }) => {\n return { ae, mri, value };\n })\n .catch(() => {\n return { ae, mri, value: undefined };\n })\n );\n });\n });\n\n Promise.all(promises)\n .then((resultsArray) => {\n let sampleValue;\n if (riskLevel === 3) {\n if (isTornadoProne) {\n sampleValue = resultsArray.find((res) => res.ae === '100K' && res.mri === '1700');\n }\n } else if (riskLevel === 4) {\n if (isTornadoProne) {\n sampleValue = resultsArray.find((res) => res.ae === '100K' && res.mri === '3K');\n }\n }\n if (sampleValue && sampleValue.value) {\n if (sampleValue.value === 'NoData') {\n load.sampleData.value = [`No Data for Ae = ${measurement === 'si' ? '929 m^2' : '100,000 ft^2'}`];\n } else {\n load.sampleData.value = ['See details for V^T'];\n }\n } else {\n if (isTornadoProne) {\n load.sampleData.value = [`No Data for Ae = ${measurement === 'si' ? '929 m^2' : '100,000 ft^2'}`];\n } else {\n load.sampleData.value = ['Not in Tornado-Prone Region'];\n load.sampleData.value.push('See Details for optional long return period V^T');\n }\n }\n\n const headerRow = [];\n let riskLevelValue;\n\n switch (riskLevel) {\n case 1:\n riskLevelValue = 'RC = I';\n break;\n case 2:\n riskLevelValue = 'RC = II';\n break;\n case 3:\n riskLevelValue = 'RC = III';\n break;\n case 4:\n riskLevelValue = 'RC = IV';\n break;\n }\n\n headerRow.push(''); // empty cell\n\n mriValues.forEach((mri) => {\n if (riskLevel === 3 && mri === '1700') {\n headerRow.push(`${riskLevelValue} (MRI = 1,700 years)`);\n } else if (riskLevel === 4 && mri === '3K') {\n headerRow.push(`${riskLevelValue} (MRI = 3,000 years)`);\n } else if (mri.includes('K') && !mri.includes('3K')) {\n headerRow.push(`MRI = ${mri.replace('K', ',000')} years`);\n } else if (mri.includes('M')) {\n headerRow.push(`MRI = ${mri.replace('M', ',000,000')} years`);\n }\n });\n\n const rows = {\n PT: [`Ae = ${measurement === 'si' ? '0.1' : '1'}`],\n '2K': [`Ae = ${measurement === 'si' ? '186' : '2,000'}`],\n '10K': [`Ae = ${measurement === 'si' ? '929' : '10,000'}`],\n '40K': [`Ae = ${measurement === 'si' ? '3,716' : '40,000'}`],\n '100K': [`Ae = ${measurement === 'si' ? '9,290' : '100,000'}`],\n '250K': [`Ae = ${measurement === 'si' ? '23,226' : '250,000'}`],\n '1M': [`Ae = ${measurement === 'si' ? '92,903' : '1,000,000'}`],\n '4M': [`Ae = ${measurement === 'si' ? '371,612' : '4,000,000'}`],\n };\n\n resultsArray.forEach((result) => {\n let value = result.value;\n if (riskLevel === 3 && result.mri !== '3K') {\n rows[result.ae].push(\n result.mri === '1700' && !isTornadoProne ? 'N/A' : generateCellValue(value, measurement)\n );\n } else if (riskLevel === 4 && result.mri !== '1700') {\n rows[result.ae].push(\n result.mri === '3K' && !isTornadoProne ? 'N/A' : generateCellValue(value, measurement)\n );\n }\n });\n if (!isTornadoProne) {\n load.details = [\n {\n type: 'singleLine',\n label: '',\n value: 'Not in Tornado-Prone Region',\n },\n ];\n }\n\n load.details = [\n {\n type: 'table',\n label: '',\n headerRow,\n rows,\n },\n {\n type: 'dataSource',\n dataSource,\n },\n ];\n load.showInReport = true;\n reportStore.emitChange();\n resolve({ load: load.label });\n })\n .catch((err) => {\n console.log('Error within handleTornado', err);\n reject(err);\n });\n } else {\n load.sampleData.value = ['Not in Tornado-Prone Region'];\n load.details = [\n {\n type: 'singleLine',\n label: '',\n value: 'Not in Tornado-Prone Region',\n },\n {\n type: 'dataSource',\n dataSource,\n },\n ];\n load.showInReport = true;\n reportStore.emitChange();\n resolve({ load: load.label });\n }\n });\n } catch (error) {\n reject({ load: load.label, error });\n }\n }\n });\n};\n\nexport default queryTornado;\n"]}