Skip to content

Data Structure – Tour Data & Markers

The tour data used by the application is stored in the static/data/tours/ directory as JSON files. These files contain complete information for each individual tour, including its steps and destinations (markers). When the application loads, this data is transferred into the global state and displayed in the UI.

Tour Overview – tour_overview.json

  • This file contains a short list of all available tours:
[
  {
    "id": "tour_eso",
    "name": "ESO-Tour",
    "short_desc": "Tour for first semesters"
  },
  {
    "id": "tour_school",
    "name": "schoolltour",
    "short_desc": "Tour for students"
  },
  {
    "id": "tour_tourism",
    "name": "Bremen Tourism",
    "short_desc": "Tour for bremen tourism"
  }
]

Tourdetails

  • tour_eso.json
  • This file contains all information about a tour, including its individual steps:

```json { "id": "tour_eso", "name": "ESO-Tour", "short_desc": "Tour for the first semesters", "steps": [ { "id": "step_reception_intro", "title": "greeting", "expanded": false, "isEditing": false, "content": "The reception, where we welcome the first-year students", "editingContent": false, "destination": { "marker": "reception_area" } } ] } ````

Marker Information

  • The file marker.json contains a list of locations (so-called “markers”) that serve as destinations within tours. Each marker has a unique ID, a description, and a position within the space:

```json { "reception_area": { "description": "reception area on the ground floor", "position": { "x": 2.3, "y": 0.0, "z": -1.4 } }, "room_101": { "description": "seminar room 101", "position": { "x": 5.1, "y": 0.0, "z": 3.2 } }, "lab_corner": { "description": "corner in the labrotory area", "position": { "x": -1.8, "y": 0.0, "z": 4.0 } } } ````

Linking with Tour Data

In the JSON files of individual tours (e.g., tour_eso.json), each step references a marker via the attribute destination.marker. This marker ID must match an entry in marker.json for the step to be correctly assigned.

Note on Expandability

The data structure is easy to extend: New tours can be added simply by creating additional JSON files in the static/data/tours/ directory. Markers can be centrally managed in marker.json and reused across any number of tours.