asoria HF staff commited on
Commit
7d6537e
·
verified ·
1 Parent(s): 7f1f919

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +293 -18
index.html CHANGED
@@ -1,19 +1,294 @@
1
- <!doctype html>
 
2
  <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
  <html>
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6
+ <title>fdaudens/hf-blog-posts</title>
7
+
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
11
+
12
+
13
+
14
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css" />
15
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" />
16
+ <script src="https://unpkg.com/deck.gl@latest/dist.min.js"></script>
17
+
18
+ <script src="https://unpkg.com/[email protected]"></script>
19
+
20
+ <style>
21
+ body {
22
+ margin: 0;
23
+ padding: 0;
24
+ overflow: hidden;
25
+ background: #ffffff;
26
+ }
27
+
28
+ #deck-container {
29
+ width: 100vw;
30
+ height: 100vh;
31
+ }
32
+
33
+ #deck-container canvas {
34
+ z-index: 1;
35
+ background: #ffffff;
36
+ }
37
+
38
+ .deck-tooltip {
39
+
40
+ font-size: 0.8em;
41
+ font-family: Roboto;
42
+ font-weight: 300;
43
+ color: #000000 !important;
44
+ background-color: #ffffffaa !important;
45
+ border-radius: 12px;
46
+ box-shadow: 2px 3px 10px #aaaaaa44;
47
+ max-width: 25%;
48
+ }
49
+
50
+ #loading {
51
+ width: 100%;
52
+ height: 100%;
53
+ top: 0px;
54
+ left: 0px;
55
+ position: absolute;
56
+ display: block;
57
+ z-index: 99
58
+ }
59
+
60
+ #loading-image {
61
+ position: absolute;
62
+ top: 45%;
63
+ left: 47.5%;
64
+ z-index: 100
65
+ }
66
+
67
+ #title-container {
68
+ position: absolute;
69
+ top: 0;
70
+ left: 0;
71
+ margin: 16px;
72
+ padding: 12px;
73
+ border-radius: 16px;
74
+ line-height: 0.95;
75
+ z-index: 2;
76
+ font-family: Roboto;
77
+ color: #000000;
78
+ background: #ffffffaa;
79
+ box-shadow: 2px 3px 10px #aaaaaa44;
80
+ }
81
+
82
+
83
+ #search-container{
84
+ position: absolute;
85
+ left: -16px;
86
+ margin: 16px;
87
+ padding: 12px;
88
+ border-radius: 16px;
89
+ z-index: 2;
90
+ font-family: Roboto;
91
+ color: #000000;
92
+ background: #ffffffaa;
93
+ width: fit-content;
94
+ box-shadow: 2px 3px 10px #aaaaaa44;
95
+ }
96
+ input {
97
+ margin: 2px;
98
+ padding: 4px;
99
+ border-radius: 8px;
100
+ color: #000000;
101
+ background: #ffffffdd;
102
+ border: 1px solid #ddddddff;
103
+ transition: 0.5s;
104
+ outline: none;
105
+ }
106
+ input:focus {
107
+ border: 2px solid #555;
108
+ }
109
+
110
+
111
+ </style>
112
+ </head>
113
+ <body>
114
+ <div id="loading">
115
+ <img id="loading-image" src="https://i.gifer.com/ZKZg.gif" alt="Loading..." width="5%"/>
116
+ </div>
117
+
118
+ <div id="title-container">
119
+ <span style="font-family:Roboto;font-size:36pt;color:#000000">
120
+ fdaudens/hf-blog-posts
121
+ </span><br/>
122
+ <span style="font-family:Roboto;font-size:18pt;color:#777777">
123
+ Data map for the entire <a href='https://huggingface.co/datasets/fdaudens/hf-blog-posts/viewer/default/train' target='_blank'>dataset</a> (381 rows) using the column 'Headline'
124
+ </span>
125
+
126
+ <div id="search-container">
127
+ <input autocomplete="off" type="search" id="search" placeholder="🔍">
128
+ </div>
129
+
130
+ </div>
131
+
132
+
133
+ <div id="deck-container">
134
+ </div>
135
+
136
+ </body>
137
+ <script type="module">
138
+ import { ArrowLoader } from 'https://cdn.jsdelivr.net/npm/@loaders.gl/[email protected]/+esm'
139
+ import { JSONLoader } from 'https://cdn.jsdelivr.net/npm/@loaders.gl/[email protected]/+esm'
140
+
141
+
142
+
143
+ const pointDataBase64 = "QVJST1cxAAD/////0AUAABAAAAAAAAoADgAGAAUACAAKAAAAAAEEABAAAAAAAAoADAAAAAQACAAKAAAASAQAAAQAAAABAAAADAAAAAgADAAEAAgACAAAACAEAAAEAAAAEAQAAHsiaW5kZXhfY29sdW1ucyI6IFt7ImtpbmQiOiAicmFuZ2UiLCAibmFtZSI6IG51bGwsICJzdGFydCI6IDAsICJzdG9wIjogMzgxLCAic3RlcCI6IDF9XSwgImNvbHVtbl9pbmRleGVzIjogW3sibmFtZSI6IG51bGwsICJmaWVsZF9uYW1lIjogbnVsbCwgInBhbmRhc190eXBlIjogInVuaWNvZGUiLCAibnVtcHlfdHlwZSI6ICJvYmplY3QiLCAibWV0YWRhdGEiOiB7ImVuY29kaW5nIjogIlVURi04In19XSwgImNvbHVtbnMiOiBbeyJuYW1lIjogIngiLCAiZmllbGRfbmFtZSI6ICJ4IiwgInBhbmRhc190eXBlIjogImZsb2F0MzIiLCAibnVtcHlfdHlwZSI6ICJmbG9hdDMyIiwgIm1ldGFkYXRhIjogbnVsbH0sIHsibmFtZSI6ICJ5IiwgImZpZWxkX25hbWUiOiAieSIsICJwYW5kYXNfdHlwZSI6ICJmbG9hdDMyIiwgIm51bXB5X3R5cGUiOiAiZmxvYXQzMiIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiciIsICJmaWVsZF9uYW1lIjogInIiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiZyIsICJmaWVsZF9uYW1lIjogImciLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiYiIsICJmaWVsZF9uYW1lIjogImIiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiYSIsICJmaWVsZF9uYW1lIjogImEiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAic2VsZWN0ZWQiLCAiZmllbGRfbmFtZSI6ICJzZWxlY3RlZCIsICJwYW5kYXNfdHlwZSI6ICJ1aW50OCIsICJudW1weV90eXBlIjogInVpbnQ4IiwgIm1ldGFkYXRhIjogbnVsbH1dLCAiY3JlYXRvciI6IHsibGlicmFyeSI6ICJweWFycm93IiwgInZlcnNpb24iOiAiMTcuMC4wIn0sICJwYW5kYXNfdmVyc2lvbiI6ICIyLjIuMiJ9AAAAAAYAAABwYW5kYXMAAAcAAAAoAQAA7AAAALwAAACQAAAAZAAAADgAAAAEAAAABP///wAAAQIQAAAAHAAAAAQAAAAAAAAACAAAAHNlbGVjdGVkAAAAAGL///8IAAAANP///wAAAQIQAAAAFAAAAAQAAAAAAAAAAQAAAGEAAACK////CAAAAFz///8AAAECEAAAABQAAAAEAAAAAAAAAAEAAABiAAAAsv///wgAAACE////AAABAhAAAAAUAAAABAAAAAAAAAABAAAAZwAAANr///8IAAAArP///wAAAQIQAAAAGAAAAAQAAAAAAAAAAQAAAHIABgAIAAQABgAAAAgAAADY////AAABAxAAAAAUAAAABAAAAAAAAAABAAAAeQAAAMr///8AAAEAEAAUAAgABgAHAAwAAAAQABAAAAAAAAEDEAAAABgAAAAEAAAAAAAAAAEAAAB4AAYACAAGAAYAAAAAAAEAAAAAAP////+oAQAAFAAAAAAAAAAMABYABgAFAAgADAAMAAAAAAMEABgAAABwEwAAAAAAAAAACgAYAAwABAAIAAoAAAD8AAAAEAAAAH0BAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0BQAAAAAAAPgFAAAAAAAAAAAAAAAAAAD4BQAAAAAAAPQFAAAAAAAA8AsAAAAAAAAAAAAAAAAAAPALAAAAAAAAfQEAAAAAAABwDQAAAAAAAAAAAAAAAAAAcA0AAAAAAAB9AQAAAAAAAPAOAAAAAAAAAAAAAAAAAADwDgAAAAAAAH0BAAAAAAAAcBAAAAAAAAAAAAAAAAAAAHAQAAAAAAAAfQEAAAAAAADwEQAAAAAAAAAAAAAAAAAA8BEAAAAAAAB9AQAAAAAAAAAAAAAHAAAAfQEAAAAAAAAAAAAAAAAAAH0BAAAAAAAAAAAAAAAAAAB9AQAAAAAAAAAAAAAAAAAAfQEAAAAAAAAAAAAAAAAAAH0BAAAAAAAAAAAAAAAAAAB9AQAAAAAAAAAAAAAAAAAAfQEAAAAAAAAAAAAAAAAAAAw/CcCovAzASBfBP6A7eL/4saC/yEcOwLAh2z8gfmq/cKbFv+BlT7/gysK/YOQWP7AQej84K8y/gK/DvwA8xTxAs5y/oKYOP0AgUj8wHd8+IJtlP1CocD+AmMa/3BMCQADcpL6w5fe+EHcIv+jWgr/A+ak+UG1JP0BqD74ASIi7WIKFv8yzq7/4/yM/YCQKv1Bsl78I0YG/mPjIv/An1D88fBDAsGq2v2B0LD/I9KS/bFUMwPDCNT8Q/za/4CLAvwiXVj9Qs+M/uNPRvwhN5L/w94k/iPL1P4ymDsBAhYS/OMnMvzTqDcDw0LI+IIiVvwArir5QgZQ/gBQ4Pli0Xz9AqHI/AOF6PoDVeL8Qcya/gBdOvgDq4L9wy7A/NNkrwADEXbzEl4e/YJE8P4BMTz84ogzAQOZdP8ButL4QDrG/IMsKv8jozj/AQLk+sI2mvzAcPz8gALo/QM4NP6CUYz/QqyW/QB7YP2DV2T8gh+G+EI+Nv+A+JD/wXf0/ANfkvsCenr7EMx/AYLGUPoBL/z2wYA7AAInxPcyr0T8Ai728EOO8PxCTvb+gdG8/gJHWPgB8bD8ASDG9YBwTv4BmsT+AYkE+gBO7v4C2wr+Irrg/IN43v2CaxD+gCc6+SGHEP8CMlz6gl0I/6Pezv8D/JT4AlJA8UJLkP8BF3b/IyJO/KCWzv0hlDUAgINa+kHSVv8hjEz8Qd/E/KFRtv7D3oD9QYF2/AN2tP3ASu7+g0Lw+pO4HwAATmj+gddC+YMHQv8BY2T9g5O0/gLfrPwjorb/gClw/INvYPgAYqT94iQ8/OHvEP8wyvT8A3hi/oNmovwAlSz+wYp8/COzJPxhr3T8Ay6q8VCGHPwB3qr0oRNG/CGfmPyCjab9gA46/wOeUvsyQwT/Qdza/QL+cvzBNg78ID5K/MCiiPxjSDkBwdji/eETev7ASAT9wCQq/MOTxP0Bg3j9o2du/gCvIPoA65b7QjC0/kOquv7BI6D9YCoo/SI8NQEAioj9EAsg/YHSlPhhzn7+opDHA0IEKQHTRFkCowrY/YBy0v5B39T+IQSo/QE91v9B1xz9AfAU/4Okjv4ibkL9gpva/qISePyB1yL/wOL0/mCGbv4heAUDgdJy/IK7iP5B3jb8oWZS/aJfVP4A99D/wraC/kEIjwJBll79g9JU/pO6YvyDa1T7U/DLAQOM9v0AIPz8oZAjAMOHTP2gr8b8QlPM/6EDNP2BP/z+oZLi/6BQCQCBfvb6o38E/OBovwHBVuz8I51W/EMUrvxjSEcDw2wdAACyuvoA6rj5YLKW/AF3MPYALRL+oBLY/RGIAQPDXpT5Qgn2/0D0CQHCLr7+wc66/QLydPsgh1L+QDtU+wGamPrCCbb/kaQ1AqGLXP1gX2L8oE6A/FJ8KQETP9j9QTHQ/eGPyP/Bo5j9gAC2/iNrMPwAWfj+g3Uy/WOQJwACsHcB40t6/2JLZv8C8cr9gdSu/8EzRP/gAC8DIRMy/wMiMPtBfPr/42qq/gBZKv8BhBMA4AMS/gFAsPqiOyj8QjbS/kCL5P1hjYT/g5y3AtCAFQLi9DsBMMO4/oPCZv3Asob/oGxnAVIA0wCCAtT4gjBfAEOEowOB9kj/ITCi/YEc0wGgIvL+wiVs/eFURwOBE2j+gAQrAgEVwPiB5RT8oJDjA0F/bP+CDhD9MgTLAmGXFP0QJK8BwnQFAEDqdv7hL7j/o+DHAKELNv0Q5i78gHsA/4C9tv2CQIL8waXW/ABs2vyAAPr/AMcG+EFvZP3DZxz9Ay24/gL41vvRRvD+0TAfA0OLTPwiu07+wIqK/wFmqv8Cr/T+IB4G/4DkHP0AQyr4Ajhe98ObJv+ictL/AJo+/mJA0wGDNjb+AA0o/wKjkvlCBjD8gd/E/EDbLP0D02b+wecs/0HSfP5D+7z+QtfC/wIjLPwAwor3gE88+wANVv2hGzb+gS40/UG7cP4DdnL4AjP4/pMQjwCQ9+z9QPe0/OOPrPyD8kT4gebo/eJWVP1j+ur/AvTa/wHRavwAAAAB8w1RAaCNXQPTMbkCAxr69WKcLQDhlVkA4HvY/ELA1QKD0Hr/gynRAwLAlQN4khUBgf6hAAPs/vgCPl72gFL8/AJEuQJIwl0Bs0oFA8FppP6Llp0DwwClAADlWPiC7YkAQdXo/hNpcQB4rY0AgwJU/0DKNPxCDEUColog/IEZEPxi6iz+A3rI95pGDQADrmz2ctglAEFkXv4jfbkDgEY1AIKJVQMhzHT849o9AWIM/QFzNU0DAeNA/uDygP+x2b0AAP3RAoAoev+BYGr+ExFZAKCduQPirYEAUfVRAbFQEQACLHL9QtlNAcmOUQHauL0DwnlC/XHGNQIhU5D9QwAk/0kOZQJxn2z/AlDE+dCImQMBp677ok0dA+u2jQFiz/z9gExg/gHggPqwwGUCAanw/ANFVQEA7DT+ciytAgA3iPzhvLUCyNK5ANI+EQEyZC0A2JoFAuMJ9QJgTwz+At/k+TEZ1QAyKfECAZHi+CIZbQBz8akAGvqtA4IDUvuIiNkDg9CpA6Dj4P0jRnz9CDENAWF5UQLAW3z+IxA6/gLAJQDhiBEBigh5AQJDjPlDxWkByhYlAYAPBvjANKkAAl6JAiCzmP5hyHECATgW+/LmcQEC4P79si4dANKMrQPyxAUAA4L88hPaLQOBsHb9ABEZAMD+yP+CWoL7o/mlALLdAQLiHcEAAaps9OPIzQExdY0C8hGhAwALzvkB5VUB0V3hAGGZLQMK6gkDAEb++VEOtQBRLUEA0FZ9AcANsvxwgc0AYbPU/wNm1vjS2kUD4T4lAGLQiQEJUfkBimKVAEkOCQPQ4oEAQ2pNAAAAZvwjldkDey6FAfG2GQMwGm0DAY16+EGPIP97PlEAcfI5AoF4tQGBPsL7cC+w/sNtlQOgWVkCQ2dM/AAk9PdjtC0CAywE+ejkRQLjOoECA3qo9IBxnvwArmD7WupBAEIV/QGzGU0BULhdASIlgQEiul0BUEy1AzsiqQIDAA7/gIra+uIGZQABI3j1mGaJAkKfHP2Qx4D+AQ8c+oE8LQEB72T3Avqs+7gONQCAhMr9AUMm+GEWZQIAART7ACoJAkMuFP8CqK7/MqXFAyP0dQKD8AEAAjo+95rSWQKApc0DAbJa+VFFIQK7/hUBMX3FAsFkwPwozpUDYjnJASHtpQFQK/z/MqW5AQKz4P1CaFz/wgqU/KBMUQACyqD5s7ZY/qM3rP0D6kEAIp2Q/wAiTvsAA3D+g1c6+8/GGQICk776AxCw+uO+LQNiLC0BsUINAoMAivsAH+L64bTJAgDvWvRC7W7/4PYQ/QHVLvzgvnz/A3Q8+mJKDQNBixb5QxiU/4BZwP7C+Br8wiDy/uOeHP+AQhz9AI3M/whutQJCyKz+Aa2O/gGGHPbiw2j84D2lABmqVQIBSQ74kKGJACJ1MQBT4WkBAcihATGFPQNTrjEA8mUlAwJo0v8xS5j84yCZAgCVOPrh8dkBQNkY/ABhVPAT7gEBwZPw/xG2oPygLJj9IiVW/AFJJvwCAtLnwpds/oC5JQMghXj/wp6tAgI8pP6CRUUAwxC9AuJIKQMCpBb/Ax8k/uMpBQANfhEAA+Z8/QHLeP8jQEECaYqxASJzbP6DGDkCgvKNAMJl1QFR1CkA254xASISNPzCTNkCmO6NAGODiPwg/hj8E84hA6DMVQDCu+D80uqZAGC8eQNbDqkAQCAZAgBtXQByDCUDY/YZAIKYMQOi0gEDAHUQ/5E5hQLAxYD+ANv2+cFfZvjB4UT8A55Q9MK8/v/RCoEBSMKFA1PwgQCgeXr9UY2lAINTPPxR7n0CAMZy9tPMKQEC7VkAUD09A0ECCP2ALpD/I5mq/wLu/PkaYiEAQ0S2/oJZ+vvDSEECAGB4/fpaAQObegkCunKhAtMk6QGhtAkCAUOU9wrmmQETfjUAgpo1AWPOTP5hjkkCglZg+OG6LP0Cc5b4AquK9lrqYQHAK+T/A0lm/3AJeQDDr+T/wp1FAaOOEQGAfZkCoAoI/cH7sP9gruj9g3By/MAAuv3gzY78AAAAA9/e/9/f3Sff3yfe/v5iY9/e/v0m/v5i/98n390n3SUmYmL+Y95jJv/f3v/f39/fJvwCY97+/9/eY97/3mL/3Sb/39/eY97/T9/e/Sff39/f3v7/3v7/39/e/APfJvwD399P39/f3APdJ9/f395j3v/f3mL+Yv/dJ97+Y9/cAyffJAPfJ9wD3v/e/mPf3v5jJSQC/9/f3v7+/v/fJv7+/APe/9/cA98n3SZj3mPe/AJi/v8m/98m/97/3AL8Av9P399MA97+YAL/3v0mYycn3mL/JAPe/yfe/v8nTyfeYSdP3SdO/9wD3AMkASb/Tv/eYyQCYSZhJ978A95gAmNNJ9/dJmABJyb8Av/e/v/e/95jT0/fJ9/e/09P3mJj30/dJv/e/v9MA07/309PT99PTv/fT9/fTv/dJv9NJv9O/07/3v9PJ97+YmJiY95i/v/eYv9O/mPfJv/dJmEn3mJjTmL/3v79JmL+/v9O/90mY979JmL/Tv7+/SUn3mJiYAAAAv7+Yyb+/k7/JWb+YmJqayb+YmJ+YmJqYyVnJyZ/Jn5+ampiayZpZmL/JmL+/yclZmIKayZiYv8mav5i/mpi/n5jJyb+av5hlycmYn7/Jv7+/mJjJmJjJycmYgslZmIK/yWXJyb+/gsmTv8nJyZq/mMm/mpiamL+Tv5iaycmCWb9ZgslZyYLJmMmYmsm/mJpZk4KYycnJmJiYmMlZmJiYgr+YycmCyVnJk5q/mr+YgpqYmFmYyVmYv5jJgpiCmGXJyWWCyZiagpjJmJ+aWVnJmphZgsmYWcmYmFllWcman2XJn2WYyYLJglmCn5hlmMmaWYKan5qfyZiCyZqCmmWfycmfmoKTWZiCmMmYmMmYyZplZclZycmYZWXJmprJZcmfmMmYmGWCZZjJZWVlyWVlmMllycllmMmfmGWTmGWYZZjJmGVZyZiampqayZqYmMmamGWYmslZmMmfmp/JmpplmpjJmJiTmpiYmGWYyZ+ayZiTmphlmJiYn5PJmpqaAAAAzs7msM7O4c6wr87m5iEhsM7m5jvm5iHmsK+wsDuwOzshIeYhsCGv5s6w5s7OsLCv5pwhsObmzrAhzubOIebOO+awsM4hzuY2sLDmO86wzs7O5uaw5uawsLDmnLCv5pzOsDawsM7OnLDhzrCwsCHO5rDOIeYh5s7hzuYhsLCcr86vnLCvsJyw5rDmIbDO5iGv4ZzmsLCw5ubm5rCv5ubmnM7msLCcsK+w4SHOIc7mnCHm5q/msK/mzuawnOac5jawsDacsOYhnOaw5jshr6+wIeavnLDmr7Dm5q82r7AhOzawOzbmsJywnK+cO+Y25rAhr5whOyE7sOacsCGcITY7sLA7IZzhr+ac5rDm5rDmsCE2NrCvsLDmNjawISGwNrA75rDm5jacNuawNjY2sDY25rA2sLA25rA75jbh5jbmNuaw5javsOYhISEhsCHm5rAh5jbmIbCv5rA7ITuwISE2Ieaw5ubhIebm5jbmsDshsObhIeY25ubmO+GwISEhAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0AAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAA/////wAAAAAQAAAADAAUAAYACAAMABAADAAAAAAABAA8AAAAKAAAAAQAAAABAAAA4AUAAAAAAACwAQAAAAAAAHATAAAAAAAAAAAAAAAAAAAAAAoADAAAAAQACAAKAAAASAQAAAQAAAABAAAADAAAAAgADAAEAAgACAAAACAEAAAEAAAAEAQAAHsiaW5kZXhfY29sdW1ucyI6IFt7ImtpbmQiOiAicmFuZ2UiLCAibmFtZSI6IG51bGwsICJzdGFydCI6IDAsICJzdG9wIjogMzgxLCAic3RlcCI6IDF9XSwgImNvbHVtbl9pbmRleGVzIjogW3sibmFtZSI6IG51bGwsICJmaWVsZF9uYW1lIjogbnVsbCwgInBhbmRhc190eXBlIjogInVuaWNvZGUiLCAibnVtcHlfdHlwZSI6ICJvYmplY3QiLCAibWV0YWRhdGEiOiB7ImVuY29kaW5nIjogIlVURi04In19XSwgImNvbHVtbnMiOiBbeyJuYW1lIjogIngiLCAiZmllbGRfbmFtZSI6ICJ4IiwgInBhbmRhc190eXBlIjogImZsb2F0MzIiLCAibnVtcHlfdHlwZSI6ICJmbG9hdDMyIiwgIm1ldGFkYXRhIjogbnVsbH0sIHsibmFtZSI6ICJ5IiwgImZpZWxkX25hbWUiOiAieSIsICJwYW5kYXNfdHlwZSI6ICJmbG9hdDMyIiwgIm51bXB5X3R5cGUiOiAiZmxvYXQzMiIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiciIsICJmaWVsZF9uYW1lIjogInIiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiZyIsICJmaWVsZF9uYW1lIjogImciLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiYiIsICJmaWVsZF9uYW1lIjogImIiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAiYSIsICJmaWVsZF9uYW1lIjogImEiLCAicGFuZGFzX3R5cGUiOiAidWludDgiLCAibnVtcHlfdHlwZSI6ICJ1aW50OCIsICJtZXRhZGF0YSI6IG51bGx9LCB7Im5hbWUiOiAic2VsZWN0ZWQiLCAiZmllbGRfbmFtZSI6ICJzZWxlY3RlZCIsICJwYW5kYXNfdHlwZSI6ICJ1aW50OCIsICJudW1weV90eXBlIjogInVpbnQ4IiwgIm1ldGFkYXRhIjogbnVsbH1dLCAiY3JlYXRvciI6IHsibGlicmFyeSI6ICJweWFycm93IiwgInZlcnNpb24iOiAiMTcuMC4wIn0sICJwYW5kYXNfdmVyc2lvbiI6ICIyLjIuMiJ9AAAAAAYAAABwYW5kYXMAAAcAAAAoAQAA7AAAALwAAACQAAAAZAAAADgAAAAEAAAABP///wAAAQIQAAAAHAAAAAQAAAAAAAAACAAAAHNlbGVjdGVkAAAAAGL///8IAAAANP///wAAAQIQAAAAFAAAAAQAAAAAAAAAAQAAAGEAAACK////CAAAAFz///8AAAECEAAAABQAAAAEAAAAAAAAAAEAAABiAAAAsv///wgAAACE////AAABAhAAAAAUAAAABAAAAAAAAAABAAAAZwAAANr///8IAAAArP///wAAAQIQAAAAGAAAAAQAAAAAAAAAAQAAAHIABgAIAAQABgAAAAgAAADY////AAABAxAAAAAUAAAABAAAAAAAAAABAAAAeQAAAMr///8AAAEAEAAUAAgABgAHAAwAAAAQABAAAAAAAAEDEAAAABgAAAAEAAAAAAAAAAEAAAB4AAYACAAGAAYAAAAAAAEA+AUAAEFSUk9XMQ==";
144
+ const pointDataBuffer = fflate.strToU8(atob(pointDataBase64), true);
145
+ const pointData = await loaders.parse(pointDataBuffer, ArrowLoader);
146
+ const hoverDataBase64 = "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";
147
+ const hoverDataBuffer = fflate.strToU8(atob(hoverDataBase64), true);
148
+ const unzippedHoverData = fflate.gunzipSync(hoverDataBuffer);
149
+ const hoverData = await loaders.parse(unzippedHoverData, ArrowLoader);
150
+ const labelDataBase64 = "H4sIALfzIGcC/32UW2+bQBCF/wraZxvNzN55q5RGrRS3VeW30oeNvSVIsLhgp22q/vcOEN8SKTzBSnC+c+YM3/6K36JYYi61VQ6ck2Yh/ohC5kY5QgQguRBNuI+NKMS7j8sqptiHfdxm8qZMVWhjto2Psel2bUx7sRBD/RRFQZgrMB68QeQv9qJAxIWoRKFhIe5F4fk0iMKof4sJgQkAASVJlBOByslKR+CsxTPBh0NV1anKbsMmlqnttrEZspC2ZVrHNHT9bdP9OkO4HGZtcJO2U5M2SrwWZ/8kQYIjr2Z1yo2RhkYHF/7v7lbZ+8fQHMK+7lKZWDhbx9CWaRVSqOJ1BJRbabR1Cmmm0DPFaH2kwBcRLIGnYDQBOKMnCsw9edTakTEXFCFVB1bLVpP9s6DNrUZlweFJ0U+KCHqStPJl6N4yhiRLfhJkBOK3NcjpE0fFVdg81ClmdzH0ieMv0+fdvm7rp+cc1nHzkOqfhzi8UQA9oYzDZBL30jvxuNHxG1rLo3dNaLXy7i2Qr13YtmF3mbokduS9lsfi2bl4c+wSXqXurQfp0LpTCFJpg45PL2JfHRr23G1DU6ZPYX/oQ5MdR1GmL323icPATGcUlWu+UJG1M8rYv7GG8zRIXZOwLEpvFWiyEwiTSeN5LQHVmeM5et7Amxh3ZTpnse5Dna4IIOdRei+RrJoI1LyEzs1ZvOqDAU4d0Bt/HAJYHox3l3VgnTT86Po29ssy3Ych8v7xc9yEYT9uJ9+XiX8L9eaiEXjcxnHFRoa5CUgniO//Ac3DWNWOBAAA";
151
+ const labelDataBuffer = fflate.strToU8(atob(labelDataBase64), true);
152
+ const unzippedLabelData = fflate.gunzipSync(labelDataBuffer);
153
+ const labelData = await loaders.parse(unzippedLabelData, JSONLoader);
154
+
155
+
156
+ const DATA = {src: pointData.data, length: pointData.data.x.length}
157
+
158
+ const container = document.getElementById('deck-container');
159
+ const pointLayer = new deck.ScatterplotLayer({
160
+ id: 'dataPointLayer',
161
+ data: DATA,
162
+ getPosition: (object, {index, data}) => {
163
+ return [data.src.x[index], data.src.y[index]];
164
+ },
165
+
166
+ getRadius: 0.1,
167
+
168
+ getFillColor: (object, {index, data}) => {
169
+ return [
170
+ data.src.r[index],
171
+ data.src.g[index],
172
+ data.src.b[index],
173
+ 180
174
+ ]
175
+ },
176
+ getLineColor: (object, {index, data}) => {
177
+ return [
178
+ data.src.r[index],
179
+ data.src.g[index],
180
+ data.src.b[index],
181
+ 32
182
+ ]
183
+ },
184
+ getLineColor: [250, 250, 250, 128],
185
+ getLineWidth: 0.001,
186
+ highlightColor: [170, 0, 0, 187],
187
+ lineWidthMaxPixels: 8,
188
+ lineWidthMinPixels: 0.1,
189
+ radiusMaxPixels: 24,
190
+ radiusMinPixels: 0.01,
191
+ radiusUnits: "common",
192
+ lineWidthUnits: "common",
193
+ autoHighlight: true,
194
+ pickable: true,
195
+ stroked: true
196
+ });
197
+ const labelLayer = new deck.TextLayer({
198
+ id: "textLabelLayer",
199
+ data: labelData,
200
+ pickable: false,
201
+ getPosition: d => [d.x, d.y],
202
+ getText: d => d.label,
203
+ getColor: d => [d.r, d.g, d.b],
204
+ getSize: d => d.size,
205
+ sizeScale: 1,
206
+ sizeMinPixels: 18,
207
+ sizeMaxPixels: 36,
208
+ outlineWidth: 8,
209
+ outlineColor: [238, 238, 238, 221],
210
+ getBackgroundColor: [255, 255, 255, 64],
211
+ getBackgroundPadding: [15, 15, 15, 15],
212
+ background: true,
213
+ characterSet: "auto",
214
+ fontFamily: "Roboto",
215
+ fontWeight: 900,
216
+ lineHeight: 0.95,
217
+ fontSettings: {"sdf": true},
218
+ getTextAnchor: "middle",
219
+ getAlignmentBaseline: "center",
220
+ lineHeight: 0.95,
221
+ elevation: 100,
222
+ // CollideExtension options
223
+ collisionEnabled: true,
224
+ getCollisionPriority: d => d.size,
225
+ collisionTestProps: {
226
+ sizeScale: 3,
227
+ sizeMaxPixels: 36 * 2,
228
+ sizeMinPixels: 18 * 2
229
+ },
230
+ extensions: [new deck.CollisionFilterExtension()],
231
+ });
232
+
233
+
234
+ const deckgl = new deck.DeckGL({
235
+ container: container,
236
+ initialViewState: {
237
+ latitude: 2.1977801,
238
+ longitude: -0.084878646,
239
+ zoom: 6.143425800644859
240
+ },
241
+ controller: true,
242
+
243
+ layers: [pointLayer, labelLayer],
244
+
245
+
246
+ getTooltip: ({index}) => hoverData.data.hover_text[index]
247
+ });
248
+
249
+ document.getElementById("loading").style.display = "none";
250
+
251
+
252
+ function selectPoints(item, conditional) {
253
+ var layerId;
254
+ if (item) {
255
+ for (var i = 0; i < DATA.length; i++) {
256
+ if (conditional(i)) {
257
+ DATA.src.selected[i] = 1;
258
+ } else {
259
+ DATA.src.selected[i] = 0;
260
+ }
261
+ }
262
+ layerId = 'selectedPointLayer' + item;
263
+ } else {
264
+ for (var i = 0; i < DATA.length; i++) {
265
+ DATA.src.selected[i] = 1;
266
+ }
267
+ layerId = 'dataPointLayer';
268
+ }
269
+ const selectedPointLayer = pointLayer.clone(
270
+ {
271
+ id: layerId,
272
+ data: DATA,
273
+ getFilterValue: (object, {index, data}) => data.src.selected[index],
274
+ filterRange: [1, 2],
275
+ extensions: [new deck.DataFilterExtension({filterSize: 1})]
276
+ }
277
+ );
278
+ deckgl.setProps(
279
+ {layers:
280
+ [selectedPointLayer].concat(deckgl.props.layers.slice(1,))
281
+ }
282
+ );
283
+ }
284
+
285
+ const search = document.getElementById("search");
286
+ search.addEventListener("input", (event) => {
287
+ const search_term = event.target.value.toLowerCase();
288
+ selectPoints(search_term, (i) => hoverData.data.hover_text[i].toLowerCase().includes(search_term));
289
+ }
290
+ );
291
+
292
+
293
+ </script>
294
+ </html>