Cambios
En el instante 21 de octubre de 2025, 8:59:24 UTC,
-
Añadido recurso Dash Sylvereye: A WebGL-powered Library for Dashboard-driven Visualization of Large Street Networks a Dash Sylvereye: A WebGL-powered Library for Dashboard-driven Visualization of Large Street Networks
f | 1 | { | f | 1 | { |
2 | "author": "A Garcia-Robledo, M Zangiabady", | 2 | "author": "A Garcia-Robledo, M Zangiabady", | ||
3 | "author_email": null, | 3 | "author_email": null, | ||
4 | "creator_user_id": "a3da3ec9-3fd4-47a4-8d04-0a90b09614e0", | 4 | "creator_user_id": "a3da3ec9-3fd4-47a4-8d04-0a90b09614e0", | ||
5 | "extras": [ | 5 | "extras": [ | ||
6 | { | 6 | { | ||
7 | "key": "A\u00f1o", | 7 | "key": "A\u00f1o", | ||
8 | "value": "2021" | 8 | "value": "2021" | ||
9 | }, | 9 | }, | ||
10 | { | 10 | { | ||
11 | "key": "DOI", | 11 | "key": "DOI", | ||
12 | "value": "https://doi.org/10.48550/arXiv.2105.14362" | 12 | "value": "https://doi.org/10.48550/arXiv.2105.14362" | ||
13 | }, | 13 | }, | ||
14 | { | 14 | { | ||
15 | "key": "Google Scholar URL", | 15 | "key": "Google Scholar URL", | ||
16 | "value": | 16 | "value": | ||
17 | gesize=100&sortby=pubdate&citation_for_view=b81TvMMAAAAJ:_FxGoFyzp5QC" | 17 | gesize=100&sortby=pubdate&citation_for_view=b81TvMMAAAAJ:_FxGoFyzp5QC" | ||
18 | }, | 18 | }, | ||
19 | { | 19 | { | ||
20 | "key": "Identificador hash", | 20 | "key": "Identificador hash", | ||
21 | "value": "343d058faed3" | 21 | "value": "343d058faed3" | ||
22 | }, | 22 | }, | ||
23 | { | 23 | { | ||
24 | "key": "Lugar de publicaci\u00f3n", | 24 | "key": "Lugar de publicaci\u00f3n", | ||
25 | "value": "arXiv preprint arXiv:2105.14362, 2021" | 25 | "value": "arXiv preprint arXiv:2105.14362, 2021" | ||
26 | }, | 26 | }, | ||
27 | { | 27 | { | ||
28 | "key": "Tipo", | 28 | "key": "Tipo", | ||
29 | "value": "Publicaci\u00f3n" | 29 | "value": "Publicaci\u00f3n" | ||
30 | }, | 30 | }, | ||
31 | { | 31 | { | ||
32 | "key": "Tipo de publicaci\u00f3n", | 32 | "key": "Tipo de publicaci\u00f3n", | ||
33 | "value": "Otro" | 33 | "value": "Otro" | ||
34 | }, | 34 | }, | ||
35 | { | 35 | { | ||
36 | "key": "URL directo", | 36 | "key": "URL directo", | ||
37 | "value": "https://arxiv.org/pdf/2105.14362" | 37 | "value": "https://arxiv.org/pdf/2105.14362" | ||
38 | } | 38 | } | ||
39 | ], | 39 | ], | ||
40 | "groups": [ | 40 | "groups": [ | ||
41 | { | 41 | { | ||
42 | "description": "", | 42 | "description": "", | ||
43 | "display_name": "Publicaciones", | 43 | "display_name": "Publicaciones", | ||
44 | "id": "8be672a5-4640-455e-a4f3-46b52b66c07b", | 44 | "id": "8be672a5-4640-455e-a4f3-46b52b66c07b", | ||
45 | "image_display_url": "", | 45 | "image_display_url": "", | ||
46 | "name": "publicaciones", | 46 | "name": "publicaciones", | ||
47 | "title": "Publicaciones" | 47 | "title": "Publicaciones" | ||
48 | } | 48 | } | ||
49 | ], | 49 | ], | ||
50 | "id": "eb588416-6afa-4784-9061-bd4205e69f7f", | 50 | "id": "eb588416-6afa-4784-9061-bd4205e69f7f", | ||
51 | "isopen": false, | 51 | "isopen": false, | ||
52 | "license_id": null, | 52 | "license_id": null, | ||
53 | "license_title": null, | 53 | "license_title": null, | ||
54 | "maintainer": null, | 54 | "maintainer": null, | ||
55 | "maintainer_email": null, | 55 | "maintainer_email": null, | ||
56 | "metadata_created": "2025-10-21T08:59:23.803060", | 56 | "metadata_created": "2025-10-21T08:59:23.803060", | ||
n | 57 | "metadata_modified": "2025-10-21T08:59:23.803068", | n | 57 | "metadata_modified": "2025-10-21T08:59:24.398505", |
58 | "name": "343d058faed3", | 58 | "name": "343d058faed3", | ||
59 | "notes": "State-of-the-art open network visualization tools like | 59 | "notes": "State-of-the-art open network visualization tools like | ||
60 | Gephi, KeyLines, and Cytoscape are not suitable for studying street | 60 | Gephi, KeyLines, and Cytoscape are not suitable for studying street | ||
61 | networks with thousands of roads since they do not support | 61 | networks with thousands of roads since they do not support | ||
62 | simultaneously polylines for edges, navigable maps, GPU-accelerated | 62 | simultaneously polylines for edges, navigable maps, GPU-accelerated | ||
63 | rendering, interactivity, and the means for visualizing multivariate | 63 | rendering, interactivity, and the means for visualizing multivariate | ||
64 | data. To fill this gap, the present paper presents Dash Sylvereye: a | 64 | data. To fill this gap, the present paper presents Dash Sylvereye: a | ||
65 | new Python library to produce interactive visualizations of primal | 65 | new Python library to produce interactive visualizations of primal | ||
66 | street networks on top of tiled web maps. Thanks to its integration | 66 | street networks on top of tiled web maps. Thanks to its integration | ||
67 | with the Dash framework, Dash Sylvereye can be used to develop web | 67 | with the Dash framework, Dash Sylvereye can be used to develop web | ||
68 | dashboards around temporal and multivariate street data by | 68 | dashboards around temporal and multivariate street data by | ||
69 | coordinating the various elements of a Dash Sylvereye visualization | 69 | coordinating the various elements of a Dash Sylvereye visualization | ||
70 | with other plotting and UI components provided by the Dash framework. | 70 | with other plotting and UI components provided by the Dash framework. | ||
71 | Additionally, Dash Sylvereye provides convenient functions to easily | 71 | Additionally, Dash Sylvereye provides convenient functions to easily | ||
72 | import OpenStreetMap street topologies obtained with the OSMnx | 72 | import OpenStreetMap street topologies obtained with the OSMnx | ||
73 | library. Moreover, Dash Sylvereye uses WebGL for GPU-accelerated | 73 | library. Moreover, Dash Sylvereye uses WebGL for GPU-accelerated | ||
74 | rendering when redrawing the road network. We conduct experiments to | 74 | rendering when redrawing the road network. We conduct experiments to | ||
75 | assess the performance of Dash Sylvereye on a commodity computer when | 75 | assess the performance of Dash Sylvereye on a commodity computer when | ||
76 | exploiting software acceleration in terms of frames per second, CPU | 76 | exploiting software acceleration in terms of frames per second, CPU | ||
77 | time, and frame duration. We show that Dash Sylvereye can offer fast | 77 | time, and frame duration. We show that Dash Sylvereye can offer fast | ||
78 | panning speeds, close to 60 FPS, and CPU times below 20 ms, for street | 78 | panning speeds, close to 60 FPS, and CPU times below 20 ms, for street | ||
79 | networks with thousands of edges, and above 24 FPS, and CPU times | 79 | networks with thousands of edges, and above 24 FPS, and CPU times | ||
80 | below 40 ms, for networks with dozens of thousands of edges. | 80 | below 40 ms, for networks with dozens of thousands of edges. | ||
81 | Additionally, we conduct a performance comparison against two | 81 | Additionally, we conduct a performance comparison against two | ||
82 | state-of-the-art street visualization tools. We found Dash Sylvereye | 82 | state-of-the-art street visualization tools. We found Dash Sylvereye | ||
83 | to be competitive when compared to the state-of-the-art visualization | 83 | to be competitive when compared to the state-of-the-art visualization | ||
84 | libraries Kepler.gl and city-roads. Finally, we describe a web | 84 | libraries Kepler.gl and city-roads. Finally, we describe a web | ||
85 | dashboard application that exploits Dash Sylvereye for the analysis of | 85 | dashboard application that exploits Dash Sylvereye for the analysis of | ||
86 | a SUMO vehicle traffic simulation.", | 86 | a SUMO vehicle traffic simulation.", | ||
n | 87 | "num_resources": 0, | n | 87 | "num_resources": 1, |
88 | "num_tags": 10, | 88 | "num_tags": 10, | ||
89 | "organization": { | 89 | "organization": { | ||
90 | "approval_status": "approved", | 90 | "approval_status": "approved", | ||
91 | "created": "2022-05-19T00:10:30.480393", | 91 | "created": "2022-05-19T00:10:30.480393", | ||
92 | "description": "Observatorio Metropolitano CentroGeo", | 92 | "description": "Observatorio Metropolitano CentroGeo", | ||
93 | "id": "b3b3a79d-748a-4464-9471-732b6c74ec53", | 93 | "id": "b3b3a79d-748a-4464-9471-732b6c74ec53", | ||
94 | "image_url": | 94 | "image_url": | ||
95 | "2022-05-19-001030.456616FullColor1280x1024LogoOnly.png", | 95 | "2022-05-19-001030.456616FullColor1280x1024LogoOnly.png", | ||
96 | "is_organization": true, | 96 | "is_organization": true, | ||
97 | "name": "observatorio-metropolitano-centrogeo", | 97 | "name": "observatorio-metropolitano-centrogeo", | ||
98 | "state": "active", | 98 | "state": "active", | ||
99 | "title": "Observatorio Metropolitano CentroGeo", | 99 | "title": "Observatorio Metropolitano CentroGeo", | ||
100 | "type": "organization" | 100 | "type": "organization" | ||
101 | }, | 101 | }, | ||
102 | "owner_org": "b3b3a79d-748a-4464-9471-732b6c74ec53", | 102 | "owner_org": "b3b3a79d-748a-4464-9471-732b6c74ec53", | ||
103 | "private": false, | 103 | "private": false, | ||
104 | "relationships_as_object": [], | 104 | "relationships_as_object": [], | ||
105 | "relationships_as_subject": [], | 105 | "relationships_as_subject": [], | ||
t | 106 | "resources": [], | t | 106 | "resources": [ |
107 | { | ||||
108 | "cache_last_updated": null, | ||||
109 | "cache_url": null, | ||||
110 | "created": "2025-10-21T08:59:24.436151", | ||||
111 | "datastore_active": false, | ||||
112 | "description": "State-of-the-art open network visualization | ||||
113 | tools like Gephi, KeyLines, and Cytoscape are not suitable for | ||||
114 | studying street networks with thousands of roads since they do not | ||||
115 | support simultaneously polylines for edges, navigable maps, | ||||
116 | GPU-accelerated rendering, interactivity, and the means for | ||||
117 | visualizing multivariate data. To fill this gap, the present paper | ||||
118 | presents Dash Sylvereye: a new Python library to produce interactive | ||||
119 | visualizations of primal street networks on top of tiled web maps. | ||||
120 | Thanks to its integration with the Dash framework, Dash Sylvereye can | ||||
121 | be used to develop web dashboards around temporal and multivariate | ||||
122 | street data by coordinating the various elements of a Dash Sylvereye | ||||
123 | visualization with other plotting and UI components provided by the | ||||
124 | Dash framework. Additionally, Dash Sylvereye provides convenient | ||||
125 | functions to easily import OpenStreetMap street topologies obtained | ||||
126 | with the OSMnx library. Moreover, Dash Sylvereye uses WebGL for | ||||
127 | GPU-accelerated rendering when redrawing the road network. We conduct | ||||
128 | experiments to assess the performance of Dash Sylvereye on a commodity | ||||
129 | computer when exploiting software acceleration in terms of frames per | ||||
130 | second, CPU time, and frame duration. We show that Dash Sylvereye can | ||||
131 | offer fast panning speeds, close to 60 FPS, and CPU times below 20 ms, | ||||
132 | for street networks with thousands of edges, and above 24 FPS, and CPU | ||||
133 | times below 40 ms, for networks with dozens of thousands of edges. | ||||
134 | Additionally, we conduct a performance comparison against two | ||||
135 | state-of-the-art street visualization tools. We found Dash Sylvereye | ||||
136 | to be competitive when compared to the state-of-the-art visualization | ||||
137 | libraries Kepler.gl and city-roads. Finally, we describe a web | ||||
138 | dashboard application that exploits Dash Sylvereye for the analysis of | ||||
139 | a SUMO vehicle traffic simulation.", | ||||
140 | "format": "HTML", | ||||
141 | "hash": "", | ||||
142 | "id": "01a67e74-f71d-4269-a22a-17685a247f26", | ||||
143 | "last_modified": null, | ||||
144 | "metadata_modified": "2025-10-21T08:59:24.403493", | ||||
145 | "mimetype": null, | ||||
146 | "mimetype_inner": null, | ||||
147 | "name": "Dash Sylvereye: A WebGL-powered Library for | ||||
148 | Dashboard-driven Visualization of Large Street Networks", | ||||
149 | "package_id": "eb588416-6afa-4784-9061-bd4205e69f7f", | ||||
150 | "position": 0, | ||||
151 | "resource_type": null, | ||||
152 | "size": null, | ||||
153 | "state": "active", | ||||
154 | "url": | ||||
155 | esize=100&sortby=pubdate&citation_for_view=b81TvMMAAAAJ:_FxGoFyzp5QC", | ||||
156 | "url_type": null | ||||
157 | } | ||||
158 | ], | ||||
107 | "state": "active", | 159 | "state": "active", | ||
108 | "tags": [ | 160 | "tags": [ | ||
109 | { | 161 | { | ||
110 | "display_name": "2021", | 162 | "display_name": "2021", | ||
111 | "id": "79560db5-a3ce-45a1-80a6-2de3f9c2cf63", | 163 | "id": "79560db5-a3ce-45a1-80a6-2de3f9c2cf63", | ||
112 | "name": "2021", | 164 | "name": "2021", | ||
113 | "state": "active", | 165 | "state": "active", | ||
114 | "vocabulary_id": null | 166 | "vocabulary_id": null | ||
115 | }, | 167 | }, | ||
116 | { | 168 | { | ||
117 | "display_name": "3d-rendering", | 169 | "display_name": "3d-rendering", | ||
118 | "id": "c0b8811d-261a-4337-9dcc-5ae6285de8ca", | 170 | "id": "c0b8811d-261a-4337-9dcc-5ae6285de8ca", | ||
119 | "name": "3d-rendering", | 171 | "name": "3d-rendering", | ||
120 | "state": "active", | 172 | "state": "active", | ||
121 | "vocabulary_id": null | 173 | "vocabulary_id": null | ||
122 | }, | 174 | }, | ||
123 | { | 175 | { | ||
124 | "display_name": "albertogarob", | 176 | "display_name": "albertogarob", | ||
125 | "id": "b079b3e9-8dbb-4423-88fb-f095153d314a", | 177 | "id": "b079b3e9-8dbb-4423-88fb-f095153d314a", | ||
126 | "name": "albertogarob", | 178 | "name": "albertogarob", | ||
127 | "state": "active", | 179 | "state": "active", | ||
128 | "vocabulary_id": null | 180 | "vocabulary_id": null | ||
129 | }, | 181 | }, | ||
130 | { | 182 | { | ||
131 | "display_name": "computer-graphics-images", | 183 | "display_name": "computer-graphics-images", | ||
132 | "id": "2e18beac-f73f-4942-afb3-8161456bd41d", | 184 | "id": "2e18beac-f73f-4942-afb3-8161456bd41d", | ||
133 | "name": "computer-graphics-images", | 185 | "name": "computer-graphics-images", | ||
134 | "state": "active", | 186 | "state": "active", | ||
135 | "vocabulary_id": null | 187 | "vocabulary_id": null | ||
136 | }, | 188 | }, | ||
137 | { | 189 | { | ||
138 | "display_name": "computer-science", | 190 | "display_name": "computer-science", | ||
139 | "id": "29cae056-cd7e-43f7-be5b-b25869a3fbf2", | 191 | "id": "29cae056-cd7e-43f7-be5b-b25869a3fbf2", | ||
140 | "name": "computer-science", | 192 | "name": "computer-science", | ||
141 | "state": "active", | 193 | "state": "active", | ||
142 | "vocabulary_id": null | 194 | "vocabulary_id": null | ||
143 | }, | 195 | }, | ||
144 | { | 196 | { | ||
145 | "display_name": "dash", | 197 | "display_name": "dash", | ||
146 | "id": "e41e669d-e3a1-4afc-9363-fb80dce5ae26", | 198 | "id": "e41e669d-e3a1-4afc-9363-fb80dce5ae26", | ||
147 | "name": "dash", | 199 | "name": "dash", | ||
148 | "state": "active", | 200 | "state": "active", | ||
149 | "vocabulary_id": null | 201 | "vocabulary_id": null | ||
150 | }, | 202 | }, | ||
151 | { | 203 | { | ||
152 | "display_name": "opengl", | 204 | "display_name": "opengl", | ||
153 | "id": "f187b379-c323-4fc3-81fb-df3693145af5", | 205 | "id": "f187b379-c323-4fc3-81fb-df3693145af5", | ||
154 | "name": "opengl", | 206 | "name": "opengl", | ||
155 | "state": "active", | 207 | "state": "active", | ||
156 | "vocabulary_id": null | 208 | "vocabulary_id": null | ||
157 | }, | 209 | }, | ||
158 | { | 210 | { | ||
159 | "display_name": "python-programming-language", | 211 | "display_name": "python-programming-language", | ||
160 | "id": "f2cabec5-7e47-4093-84d8-a93088ba0d9c", | 212 | "id": "f2cabec5-7e47-4093-84d8-a93088ba0d9c", | ||
161 | "name": "python-programming-language", | 213 | "name": "python-programming-language", | ||
162 | "state": "active", | 214 | "state": "active", | ||
163 | "vocabulary_id": null | 215 | "vocabulary_id": null | ||
164 | }, | 216 | }, | ||
165 | { | 217 | { | ||
166 | "display_name": "rendering-computer-graphics", | 218 | "display_name": "rendering-computer-graphics", | ||
167 | "id": "6b4242c4-9ced-4044-a898-182cd1e516ce", | 219 | "id": "6b4242c4-9ced-4044-a898-182cd1e516ce", | ||
168 | "name": "rendering-computer-graphics", | 220 | "name": "rendering-computer-graphics", | ||
169 | "state": "active", | 221 | "state": "active", | ||
170 | "vocabulary_id": null | 222 | "vocabulary_id": null | ||
171 | }, | 223 | }, | ||
172 | { | 224 | { | ||
173 | "display_name": "visualization", | 225 | "display_name": "visualization", | ||
174 | "id": "756e3958-c645-4b6f-bc16-b2d7413b6067", | 226 | "id": "756e3958-c645-4b6f-bc16-b2d7413b6067", | ||
175 | "name": "visualization", | 227 | "name": "visualization", | ||
176 | "state": "active", | 228 | "state": "active", | ||
177 | "vocabulary_id": null | 229 | "vocabulary_id": null | ||
178 | } | 230 | } | ||
179 | ], | 231 | ], | ||
180 | "title": "Dash Sylvereye: A WebGL-powered Library for | 232 | "title": "Dash Sylvereye: A WebGL-powered Library for | ||
181 | Dashboard-driven Visualization of Large Street Networks", | 233 | Dashboard-driven Visualization of Large Street Networks", | ||
182 | "type": "dataset", | 234 | "type": "dataset", | ||
183 | "url": | 235 | "url": | ||
184 | esize=100&sortby=pubdate&citation_for_view=b81TvMMAAAAJ:_FxGoFyzp5QC", | 236 | esize=100&sortby=pubdate&citation_for_view=b81TvMMAAAAJ:_FxGoFyzp5QC", | ||
185 | "version": null | 237 | "version": null | ||
186 | } | 238 | } |