irie 0.0.4__py3-none-any.whl → 0.0.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of irie might be problematic. Click here for more details.
- irie/apps/config.py +0 -1
- irie/apps/evaluation/identification.py +1 -1
- irie/apps/evaluation/models.py +3 -3
- irie/apps/evaluation/views.py +3 -3
- irie/apps/events/admin.py +2 -2
- irie/apps/events/migrations/0002_rename_event_eventrecord.py +19 -0
- irie/apps/events/migrations/0003_hazardevent.py +21 -0
- irie/apps/events/models.py +55 -5
- irie/apps/events/views.py +48 -3
- irie/apps/events/views_events.py +6 -10
- irie/apps/inventory/filters.py +37 -0
- irie/apps/inventory/models.py +7 -0
- irie/apps/inventory/urls.py +1 -0
- irie/apps/inventory/views.py +134 -227
- irie/apps/prediction/forms.py +4 -8
- irie/apps/prediction/metrics.py +0 -2
- irie/apps/prediction/migrations/0002_alter_predictormodel_protocol.py +18 -0
- irie/apps/prediction/models.py +4 -4
- irie/apps/prediction/predictor.py +18 -12
- irie/apps/prediction/runners/__init__.py +3 -398
- irie/apps/prediction/runners/hazus.py +579 -0
- irie/apps/prediction/runners/opensees/__init__.py +395 -0
- irie/apps/prediction/runners/{utilities.py → opensees/utilities.py} +7 -7
- irie/apps/prediction/runners/ssid.py +414 -0
- irie/apps/prediction/urls.py +1 -1
- irie/apps/prediction/views.py +45 -22
- irie/apps/site/view_sdof.py +2 -2
- irie/apps/templates/admin/base_site.html +3 -1
- irie/apps/templates/css/admin-extra.css +7 -0
- irie/apps/templates/includes/sidebar.html +17 -14
- irie/apps/templates/inventory/asset-event-summary.html +3 -2
- irie/apps/templates/inventory/asset-profile.html +126 -38
- irie/apps/templates/inventory/asset-table.html +191 -135
- irie/apps/templates/inventory/dashboard.html +105 -27
- irie/apps/templates/inventory/preamble.tex +131 -0
- irie/apps/templates/inventory/report.tex +59 -0
- irie/apps/templates/networks/corridor_table.html +2 -2
- irie/apps/templates/networks/networks.html +164 -0
- irie/apps/templates/networks/networks.js +2 -2
- irie/apps/templates/prediction/asset-predictors.html +6 -6
- irie/apps/templates/prediction/form-submission.html +3 -3
- irie/apps/templates/prediction/hazus/event.html +33 -0
- irie/apps/templates/prediction/hazus/history.html +1 -0
- irie/apps/templates/prediction/hazus/history.js +44 -0
- irie/apps/templates/prediction/{new-predictor.html → new-runner.html} +12 -8
- irie/apps/templates/site/index.html +29 -47
- irie/core/urls.py +7 -2
- irie/init/__main__.py +2 -0
- irie/init/bridges.py +5 -3
- irie/init/management/commands/init_assets.py +24 -45
- irie/init/management/commands/init_corridors.py +3 -6
- irie/init/management/commands/init_predictors.py +23 -8
- irie/post/__main__.py +88 -0
- {irie-0.0.4.dist-info → irie-0.0.6.dist-info}/METADATA +5 -3
- {irie-0.0.4.dist-info → irie-0.0.6.dist-info}/RECORD +62 -48
- /irie/apps/prediction/runners/{metrics.py → opensees/metrics.py} +0 -0
- /irie/apps/prediction/runners/{xmlutils.py → opensees/xmlutils.py} +0 -0
- /irie/apps/prediction/runners/{zipped.py → opensees/zipped.py} +0 -0
- /irie/init/data/{04.tar → nbi/04.tar} +0 -0
- {irie-0.0.4.dist-info → irie-0.0.6.dist-info}/WHEEL +0 -0
- {irie-0.0.4.dist-info → irie-0.0.6.dist-info}/entry_points.txt +0 -0
- {irie-0.0.4.dist-info → irie-0.0.6.dist-info}/top_level.txt +0 -0
|
@@ -1,28 +1,76 @@
|
|
|
1
1
|
{% extends "layouts/base.html" %}
|
|
2
2
|
{% load indexing %}
|
|
3
|
-
|
|
3
|
+
{% block stylesheets %}
|
|
4
|
+
{% endblock %}
|
|
4
5
|
{% block title %} Dashboard {% endblock %}
|
|
5
6
|
|
|
6
7
|
{% block content %}
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center py-4">
|
|
10
|
+
<div class="d-block mb-4 mb-md-0">
|
|
11
|
+
<nav aria-label="breadcrumb" class="d-none d-md-inline-block">
|
|
12
|
+
<ol class="breadcrumb breadcrumb-dark breadcrumb-transparent">
|
|
13
|
+
<li class="breadcrumb-item">
|
|
14
|
+
<a href="/">
|
|
15
|
+
<svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
|
|
16
|
+
</a>
|
|
17
|
+
</li>
|
|
18
|
+
<li class="breadcrumb-item"><a href="{% url 'dashboard' %}">BRACE<sup>2</sup></a></li>
|
|
19
|
+
<li class="breadcrumb-item active" aria-current="page">Dashboard</li>
|
|
20
|
+
</ol>
|
|
21
|
+
</nav>
|
|
22
|
+
<h2 class="h4">Dashboard</h2>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
{# BUTTONS #}
|
|
26
|
+
<div class="btn-toolbar mb-2 mb-md-0">
|
|
27
|
+
<a href="#"
|
|
28
|
+
onClick="fetchAndDownloadText('/summarize/', 'report.tex')"
|
|
29
|
+
class="btn btn-sm btn-gray-800 d-inline-flex align-items-center">
|
|
30
|
+
<svg class="icon icon-xs me-2" fill="none"
|
|
31
|
+
stroke="currentColor" viewBox="0 0 24 24"
|
|
32
|
+
xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"></path></svg>
|
|
33
|
+
Save Report
|
|
34
|
+
</a>
|
|
35
|
+
|
|
36
|
+
<div class="btn-group ms-2 ms-lg-3">
|
|
37
|
+
<!-- <button type="button" class="btn btn-sm btn-outline-gray-600">Share</button> -->
|
|
38
|
+
<span class="d-inline-block"
|
|
39
|
+
tabindex="0"
|
|
40
|
+
data-bs-toggle="tooltip"
|
|
41
|
+
data-bs-placement="left"
|
|
42
|
+
title="Disabled">
|
|
43
|
+
<button
|
|
44
|
+
type="button"
|
|
45
|
+
class="btn btn-sm btn-outline-gray-600"
|
|
46
|
+
style="pointer-events: none;"
|
|
47
|
+
>Export</button>
|
|
48
|
+
</span>
|
|
49
|
+
<!--
|
|
50
|
+
<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="Disabled tooltip">
|
|
51
|
+
<button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Export</button>
|
|
52
|
+
</span>
|
|
53
|
+
-->
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
9
58
|
<div class="row">
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<
|
|
25
|
-
<table class="table align-items-center table-flush">
|
|
59
|
+
<div class="col-xl-4">
|
|
60
|
+
<div class="card border-0 shadow">
|
|
61
|
+
<div class="card-header">
|
|
62
|
+
<div class="row align-items-center">
|
|
63
|
+
<div class="col">
|
|
64
|
+
<h2 class="fs-5 fw-bold mb-0">Recent Events</h2>
|
|
65
|
+
<p>Most recent first</p>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="col text-end">
|
|
68
|
+
<a href="{% url 'event_table' %}" class="btn btn-sm btn-primary">See all</a>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="table-responsive">
|
|
73
|
+
<table class="table align-items-center table-flush">
|
|
26
74
|
<thead class="thead-light">
|
|
27
75
|
<tr>
|
|
28
76
|
<th class="border-bottom" scope="col">Bridge No.</th>
|
|
@@ -33,9 +81,9 @@
|
|
|
33
81
|
{% for evaluation, event in recent_evaluations %}
|
|
34
82
|
<tr style="cursor: pointer;"
|
|
35
83
|
onClick="window.location='{% url 'asset_event_summary' event=event.id cesmd=event.cesmd %}';">
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
84
|
+
<td><code>{{ calid|index:event.cesmd }}</code></td>
|
|
85
|
+
|
|
86
|
+
<td class="fw-bolder text-gray-800">
|
|
39
87
|
{{ event.pga|floatformat:2 }}
|
|
40
88
|
{% comment %}
|
|
41
89
|
{% with station_name_list=event.motion_data.station_name.split %}
|
|
@@ -50,11 +98,11 @@
|
|
|
50
98
|
</tr>
|
|
51
99
|
{% endfor %}
|
|
52
100
|
</tbody>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- dashboard-cards.html -->
|
|
101
|
+
</table>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
57
104
|
</div>
|
|
105
|
+
|
|
58
106
|
{% comment %}
|
|
59
107
|
<div class="col-12 col-xl-4">
|
|
60
108
|
<div class="col-12 px-0 mb-4">
|
|
@@ -84,7 +132,7 @@
|
|
|
84
132
|
</div>
|
|
85
133
|
</div>
|
|
86
134
|
</div>
|
|
87
|
-
|
|
135
|
+
{% endcomment %}
|
|
88
136
|
|
|
89
137
|
<div class="col-xl-8">
|
|
90
138
|
<div class="card bg-white-100 border-0 shadow">
|
|
@@ -98,5 +146,35 @@
|
|
|
98
146
|
{% endblock content %}
|
|
99
147
|
|
|
100
148
|
{% block javascripts %}
|
|
149
|
+
<script>
|
|
150
|
+
function fetchAndDownloadText(url, filename) {
|
|
151
|
+
fetch(url)
|
|
152
|
+
.then(response => {
|
|
153
|
+
if (!response.ok) {
|
|
154
|
+
throw new Error(`Failed to fetch: ${response.statusText}`);
|
|
155
|
+
}
|
|
156
|
+
return response.text();
|
|
157
|
+
})
|
|
158
|
+
.then(text => {
|
|
159
|
+
console.log(text);
|
|
160
|
+
// Create a Blob from the fetched text
|
|
161
|
+
const blob = new Blob([text], { type: 'text/plain' });
|
|
162
|
+
// Create a temporary anchor element
|
|
163
|
+
const link = document.createElement('a');
|
|
164
|
+
link.href = URL.createObjectURL(blob);
|
|
165
|
+
link.download = filename;
|
|
166
|
+
// Append the anchor to the document and trigger the download
|
|
167
|
+
document.body.appendChild(link);
|
|
168
|
+
link.click();
|
|
169
|
+
// Remove the anchor from the document
|
|
170
|
+
document.body.removeChild(link);
|
|
171
|
+
})
|
|
172
|
+
.catch(error => {
|
|
173
|
+
console.error('Error:', error);
|
|
174
|
+
alert('Failed to download the file.');
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
</script>
|
|
101
179
|
{% endblock javascripts %}
|
|
102
180
|
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
% Options for packages loaded elsewhere
|
|
2
|
+
\PassOptionsToPackage{unicode}{hyperref}
|
|
3
|
+
\PassOptionsToPackage{hyphens}{url}
|
|
4
|
+
%
|
|
5
|
+
\documentclass[12pt]{article}
|
|
6
|
+
\RequirePackage[letterpaper]{geometry}
|
|
7
|
+
\geometry{top=25mm,bottom=25mm,left=25mm,right=25mm}% ,nohead,nofoot,includeheadfoot}
|
|
8
|
+
\usepackage{amsmath,amssymb}
|
|
9
|
+
\usepackage{lmodern}
|
|
10
|
+
\usepackage{iftex}
|
|
11
|
+
\ifPDFTeX
|
|
12
|
+
\usepackage[T1]{fontenc}
|
|
13
|
+
\usepackage[utf8]{inputenc}
|
|
14
|
+
\usepackage{textcomp} % provide euro and other symbols
|
|
15
|
+
\else % if luatex or xetex
|
|
16
|
+
\usepackage{unicode-math}
|
|
17
|
+
\defaultfontfeatures{Scale=MatchLowercase}
|
|
18
|
+
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
|
|
19
|
+
\fi
|
|
20
|
+
% Use upquote if available, for straight quotes in verbatim environments
|
|
21
|
+
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
|
|
22
|
+
\IfFileExists{microtype.sty}{% use microtype if available
|
|
23
|
+
\usepackage[]{microtype}
|
|
24
|
+
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
|
|
25
|
+
}{}
|
|
26
|
+
% \documentclass[12pt]{article}
|
|
27
|
+
\makeatletter
|
|
28
|
+
\@ifundefined{KOMAClassName}{% if non-KOMA class
|
|
29
|
+
\IfFileExists{parskip.sty}{%
|
|
30
|
+
\usepackage{parskip}
|
|
31
|
+
}{% else
|
|
32
|
+
\setlength{\parindent}{0pt}
|
|
33
|
+
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
|
|
34
|
+
}{% if KOMA class
|
|
35
|
+
\KOMAoptions{parskip=half}}
|
|
36
|
+
\makeatother
|
|
37
|
+
\usepackage{xcolor}
|
|
38
|
+
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
|
|
39
|
+
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
|
|
40
|
+
\hypersetup{
|
|
41
|
+
pdftitle={Cape Mendocino Dec 5 2024},
|
|
42
|
+
%hidelinks,
|
|
43
|
+
pdfcreator={IRiE},
|
|
44
|
+
colorlinks=true,
|
|
45
|
+
citecolor=blue,
|
|
46
|
+
linkcolor=blue,
|
|
47
|
+
filecolor=blue,
|
|
48
|
+
urlcolor=blue,
|
|
49
|
+
}
|
|
50
|
+
\urlstyle{same} % disable monospaced font for URLs
|
|
51
|
+
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
|
52
|
+
\providecommand{\tightlist}{%
|
|
53
|
+
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
|
54
|
+
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
|
|
55
|
+
\ifLuaTeX
|
|
56
|
+
\usepackage{selnolig} % disable illegal ligatures
|
|
57
|
+
\fi
|
|
58
|
+
|
|
59
|
+
\title{\texttt{%
|
|
60
|
+
{{ event.name }} %
|
|
61
|
+
}}
|
|
62
|
+
\author{STAIRlab}
|
|
63
|
+
\date{\today}
|
|
64
|
+
%------------------------------------------------------------
|
|
65
|
+
%------------------------------------------------------------
|
|
66
|
+
\usepackage{subcaption}
|
|
67
|
+
|
|
68
|
+
%-----------------------------------
|
|
69
|
+
\usepackage{lastpage}
|
|
70
|
+
\usepackage{fancyhdr}
|
|
71
|
+
\pagestyle{fancy}
|
|
72
|
+
%-----------------------------------
|
|
73
|
+
\makeatletter
|
|
74
|
+
\renewcommand{\sectionmark}[1]{%
|
|
75
|
+
\markboth{%
|
|
76
|
+
\ifnum\c@secnumdepth>\m@ne
|
|
77
|
+
\@chapapp\ {\thesection}. \ %
|
|
78
|
+
\fi
|
|
79
|
+
#1%
|
|
80
|
+
}{}%
|
|
81
|
+
}
|
|
82
|
+
\makeatother
|
|
83
|
+
%-----------------------------------
|
|
84
|
+
% \makeatletter
|
|
85
|
+
% \def\fps@figure{h}
|
|
86
|
+
% \makeatother
|
|
87
|
+
\usepackage{float}
|
|
88
|
+
\let\origfigure\figure
|
|
89
|
+
\let\endorigfigure\endfigure
|
|
90
|
+
\renewenvironment{figure}[1][2] {
|
|
91
|
+
\expandafter\origfigure\expandafter[H]
|
|
92
|
+
} {
|
|
93
|
+
\endorigfigure
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
\headheight 35pt
|
|
98
|
+
\lhead{}
|
|
99
|
+
%\lhead{\includegraphics[width=1.3cm]{stairlab_large_square.png}}
|
|
100
|
+
\lhead{\includegraphics[width=1.3cm]{brace2_logo-new3.png}}
|
|
101
|
+
\rhead{BRACE2 Memo}
|
|
102
|
+
\lfoot{}
|
|
103
|
+
\cfoot{}
|
|
104
|
+
\cfoot{\small\thepage\ of \pageref{LastPage}}
|
|
105
|
+
\headsep 1.5em
|
|
106
|
+
%\title{Project \hwnumber}
|
|
107
|
+
%----------------------------------
|
|
108
|
+
\usepackage{framed}
|
|
109
|
+
\usepackage{quoting}
|
|
110
|
+
|
|
111
|
+
\renewenvironment{quote}%
|
|
112
|
+
{%
|
|
113
|
+
\definecolor{shadecolor}{rgb}{0.96,0.96,0.96}%
|
|
114
|
+
\begin{shaded*}\quoting[leftmargin=0pt, vskip=0pt]
|
|
115
|
+
}%
|
|
116
|
+
{\endquoting\end{shaded*}}
|
|
117
|
+
|
|
118
|
+
%----------------------------------
|
|
119
|
+
|
|
120
|
+
\usepackage{tikz}
|
|
121
|
+
|
|
122
|
+
%------------------------------------------------------------
|
|
123
|
+
|
|
124
|
+
\renewcommand*{\theenumi}{\thesection.\arabic{enumi}}
|
|
125
|
+
\renewcommand*{\theenumii}{\theenumi.\arabic{enumii}}
|
|
126
|
+
|
|
127
|
+
%------------------------------------------------------------
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
\usepackage{luaimageembed}
|
|
131
|
+
\usepackage{graphicx}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{% include "inventory/preamble.tex" %}
|
|
2
|
+
|
|
3
|
+
\newcommand{\CESMD}[1]{\texttt{#1}}
|
|
4
|
+
|
|
5
|
+
\begin{document}\thispagestyle{empty}
|
|
6
|
+
\begin{center}
|
|
7
|
+
\includegraphicsembedded[width=0.6\textwidth]{%
|
|
8
|
+
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
|
|
9
|
+
}
|
|
10
|
+
\hspace{1 cm}\\[2cm]
|
|
11
|
+
{\large \bfseries{\scshape{%
|
|
12
|
+
BRACE\(^2\) Summary: Dec 5, 2024 Cape Mendocino M7.0 Earthquake%
|
|
13
|
+
}}} \\[0.3cm]
|
|
14
|
+
|
|
15
|
+
\textit{Chrystal Chern, Claudio M. Perez, and Khalid M. Mosalam} \\[0.3cm]
|
|
16
|
+
{\large \today}\\
|
|
17
|
+
\end{center}
|
|
18
|
+
\vspace{1cm}
|
|
19
|
+
|
|
20
|
+
On {{ event.date }}, at approximately 10:44 AM Pacific Time, an earthquake occured.
|
|
21
|
+
% The National Tsunami Warning Center issued a tsunami warning for the coastal regions of Northern California but lifted the warning in under an hour.
|
|
22
|
+
% Reports from news agencies indicate non-structural damage in Mendocino and Humboldt Counties, including disruptions to electricity and water services, as well as some structural damage to buildings.
|
|
23
|
+
% No serious injuries or casualties were reported and the USGS PAGER estimates remained green for estimated fatalities and yellow for estimated economic losses.
|
|
24
|
+
|
|
25
|
+
\begin{table}[h]
|
|
26
|
+
\centering
|
|
27
|
+
\caption{Peak structural acceleration from all sensors at each station.}
|
|
28
|
+
\begin{tabular}{lllr}
|
|
29
|
+
ID & Station & Bridge Name & Peak Acc. [g] \\ \hline
|
|
30
|
+
{% for event in events %}
|
|
31
|
+
\texttt{ {{ event.asset.calid }}} & \CESMD{ {{event.cesmd}} } & {{ event.asset.name }} & {{ event.pga }} \\
|
|
32
|
+
{% endfor %}
|
|
33
|
+
\hline
|
|
34
|
+
\end{tabular}
|
|
35
|
+
\label{tab:peak_accel}
|
|
36
|
+
\end{table}
|
|
37
|
+
|
|
38
|
+
{% for e in events %}
|
|
39
|
+
|
|
40
|
+
\begin{figure}
|
|
41
|
+
\centering
|
|
42
|
+
\includegraphicsembedded[width=0.8\linewidth]{%
|
|
43
|
+
{{ e.plot_accel }}
|
|
44
|
+
}
|
|
45
|
+
\end{figure}
|
|
46
|
+
|
|
47
|
+
{% endfor %}
|
|
48
|
+
|
|
49
|
+
{% for m in mountains %}
|
|
50
|
+
|
|
51
|
+
\begin{figure}
|
|
52
|
+
\centering
|
|
53
|
+
\includegraphicsembedded[width=0.8\linewidth]{%
|
|
54
|
+
{{ m }}
|
|
55
|
+
}
|
|
56
|
+
\end{figure}
|
|
57
|
+
|
|
58
|
+
{% endfor %}
|
|
59
|
+
\end{document}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<table id="myTable" class="table align-items-center table-flush">
|
|
4
4
|
<thead class="thead-light">
|
|
5
5
|
<tr>
|
|
6
|
-
<th class="border-bottom" scope="col"
|
|
7
|
-
<th class="border-bottom" scope="col">
|
|
6
|
+
<th class="border-bottom" scope="col">#</th>
|
|
7
|
+
<th class="border-bottom" scope="col">ID</th>
|
|
8
8
|
<th class="border-bottom" scope="col">Rank</th>
|
|
9
9
|
</tr>
|
|
10
10
|
</thead>
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{% extends "layouts/base.html" %}
|
|
2
|
+
{% load indexing %}
|
|
3
|
+
{% load crispy_forms_tags %}
|
|
4
|
+
|
|
5
|
+
{% block title %} Networks {% endblock %}
|
|
6
|
+
{% block stylesheets %}
|
|
7
|
+
{# For pagination.js #}
|
|
8
|
+
<style>
|
|
9
|
+
.tableSearch {
|
|
10
|
+
color: black;
|
|
11
|
+
}
|
|
12
|
+
.pagination {
|
|
13
|
+
justify-content: center;
|
|
14
|
+
}
|
|
15
|
+
th {
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
<style>
|
|
20
|
+
.nav-tabs .nav-item .nav-link.active {
|
|
21
|
+
background-color: #506690;
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
24
|
+
<style>
|
|
25
|
+
.form-row {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
margin-bottom: 10px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.form-row label {
|
|
32
|
+
margin-right: 10px;
|
|
33
|
+
width: 150px;
|
|
34
|
+
text-align: right;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.styled-input {
|
|
38
|
+
flex: 1;
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
41
|
+
{# Style for positioning the button slightly right and up #}
|
|
42
|
+
<style>
|
|
43
|
+
.download-btn-wrapper {
|
|
44
|
+
margin-right: 20px; /* Adjust the value for horizontal positioning (right shift) */
|
|
45
|
+
margin-bottom: -20px; /* Adjust the value for vertical positioning (move up) */
|
|
46
|
+
display: flex;
|
|
47
|
+
/* justify-content: flex-end; Aligns the content to the right */
|
|
48
|
+
}
|
|
49
|
+
</style>
|
|
50
|
+
{% endblock stylesheets %}
|
|
51
|
+
|
|
52
|
+
{% block content %}
|
|
53
|
+
<h1>Networks</h1>
|
|
54
|
+
<i class="fa-thin fa-bridge"></i>
|
|
55
|
+
<div class="row">
|
|
56
|
+
<div class="col-xl-4">
|
|
57
|
+
<div class="card border-0 shadow">
|
|
58
|
+
<div class="card-header">
|
|
59
|
+
<h2 class="fs-5 fw-bold mb-0">Corridor ranking</h2>
|
|
60
|
+
<span class="mb-0">
|
|
61
|
+
<button class="btn btn-link" type="button" id="toggleWeights">
|
|
62
|
+
Collapse the weight form
|
|
63
|
+
</button>
|
|
64
|
+
</span>
|
|
65
|
+
</div>
|
|
66
|
+
<div id="weightsBody" class="collapse show">
|
|
67
|
+
{% for key,tab in maps.items %}
|
|
68
|
+
<div class="tab-pane mt-3 card-body p-2"
|
|
69
|
+
role="tabpanel"
|
|
70
|
+
aria-labelledby="{{key}}-form">
|
|
71
|
+
<form id="{{ key }}-form" onsubmit="handleCorridorUpdate(event)">
|
|
72
|
+
|
|
73
|
+
{% crispy tab.form %}
|
|
74
|
+
<div style="font-size: 0.9em; color: gray; margin-top: 5px;">
|
|
75
|
+
(The weights are normalized when calculating)
|
|
76
|
+
</div>
|
|
77
|
+
<br>
|
|
78
|
+
</form>
|
|
79
|
+
</div>
|
|
80
|
+
{% endfor %}
|
|
81
|
+
</div>
|
|
82
|
+
<br>
|
|
83
|
+
<h2 class="fs-5 fw-bold mb-0 ms-3">Detailed information of each corridor</h2>
|
|
84
|
+
<div id="corridor-table" class="table-responsive">
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div class="col-xl-8">
|
|
90
|
+
<div class="card bg-white-100 border-0 shadow">
|
|
91
|
+
<div class="card-header">
|
|
92
|
+
<ul id="tab-link-container" class="nav nav-tabs" id="myTab" role="tablist">
|
|
93
|
+
{% for key, tab in maps.items %}
|
|
94
|
+
<li class="nav-item" role="presentation">
|
|
95
|
+
<a class="nav-link tab-link {% if not forloop.counter0 %}active{% endif %}"
|
|
96
|
+
id="{{ key }}-tab"
|
|
97
|
+
data-bs-toggle="tab" href="#"
|
|
98
|
+
data-tab="{{ key }}"
|
|
99
|
+
role="tab">{{ tab.name }}</a>
|
|
100
|
+
</li>
|
|
101
|
+
{% endfor %}
|
|
102
|
+
</ul>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
{# Map content is dynamically loaded into this div #}
|
|
106
|
+
<div id="tab-content" class="tab-content mt-3 card-body p-2">
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div id="tab-content-container">
|
|
110
|
+
{% for key,tab in maps.items %}
|
|
111
|
+
<div id="{{key}}-content"
|
|
112
|
+
style="display: {% if not forloop.counter0 %}block{% else %}none{% endif %}"
|
|
113
|
+
class="tab-content mt-3 card-body p-2">
|
|
114
|
+
</div>
|
|
115
|
+
{% endfor %}
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<!-- This will appear near the bottom of the content but shifted right and up -->
|
|
120
|
+
<div class="text-center row mt-4 download-btn-wrapper">
|
|
121
|
+
<a href="https://drive.google.com/drive/folders/1D-KBEe19kknyxW75wTzMLRedwmGHOMF0?usp=sharing" class="btn btn-primary" target="_blank" rel="noopener noreferrer">
|
|
122
|
+
Download maps showing the path sections/corridors used for accessing each facility
|
|
123
|
+
</a>
|
|
124
|
+
<a href="https://drive.google.com/drive/folders/1YzPYd5QOOk9WYe4uGKh1T8_lPFULWsqP?usp=sharing" class="btn btn-primary" target="_blank" rel="noopener noreferrer">
|
|
125
|
+
Download maps showing paths crossing each bridge
|
|
126
|
+
</a>
|
|
127
|
+
<a href="https://drive.google.com/drive/folders/1wX1_BQvrOxIdPeZRHMdlnP66TCLKHiXp?usp=sharing" class="btn btn-primary" target="_blank" rel="noopener noreferrer">
|
|
128
|
+
Data required for Methods A and A-alt
|
|
129
|
+
</a>
|
|
130
|
+
<div class="card border-0 shadow card-body mt-1">
|
|
131
|
+
<a href="https://geomechanics.berkeley.edu/">
|
|
132
|
+
<img src="{{ ASSETS_ROOT }}/img/soga-logo.jpeg" width="40%" alt="Soga Research Group">
|
|
133
|
+
</a>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
{% endblock content %}
|
|
139
|
+
|
|
140
|
+
{% block javascripts %}
|
|
141
|
+
<script>
|
|
142
|
+
document.addEventListener('DOMContentLoaded', function () {
|
|
143
|
+
const toggleButton = document.getElementById('toggleWeights');
|
|
144
|
+
const cardBody = document.getElementById('weightsBody');
|
|
145
|
+
|
|
146
|
+
toggleButton.addEventListener('click', function () {
|
|
147
|
+
if (cardBody.classList.contains('show')) {
|
|
148
|
+
cardBody.classList.remove('show');
|
|
149
|
+
toggleButton.innerText = 'Show the weight form';
|
|
150
|
+
} else {
|
|
151
|
+
cardBody.classList.add('show');
|
|
152
|
+
toggleButton.innerText = 'Collapse the weight form';
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
</script>
|
|
157
|
+
<script>
|
|
158
|
+
{% include "includes/paginate.js" %}
|
|
159
|
+
</script>
|
|
160
|
+
<script>
|
|
161
|
+
{% include "networks/networks.js" %}
|
|
162
|
+
</script>
|
|
163
|
+
{% endblock javascripts %}
|
|
164
|
+
|
|
@@ -189,14 +189,14 @@ function handleCorridorUpdate(event) {
|
|
|
189
189
|
// Normalize weights if totalWeight > 0 to avoid division by zero
|
|
190
190
|
if (totalWeight > 0) {
|
|
191
191
|
weightFields.forEach(field => {
|
|
192
|
-
const normalizedValue = field.value / totalWeight;
|
|
192
|
+
const normalizedValue = field.value / totalWeight*100;
|
|
193
193
|
formData.set(field.key, normalizedValue);
|
|
194
194
|
|
|
195
195
|
// Update the input field in the form
|
|
196
196
|
const inputElement = form.querySelector(`[name="${field.key}"]`);
|
|
197
197
|
if (inputElement) {
|
|
198
198
|
// Limit decimals for readability
|
|
199
|
-
inputElement.value = normalizedValue.toFixed(
|
|
199
|
+
inputElement.value = normalizedValue.toFixed(0);
|
|
200
200
|
}
|
|
201
201
|
});
|
|
202
202
|
}
|