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