Arafath10 commited on
Commit
fb3c402
1 Parent(s): eee457c

Upload 7 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ smol.xlsx filter=lfs diff=lfs merge=lfs -text
final_model.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0be10d7857f34827dc002f2ca4f5fea8dc2392f9c342bbce81309fe18327f851
3
+ size 134408
main.py ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """flaskProto.ipynb
3
+
4
+ Automatically generated by Colaboratory.
5
+
6
+ Original file is located at
7
+ https://colab.research.google.com/drive/1VC7pgAb9uuRwD0Bm89x8sAvKi7uliBoF
8
+ """
9
+
10
+ #cd drive/'My Drive'/datasetDevhack
11
+ import os
12
+ import flask
13
+ import pandas as pd
14
+ import tensorflow as tf
15
+ from keras.models import load_model
16
+ import requests
17
+ import datetime
18
+ from sklearn import preprocessing
19
+ import numpy as np
20
+ from sklearn.preprocessing import StandardScaler
21
+ import json
22
+ import pickle
23
+ from sklearn.pipeline import Pipeline
24
+
25
+ # instantiate flask
26
+ app = flask.Flask(__name__)
27
+
28
+ # load the model, and pass in the custom metric function
29
+ global graph
30
+ graph = tf.get_default_graph()
31
+
32
+ holidays_tt = ["2020-01-01",
33
+ "2020-01-15",
34
+ "2020-01-26",
35
+ "2020-02-21",
36
+ "2020-03-10",
37
+ "2020-03-25",
38
+ "2020-04-02",
39
+ "2020-04-06",
40
+ "2020-04-10",
41
+ "2020-05-01",
42
+ "2020-05-07",
43
+ "2020-05-25",
44
+ "2020-06-23",
45
+ "2020-08-01",
46
+ "2020-08-03",
47
+ "2020-08-12",
48
+ "2020-08-15",
49
+ "2020-08-22",
50
+ "2020-08-30",
51
+ "2020-08-31",
52
+ "2020-10-02",
53
+ "2020-10-25",
54
+ "2020-10-30",
55
+ "2020-11-14",
56
+ "2020-11-30",
57
+ "2020-12-25"
58
+ ]
59
+ url = "https://api.openweathermap.org/data/2.5/weather?q=Bengaluru,in&APPID=b1a275b64af38a8f9823800a58345b93"
60
+ # homepage
61
+ @app.route("/", methods=["GET","POST"])
62
+ def homepage():
63
+ return flask.render_template("index.html")
64
+
65
+ # define a predict function as an endpoint
66
+ # @app.route("/feedback", methods=["POST"])
67
+ # def predict():
68
+ # formFinal = []
69
+ # formData1 = int(flask.request.form['formData1'])
70
+ # print(formData1)
71
+ # formData2 = int(flask.request.form['formData2'])
72
+ # print(formData2)
73
+ # formFinal.append(formData1)
74
+ # formFinal.append(formData2)
75
+ # print(formFinal)
76
+
77
+
78
+ mar = [0.14,0.53,0.24,0.13,0.67,0.87,0.22,0.23,0.12,0.56,0.23,0.25,0.78,0.12]
79
+ model = load_model('final_model.h5')
80
+
81
+
82
+ @app.route("/predict", methods=["POST"])
83
+ def predict():
84
+ dat = flask.request.form['date']
85
+ #print(dat)
86
+ time = flask.request.form['time']
87
+ # print(time)
88
+
89
+ #holiday
90
+ if str(dat) in holidays_tt:
91
+ holiday=1
92
+ else:
93
+ holiday=0
94
+
95
+ #print("Holiday =", holiday)
96
+
97
+
98
+ response = requests.get(url).json()
99
+ temp = float(response["main"]["temp"]) - 273.15
100
+ temp_min = float(response["main"]["temp_min"]) - 283.15 #made it 283.15 from 273.15
101
+ temp_max = float(response["main"]["temp_max"]) - 273.15
102
+ pressure = response["main"]["pressure"]
103
+ humidity = response["main"]["humidity"]
104
+ #print(temp, temp_min, temp_max, pressure, humidity)
105
+
106
+ #dat = "2023-11-01"
107
+ #time = "01:01"
108
+
109
+ #week
110
+ date_time_obj = datetime.datetime.strptime(dat, '%Y-%m-%d')
111
+ week = datetime.date(date_time_obj.year,date_time_obj.month,date_time_obj.day).isocalendar()[1]
112
+
113
+ if week<26:
114
+ week = week + 25
115
+
116
+
117
+ #hour
118
+ hour = int(time[:-3])
119
+
120
+ #population
121
+ dic = {
122
+ "HSR Division" : 105265,
123
+ "Koramangala Division" : 63987,
124
+ "Indiranagar" : 58830,
125
+ "Shivajinagar" : 57437,
126
+ "Hebbal" : 54301,
127
+ "Whitefield" : 84428,
128
+ "Malleshwaram" : 57107,
129
+ "Rajaji Nagara Division" : 55250,
130
+ "Jayanagar" : 56658,
131
+ "Jalahalli" : 63391,
132
+ "Kengeri Division" : 68087,
133
+ "R R NAGAR" : 82848,
134
+ "Vidhanasoudha" : 69057,
135
+ "Peenya Division" : 96549
136
+ }
137
+
138
+
139
+ lb = preprocessing.LabelBinarizer()
140
+ lb.fit(['HSR Division', 'Koramangala Division', 'Indiranagar',
141
+ 'Shivajinagar', 'Hebbal', 'Whitefield', 'Malleshwaram',
142
+ 'Rajaji Nagara Division', 'Jayanagar', 'Jalahalli',
143
+ 'Kengeri Division', 'R R NAGAR', 'Vidhanasoudha',
144
+ 'Peenya Division'])
145
+
146
+
147
+ lt = list(dic.keys())
148
+
149
+ df = pd.DataFrame(lt)
150
+
151
+ divs = lb.transform(df)
152
+
153
+ divs = pd.DataFrame(divs)
154
+
155
+ #divs['Week'] = week
156
+
157
+ #divs['Week'] = np.array(([week]*13).T
158
+
159
+ week = [week]*14
160
+
161
+ temp_max = [temp_max]*14
162
+ temp_min = [temp_min]*14
163
+
164
+ holiday = [holiday]*14
165
+
166
+ divs = pd.concat([pd.DataFrame(temp_max), divs], axis=1)
167
+ divs = pd.concat([pd.DataFrame(temp_min), divs], axis=1)
168
+ divs = pd.concat([pd.DataFrame(week), divs], axis=1)
169
+ divs = pd.concat([divs, pd.DataFrame(holiday)], axis=1)
170
+
171
+
172
+ pop = [dic[x] for x in lt]
173
+
174
+ #population
175
+ divs = pd.concat([divs, pd.DataFrame(pop)], axis=1)
176
+
177
+
178
+ hour = [hour]*14
179
+
180
+ divs = pd.concat([ divs, pd.DataFrame(hour)], axis=1)
181
+
182
+
183
+ smol = pd.read_excel('smol.xlsx')
184
+ smol = smol.iloc[:,1:]
185
+ #divs = pd.read_excel("pls.xlsx")
186
+
187
+ # divs.to_csv("pls.csv")
188
+
189
+ #print(smol.shape)
190
+ #print(divs.shape)
191
+
192
+ #fin = pd.concat([divs, smol])
193
+
194
+ df = pd.DataFrame( np.concatenate( (divs.values, smol.values), axis=0 ) )
195
+
196
+ from sklearn.preprocessing import StandardScaler
197
+ sc_X = StandardScaler()
198
+ df = sc_X.fit_transform(df)
199
+
200
+
201
+ with graph.as_default():
202
+ prd = model.predict(df)
203
+
204
+
205
+ #print("divs is: ", divs)
206
+ prd = abs(prd[0:14])#-mar)
207
+
208
+ print("fin",prd)
209
+ newprd = prd.tolist()
210
+ #print(newprd)
211
+
212
+
213
+ return flask.render_template("index.html", data = newprd)
214
+
215
+
216
+
217
+
218
+ # start the flask app, allow remote connections
219
+ if __name__ == "__main__":
220
+ app.run(host='0.0.0.0', port=8000)
smol.xlsx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:298b99ec289040e0b78eb48cb044eb57c7386dc3fd57e84751ba2d559d9a0b2e
3
+ size 1686904
static/css/main.css ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #mapid {
2
+ height: 700px;
3
+ width: 100%;
4
+ }
5
+
6
+ body,
7
+ html {
8
+ background-image: linear-gradient(
9
+ rgba(66, 4, 165, 0.699),
10
+ rgba(57, 30, 75, 0.8)
11
+ );
12
+ background-attachment: fixed;
13
+ }
static/js/main.js ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var mymap = L.map("mapid").setView([12.96, 77.62], 11.5);
2
+
3
+ L.tileLayer(
4
+ "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw",
5
+ {
6
+ maxZoom: 18,
7
+ attribution:
8
+ 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
9
+ '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
10
+ 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
11
+ id: "mapbox/streets-v11",
12
+ tileSize: 512,
13
+ zoomOffset: -1
14
+ }
15
+ ).addTo(mymap);
16
+
17
+ // L.marker([51.5, -0.09]).addTo(mymap)
18
+ // .bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
19
+
20
+ // Circle heatmap
21
+ function callThis(value) {
22
+ console.log(value);
23
+ }
24
+ function getColour(value) {
25
+ if (value <= 0.1) {
26
+ return "#009933";
27
+ } else if (value <= 0.2) {
28
+ return "#33cc33";
29
+ } else if (value <= 0.3) {
30
+ return "#99ff99";
31
+ } else if (value <= 0.4) {
32
+ return "#ccff99";
33
+ } else if (value <= 0.5) {
34
+ return "#ffff99";
35
+ } else if (value <= 0.6) {
36
+ return "#ffcc00";
37
+ } else if (value <= 0.7) {
38
+ return "#ff5050";
39
+ } else if (value <= 0.8) {
40
+ return "#ff0000";
41
+ } else if (value <= 0.9) {
42
+ return "#ff0000";
43
+ } else {
44
+ return "#b30000";
45
+ }
46
+ }
47
+
48
+ L.circle([12.93, 77.62], 575 * 4, {
49
+ color: "",
50
+ fillColor: getColour(0.191),
51
+ fillOpacity: 0.5
52
+ })
53
+ .addTo(mymap)
54
+ .bindPopup("Kormangala Division");
55
+
56
+ L.circle([12.91, 77.64], 900 * 1.5, {
57
+ color: "",
58
+ fillColor: getColour(0.372),
59
+ fillOpacity: 0.5
60
+ })
61
+ .addTo(mymap)
62
+ .bindPopup("HSR Layout");
63
+
64
+ L.circle([12.97, 77.63], 400 * 6, {
65
+ color: "",
66
+ fillColor: getColour(0.329),
67
+ fillOpacity: 0.5
68
+ })
69
+ .addTo(mymap)
70
+ .bindPopup("Indiranagar");
71
+
72
+ L.circle([12.98, 77.59], 500 * 4, {
73
+ color: "",
74
+ fillColor: getColour(0.426),
75
+ fillOpacity: 0.5
76
+ })
77
+ .addTo(mymap)
78
+ .bindPopup("Shivajinagar");
79
+
80
+ L.circle([13.04, 77.59], 600 * 6, {
81
+ color: "",
82
+ fillColor: getColour(0.392),
83
+ fillOpacity: 0.5
84
+ })
85
+ .addTo(mymap)
86
+ .bindPopup("Hebbal");
87
+
88
+ L.circle([12.96, 77.71], 1000 * 6, {
89
+ color: "",
90
+ fillColor: getColour(0.322),
91
+ fillOpacity: 0.5
92
+ })
93
+ .addTo(mymap)
94
+ .bindPopup("Whitefield");
95
+
96
+ L.circle([13.0, 77.57], 850 * 2, {
97
+ color: "",
98
+ fillColor: getColour(0.5315),
99
+ fillOpacity: 0.5
100
+ })
101
+ .addTo(mymap)
102
+ .bindPopup("Malleshwaram");
103
+
104
+ L.circle([12.98, 77.55], 800 * 3, {
105
+ color: "",
106
+ fillColor: getColour(0.4761),
107
+ fillOpacity: 0.5
108
+ })
109
+ .addTo(mymap)
110
+ .bindPopup("Rajaji Nagara Division");
111
+
112
+ L.circle([12.92, 77.57], 900 * 4.5, {
113
+ color: "",
114
+ fillColor: getColour(0.3272),
115
+ fillOpacity: 0.5
116
+ })
117
+ .addTo(mymap)
118
+ .bindPopup("Jayanagar");
119
+
120
+ L.circle([13.05, 77.5], 700 * 4, {
121
+ color: "",
122
+ fillColor: getColour(0.34),
123
+ fillOpacity: 0.5
124
+ })
125
+ .addTo(mymap)
126
+ .bindPopup("Jalahalli");
127
+
128
+ L.circle([12.92, 77.48], 700 * 5, {
129
+ color: "",
130
+ fillColor: getColour(0.677),
131
+ fillOpacity: 0.5
132
+ })
133
+ .addTo(mymap)
134
+ .bindPopup("Kengeri Division");
135
+
136
+ L.circle([12.94, 77.51], 1000 * 3, {
137
+ color: "",
138
+ fillColor: getColour(0.1676),
139
+ fillOpacity: 0.5
140
+ })
141
+ .addTo(mymap)
142
+ .bindPopup("R R NAGAR");
143
+
144
+ L.circle([12.97, 77.58], 100 * 4, {
145
+ color: "",
146
+ fillColor: getColour(0.289),
147
+ fillOpacity: 0.5
148
+ })
149
+ .addTo(mymap)
150
+ .bindPopup("Vidhanasoudha");
151
+
152
+ L.circle([13.02, 77.52], 1200 * 3, {
153
+ color: "",
154
+ fillColor: getColour(0.286),
155
+ fillOpacity: 0.5
156
+ })
157
+ .addTo(mymap)
158
+ .bindPopup("Peenya Division");
159
+
160
+ // L.polygon([
161
+ // [51.509, -0.08],
162
+ // [51.503, -0.06],
163
+ // [51.51, -0.047]
164
+ // ]).addTo(mymap).bindPopup("I am a polygon.");
165
+
166
+ // var popup = L.popup();
167
+
168
+ // function onMapClick(e) {
169
+ // popup
170
+ // .setLatLng(e.latlng)
171
+ // .setContent("You clicked the map at " + e.latlng.toString())
172
+ // .openOn(mymap);
173
+ // }
174
+
175
+ // mymap.on("click", onMapClick);
templates/index copy.html ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link
5
+ href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
6
+ rel="stylesheet"
7
+ integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
8
+ crossorigin="anonymous"
9
+ />
10
+ <link
11
+ rel="stylesheet"
12
+ type="text/css"
13
+ href="{{ url_for('static', filename='css/main.css') }}"
14
+ />
15
+ <link
16
+ rel="stylesheet"
17
+ href="https://unpkg.com/[email protected]/dist/leaflet.css"
18
+ integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
19
+ crossorigin=""
20
+ />
21
+ <link
22
+ rel="shortcut icon"
23
+ href="https://cdn0.iconfinder.com/data/icons/kameleon-free-pack-rounded/110/Analytics-512.png"
24
+ />
25
+ <!-- Make sure you put this AFTER Leaflet's CSS -->
26
+ <script
27
+ src="https://unpkg.com/[email protected]/dist/leaflet.js"
28
+ integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
29
+ crossorigin=""
30
+ ></script>
31
+ <title>Electro Maps</title>
32
+ </head>
33
+
34
+ <body>
35
+ <div align="center" id="mapid"></div>
36
+ <br />
37
+ <div align="center" class="container">
38
+ <form action="{{ url_for('predict') }}" method="post">
39
+ <input type="date" name="date" />
40
+ <input type="time" name="time" />
41
+ <input class="btn btn-success btn-sm" type="submit" value="Predict" />
42
+ </form>
43
+ </div>
44
+ <br />
45
+ <footer id="footer">
46
+ <div align="center">
47
+ <h4>Designed with 🖤 | Team Sabm0hmayahai</h4>
48
+ </div>
49
+ </footer>
50
+ <script>
51
+ const data = "{{data}}";
52
+ console.log(data);
53
+ var arr = [];
54
+ arr = data.split(",");
55
+ console.log(arr);
56
+
57
+ var val1 = 0,
58
+ val2 = 0,
59
+ val3 = 0,
60
+ val4 = 0,
61
+ val5 = 0,
62
+ val6 = 0,
63
+ val7 = 0,
64
+ val8 = 0,
65
+ val9 = 0,
66
+ val10 = 0,
67
+ val11 = 0,
68
+ val12 = 0,
69
+ val13 = 0,
70
+ val14 = 0;
71
+
72
+ try {
73
+ val1 = arr[0].slice(2, -1);
74
+ val2 = arr[1].slice(2, -1);
75
+ val3 = arr[2].slice(2, -1);
76
+ val4 = arr[3].slice(2, -1);
77
+ val5 = arr[4].slice(2, -1);
78
+ val6 = arr[5].slice(2, -1);
79
+ val7 = arr[6].slice(2, -1);
80
+ val8 = arr[7].slice(2, -1);
81
+ val9 = arr[8].slice(2, -1);
82
+ val10 = arr[9].slice(2, -1);
83
+ val11 = arr[10].slice(2, -1);
84
+ val12 = arr[11].slice(2, -1);
85
+ val13 = arr[12].slice(2, -1);
86
+ val14 = arr[13].slice(2, -2);
87
+
88
+ console.log(
89
+ val1,
90
+ val2,
91
+ val3,
92
+ val4,
93
+ val5,
94
+ val6,
95
+ val7,
96
+ val8,
97
+ val9,
98
+ val10,
99
+ val11,
100
+ val12,
101
+ val13,
102
+ val14
103
+ );
104
+ } catch (err) {
105
+ console.log("meh");
106
+ }
107
+
108
+ var mymap = L.map("mapid").setView([12.96, 77.62], 11.5);
109
+
110
+ L.tileLayer(
111
+ "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw",
112
+ {
113
+ maxZoom: 18,
114
+ attribution:
115
+ 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
116
+ '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
117
+ 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
118
+ id: "mapbox/streets-v11",
119
+ tileSize: 512,
120
+ zoomOffset: -1
121
+ }
122
+ ).addTo(mymap);
123
+
124
+ // Circle heatmap
125
+ function getColour(value) {
126
+ if (value <= 0.1) {
127
+ return "#009933";
128
+ } else if (value <= 0.2) {
129
+ return "#33cc33";
130
+ } else if (value <= 0.3) {
131
+ return "#99ff99";
132
+ } else if (value <= 0.4) {
133
+ return "#ccff99";
134
+ } else if (value <= 0.5) {
135
+ return "#ffff99";
136
+ } else if (value <= 0.6) {
137
+ return "#ffcc00";
138
+ } else if (value <= 0.7) {
139
+ return "#ff5050";
140
+ } else if (value <= 0.8) {
141
+ return "#ff0000";
142
+ } else if (value <= 0.9) {
143
+ return "#ff0000";
144
+ } else {
145
+ return "#b30000";
146
+ }
147
+ }
148
+
149
+ L.circle([12.93, 77.62], 575 * 4, {
150
+ color: "",
151
+ fillColor: getColour(val2),
152
+ fillOpacity: 0.5
153
+ })
154
+ .addTo(mymap)
155
+ .bindPopup("Kormangala Division : " + (val1 * 100).toFixed(2));
156
+
157
+ L.circle([12.91, 77.64], 900 * 1.5, {
158
+ color: "",
159
+ fillColor: getColour(val1),
160
+ fillOpacity: 0.5
161
+ })
162
+ .addTo(mymap)
163
+ .bindPopup("HSR Layout : " + (val2 * 100).toFixed(2));
164
+
165
+ L.circle([12.97, 77.63], 400 * 6, {
166
+ color: "",
167
+ fillColor: getColour(val3),
168
+ fillOpacity: 0.5
169
+ })
170
+ .addTo(mymap)
171
+ .bindPopup("Indiranagar : " + (val3 * 100).toFixed(2));
172
+
173
+ L.circle([12.98, 77.59], 500 * 4, {
174
+ color: "",
175
+ fillColor: getColour(val4),
176
+ fillOpacity: 0.5
177
+ })
178
+ .addTo(mymap)
179
+ .bindPopup("Shivajinagar : " + (val4 * 100).toFixed(2));
180
+
181
+ L.circle([13.04, 77.59], 600 * 6, {
182
+ color: "",
183
+ fillColor: getColour(val5),
184
+ fillOpacity: 0.5
185
+ })
186
+ .addTo(mymap)
187
+ .bindPopup("Hebbal : " + (val5 * 100).toFixed(2));
188
+
189
+ L.circle([12.96, 77.71], 1000 * 6, {
190
+ color: "",
191
+ fillColor: getColour(val6),
192
+ fillOpacity: 0.5
193
+ })
194
+ .addTo(mymap)
195
+ .bindPopup("Whitefield : " + (val6 * 100).toFixed(2));
196
+
197
+ L.circle([13.0, 77.57], 850 * 2, {
198
+ color: "",
199
+ fillColor: getColour(val7),
200
+ fillOpacity: 0.5
201
+ })
202
+ .addTo(mymap)
203
+ .bindPopup("Malleshwaram : " + (val7 * 100).toFixed(2));
204
+
205
+ L.circle([12.98, 77.55], 800 * 3, {
206
+ color: "",
207
+ fillColor: getColour(val8),
208
+ fillOpacity: 0.5
209
+ })
210
+ .addTo(mymap)
211
+ .bindPopup("Rajaji Nagara Division : " + (val8 * 100).toFixed(2));
212
+
213
+ L.circle([12.92, 77.57], 900 * 4.5, {
214
+ color: "",
215
+ fillColor: getColour(val9),
216
+ fillOpacity: 0.5
217
+ })
218
+ .addTo(mymap)
219
+ .bindPopup("Jayanagar : " + (val9 * 100).toFixed(2));
220
+
221
+ L.circle([13.05, 77.5], 700 * 4, {
222
+ color: "",
223
+ fillColor: getColour(val10),
224
+ fillOpacity: 0.5
225
+ })
226
+ .addTo(mymap)
227
+ .bindPopup("Jalahalli : " + (val10 * 100).toFixed(2));
228
+
229
+ L.circle([12.92, 77.48], 700 * 5, {
230
+ color: "",
231
+ fillColor: getColour(val11),
232
+ fillOpacity: 0.5
233
+ })
234
+ .addTo(mymap)
235
+ .bindPopup("Kengeri Division : " + (val11 * 100).toFixed(2));
236
+
237
+ L.circle([12.94, 77.51], 1000 * 3, {
238
+ color: "",
239
+ fillColor: getColour(val12),
240
+ fillOpacity: 0.5
241
+ })
242
+ .addTo(mymap)
243
+ .bindPopup("R R NAGAR : " + (val12 * 100).toFixed(2));
244
+
245
+ L.circle([12.97, 77.58], 100 * 4, {
246
+ color: "",
247
+ fillColor: getColour(val13),
248
+ fillOpacity: 0.5
249
+ })
250
+ .addTo(mymap)
251
+ .bindPopup("Vidhanasoudha : " + (val13 * 100).toFixed(2));
252
+
253
+ L.circle([13.02, 77.52], 1200 * 3, {
254
+ color: "",
255
+ fillColor: getColour(val14),
256
+ fillOpacity: 0.5
257
+ })
258
+ .addTo(mymap)
259
+ .bindPopup("Peenya Division : " + (val14 * 100).toFixed(2));
260
+ </script>
261
+ </body>
262
+ </html>
templates/index.html ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link
5
+ href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
6
+ rel="stylesheet"
7
+ integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
8
+ crossorigin="anonymous"
9
+ />
10
+ <link
11
+ rel="stylesheet"
12
+ type="text/css"
13
+ href="{{ url_for('static', filename='css/main.css') }}"
14
+ />
15
+ <link
16
+ rel="stylesheet"
17
+ href="https://unpkg.com/[email protected]/dist/leaflet.css"
18
+ integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
19
+ crossorigin=""
20
+ />
21
+ <link
22
+ rel="shortcut icon"
23
+ href="https://cdn0.iconfinder.com/data/icons/kameleon-free-pack-rounded/110/Analytics-512.png"
24
+ />
25
+ <!-- Make sure you put this AFTER Leaflet's CSS -->
26
+ <script
27
+ src="https://unpkg.com/[email protected]/dist/leaflet.js"
28
+ integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
29
+ crossorigin=""
30
+ ></script>
31
+ <title>Electro Maps</title>
32
+ </head>
33
+
34
+ <body>
35
+ <div align="center" id="mapid"></div>
36
+ <br />
37
+ <div align="center" class="container">
38
+ <form action="{{ url_for('predict') }}" method="post">
39
+ <input type="date" name="date" />
40
+ <input type="time" name="time" />
41
+ <input class="btn btn-success btn-sm" type="submit" value="Predict" />
42
+ </form>
43
+ </div>
44
+ <br />
45
+ <footer id="footer">
46
+ <div align="center">
47
+ <h4>Designed with 🖤 | Team Sabm0hmayahai</h4>
48
+ </div>
49
+ </footer>
50
+ <script>
51
+ const data = "{{data}}";
52
+ console.log(data);
53
+ var arr = [];
54
+ arr = data.split(",");
55
+ console.log("this", arr);
56
+
57
+ console.log(arr[0].slice(2, -1));
58
+
59
+ var val1 = 0.196,
60
+ val2 = 0.199,
61
+ val3 = 0.192,
62
+ val4 = 0.193,
63
+ val5 = 0.186,
64
+ val6 = 0.234,
65
+ val7 = 0.271,
66
+ val8 = 0.221,
67
+ val9 = 0.198,
68
+ val10 = 0.242,
69
+ val11 = 0.221,
70
+ val12 = 0.191,
71
+ val13 = 0.205,
72
+ val14 = 0.235;
73
+
74
+ try {
75
+ val1 = arr[0].slice(2, -1);
76
+ val2 = arr[1].slice(2, -1);
77
+ val3 = arr[2].slice(2, -1);
78
+ val4 = arr[3].slice(2, -1);
79
+ val5 = arr[4].slice(2, -1);
80
+ val6 = arr[5].slice(2, -1);
81
+ val7 = arr[6].slice(2, -1);
82
+ val8 = arr[7].slice(2, -1);
83
+ val9 = arr[8].slice(2, -1);
84
+ val10 = arr[9].slice(2, -1);
85
+ val11 = arr[10].slice(2, -1);
86
+ val12 = arr[11].slice(2, -1);
87
+ val13 = arr[12].slice(2, -1);
88
+ val14 = arr[13].slice(2, -2);
89
+
90
+ console.log(
91
+ val1,
92
+ val2,
93
+ val3,
94
+ val4,
95
+ val5,
96
+ val6,
97
+ val7,
98
+ val8,
99
+ val9,
100
+ val10,
101
+ val11,
102
+ val12,
103
+ val13,
104
+ val14
105
+ );
106
+ } catch (err) {
107
+ console.log("meh");
108
+ }
109
+
110
+ var mymap = L.map("mapid").setView([12.96, 77.62], 11.5);
111
+
112
+ L.tileLayer(
113
+ "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw",
114
+ {
115
+ maxZoom: 18,
116
+ attribution:
117
+ 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
118
+ '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
119
+ 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
120
+ id: "mapbox/streets-v11",
121
+ tileSize: 512,
122
+ zoomOffset: -1
123
+ }
124
+ ).addTo(mymap);
125
+
126
+ // Circle heatmap
127
+ function getColour(value) {
128
+ if (value <= 0.1) {
129
+ return "#0DFD04";
130
+ } else if (value <= 0.2) {
131
+ return "#E0FC86";
132
+ } else if (value <= 0.3) {
133
+ return "#B9EF0D";
134
+ } else if (value <= 0.4) {
135
+ return "#FFCC00";
136
+ } else if (value <= 0.5) {
137
+ return "#B67300";
138
+ } else if (value <= 0.6) {
139
+ return "#E65400";
140
+ } else if (value <= 0.7) {
141
+ return "#C93508";
142
+ } else if (value <= 0.8) {
143
+ return "#FF4D4D";
144
+ } else if (value <= 0.9) {
145
+ return "#FD0808";
146
+ } else {
147
+ return "#FF0000";
148
+ }
149
+ }
150
+
151
+ L.circle([12.93, 77.62], 575 * 4, {
152
+ color: "",
153
+ fillColor: getColour(val2),
154
+ fillOpacity: 0.5
155
+ })
156
+ .addTo(mymap)
157
+ .bindPopup("Kormangala Division : " + (val2 * 100).toFixed(2));
158
+
159
+ L.circle([12.91, 77.64], 900 * 1.5, {
160
+ color: "",
161
+ fillColor: getColour(val1),
162
+ fillOpacity: 0.5
163
+ })
164
+ .addTo(mymap)
165
+ .bindPopup("HSR Layout : " + (val1 * 100).toFixed(2));
166
+
167
+ L.circle([12.97, 77.63], 400 * 6, {
168
+ color: "",
169
+ fillColor: getColour(val3),
170
+ fillOpacity: 0.5
171
+ })
172
+ .addTo(mymap)
173
+ .bindPopup("Indiranagar : " + (val3 * 100).toFixed(2));
174
+
175
+ L.circle([12.98, 77.59], 500 * 4, {
176
+ color: "",
177
+ fillColor: getColour(val4),
178
+ fillOpacity: 0.5
179
+ })
180
+ .addTo(mymap)
181
+ .bindPopup("Shivajinagar : " + (val4 * 100).toFixed(2));
182
+
183
+ L.circle([13.04, 77.59], 600 * 6, {
184
+ color: "",
185
+ fillColor: getColour(val5),
186
+ fillOpacity: 0.5
187
+ })
188
+ .addTo(mymap)
189
+ .bindPopup("Hebbal : " + (val5 * 100).toFixed(2));
190
+
191
+ L.circle([12.96, 77.71], 1000 * 6, {
192
+ color: "",
193
+ fillColor: getColour(val6),
194
+ fillOpacity: 0.5
195
+ })
196
+ .addTo(mymap)
197
+ .bindPopup("Whitefield : " + (val6 * 100).toFixed(2));
198
+
199
+ L.circle([13.0, 77.57], 850 * 2, {
200
+ color: "",
201
+ fillColor: getColour(val7),
202
+ fillOpacity: 0.5
203
+ })
204
+ .addTo(mymap)
205
+ .bindPopup("Malleshwaram : " + (val7 * 100).toFixed(2));
206
+
207
+ L.circle([12.98, 77.55], 800 * 3, {
208
+ color: "",
209
+ fillColor: getColour(val8),
210
+ fillOpacity: 0.5
211
+ })
212
+ .addTo(mymap)
213
+ .bindPopup("Rajaji Nagara Division : " + (val8 * 100).toFixed(2));
214
+
215
+ L.circle([12.92, 77.57], 900 * 4.5, {
216
+ color: "",
217
+ fillColor: getColour(val9),
218
+ fillOpacity: 0.5
219
+ })
220
+ .addTo(mymap)
221
+ .bindPopup("Jayanagar : " + (val9 * 100).toFixed(2));
222
+
223
+ L.circle([13.05, 77.5], 700 * 4, {
224
+ color: "",
225
+ fillColor: getColour(val10),
226
+ fillOpacity: 0.5
227
+ })
228
+ .addTo(mymap)
229
+ .bindPopup("Jalahalli : " + (val10 * 100).toFixed(2));
230
+
231
+ L.circle([12.92, 77.48], 700 * 5, {
232
+ color: "",
233
+ fillColor: getColour(val11),
234
+ fillOpacity: 0.5
235
+ })
236
+ .addTo(mymap)
237
+ .bindPopup("Kengeri Division : " + (val11 * 100).toFixed(2));
238
+
239
+ L.circle([12.94, 77.51], 1000 * 3, {
240
+ color: "",
241
+ fillColor: getColour(val12),
242
+ fillOpacity: 0.5
243
+ })
244
+ .addTo(mymap)
245
+ .bindPopup("R R NAGAR : " + (val12 * 100).toFixed(2));
246
+
247
+ L.circle([12.97, 77.58], 100 * 4, {
248
+ color: "",
249
+ fillColor: getColour(val13),
250
+ fillOpacity: 0.5
251
+ })
252
+ .addTo(mymap)
253
+ .bindPopup("Vidhanasoudha : " + (val13 * 100).toFixed(2));
254
+
255
+ L.circle([13.02, 77.52], 1200 * 3, {
256
+ color: "",
257
+ fillColor: getColour(val14),
258
+ fillOpacity: 0.5
259
+ })
260
+ .addTo(mymap)
261
+ .bindPopup("Peenya Division : " + (val14 * 100).toFixed(2));
262
+ </script>
263
+ </body>
264
+ </html>