Data visualization plays a critical role in making complex datasets, such as those associated with big data, more understandable by representing them through visual formats like charts, and maps. This approach enables efficient extraction of meaningful insights from large volumes of data, revealing trends, patterns, and anomalies that might otherwise remain hidden. Our team explores various techniques for presenting information in a clear and user-friendly manner, as well as evaluating its usability. We specialize in dashboard design, geovisualization, and multidimensional data processing. Our technology stack primarily includes D3.js, Leaflet, well-known visualization libraries like Nivo and Chart.js, along with other web frameworks based on JavaScript/TypeScript, HTML, and CSS.
One of the projects we are currently working on is Geovisto. It is a flexible toolkit designed for creating interactive geospatial visualizations with minimal programming effort. It combines a user-friendly interface for non-programmers with an extensible API for developers, allowing the creation of multilayered map visualizations from various data sources. Geovisto enables users to prototype map instances, export their configurations, and explore data through custom geographical objects and multiple layers. Its modular architecture, based on a core npm package and additional tools, supports a wide range of geovisualization needs, making it suitable for diverse applications, including IoT sensor monitoring and analytical tools.
The library is based on Leaflet and D3.js. It is designed to be easily extensible and customizable. It provides a set of predefined map layers and tools to customize the layers. Examples of the layers are Tile, Choropleth, Marker and Connections layers. The Tile layer serves as the base map layer, utilizing the Leaflet Tile Layer API to display underlying maps from existing tile providers. This is particularly useful when data needs to be linked to real geographic locations. The Choropleth layer allows for the use of GeoJSON polygon specifications to represent geographic regions and connect them with data. Unlike basic choropleth widgets, Geovisto's implementation can handle custom geographic area definitions, primarily working with world country specifications, but adaptable to other GeoJSON files. This approach offers greater scalability, allowing for use across different levels of detail (e.g., countries, districts, or custom areas), with the ability to adjust for foreign policy considerations like disputed territories. The Marker layer works with GeoJSON point specifications to visualize data at exact geographic locations using markers. Each marker is uniquely identified, but to avoid clutter when many markers are close together, the Leaflet.markercluster plugin is used to group and aggregate markers. The Connection Layer visualizes relationships between geospatial locations as edges, allowing users to select two dimensions (from and to) to represent the nodes of the edges, with the option to set a value to indicate the strength of the connections.
We cooperate with students in order to develop new layers (heatmap, spikemap, bubblemap, dotmap, etc...) and features (support of time data dimension) and improve the library. See geovisto.com.
Each year we supervise a number of bachelor and master theses. We emphasize the applicability of the results to practice and good final grades.
Dexter@FIT
Faculty of Information Technology
Brno University of Technology
Božetěchova 2, 612 66 Brno, Czech Republic