3.2 Simple file format for data sets
Chart Flight expects data sets to be stored in CSV files, i.e. text files with comma separated values. This is a very simple, but widely used format to exchange data be tween different spreadsheet or database applications. Table 1 provides a small example covering two data tables for the actual chart flight, which implies that we want to create only two three-dimensional diagrams,and a third one for the summary chart. These tables can be easily converted to a CSV file using commas as column separators. The resulting CSV file contains a set of tables that are separated by an empty line. The first table in the data set will be assigned to the first user-defined location and considered first during a chart flight, and so on. Users who want to create summary charts as well have to append these data to the end of the same file. The three tables in Table 1 contain both column and row headers
Diagram 1 Column 1 Column 2 Row 1 50 80 Row 2 50 20 Row 3 30 50
Diagram 2 Column 1 Column 2 Column 3 Row 1 21 70 50 Row 2 66 9 40
Summary chart Column 1 Column 2 Row 1 70 24 Row 2 54 56 Row 3 26 129 Row 4 99 12
Table 1: A small example of a data set accepted by Chart Flight, which provides data for two three-dimensional diagrams on the map and a two-dimensional summary chart.
(printed in italics). The column headers are used to name the individual charts, for instance, one pie out of all stacked pie charts at a chosen location. Each column of a table provides the data for such an individual chart. In contrast, a row header describes a single element of an individual chart, for instance, one sector of a pie chart. In addition, the row header defines the color of the element. This means that elements with equal row headers will be colored the same. For example, if you assign the color red to the row header Row 1, every row with that description will be colored red. Finally, the upper left entry of a table might be used to describe the whole diagram or its location.
4 Architecture of Chart Flight
The rendering server consists of two components. For generating and rendering a scene we chose Blender, a free open source 3D content creation suite that provides a Python scripting interface [Blender2009]. The second component,which is actually connecting the web server and Blender is a small Java console application called Job Listener. This Java application is essential for providing Chart Flight to more than one user at a time, because it manages the job database.