The cave planner file format is for use with Bombimi Cave Planner and is used to describe a cave schematic suitable for loading in to the application and calculating dive routes. It uses YAML as the file format and this document describes the elements that are supported.
The format is broadly separated into three sections that provide information about the cave it describes and a graph that describes its geometry. The metadata describes information about the cave. Nodes are navigation points normally associated with tags or waypoints and edges connect two nodes. These sections are described below.
name: Tank cave
description: Tank Cave, South Australia
home-node: "ac02cd13-ad18-491a-b0f2-be28c86970bf"
release-notes:
- date: 2024/03/28
text: Added tag for K7
contributors:
- Bob Marley
- Frank Sinatra
Property | Type | Description |
---|
name | string | Name of the cave to display to users |
description | string | Extended information about the cave |
home-node | guid | GUID of the node to consider the base for planning. This will be where the map zooms to when the user clicks the home button |
release-notes | array(release-note) | Array of release notes |
contributors | array(string) | Array of contributor names |
Release note
Property | Type | Description |
---|
date | YYYY/MM/DD | Date the release note was issued |
text | string | Description of change |
Nodes
Nodes are either navigation points that the user can select to create their dive route or items of information such as direction markers or text.
nodes:
- guid: "66dd16fe-5c2f-4a97-90a3-6a3de9e2eb7b"
id: "n0"
type: "tag"
name: "R8"
depth: 11
x: 3971.187183527988
y: 1523.992453214622
Property | Type | Description |
---|
guid | GUID | Unique identifier of the node |
id | string | User friendly text ID for the node, must be unique (deprecated) |
type | TagType (see below) | What type this node is |
name | string | User friendly display name for this node |
depth | float | Depth of the node in meters |
x | float | X coordinate of the node |
y | float | Y coordinate of the node |
TagType
Type | Description |
---|
label | General label to display |
tag | A name tag within the cave the user can visibly use to assist with navigation |
direction_marker | A marker physically present in the cave that indicates the nearest exit and distance |
waypoint | A non physically visible marker that it is used to display the direction of the passage |
Edges
An edge connects two nodes with 0 or more points along the route.
- guid: "bacb15f2-1d69-4f44-8d0b-021efc4717d0"
from: "64b1c89d-b991-426e-8612-0aaeb71d8805"
to: "95c39511-aa0c-4a96-bc4f-3773117b687b"
color: "#FF6666"
type: "line"
id: "e796"
waypoints:
- x: 7284.074913808728
y: 2856.2121518283266
- x: 7255.802930063977
y: 2850.0
- x: 7230.0
y: 2863.490088237866
- x: 7230.0
y: 2884.2042149419403
Property | Type | Description |
---|
guid | GUID | Unique identifier of the edge |
from | GUID | Node this edges runs from |
to | GUID | Node this edge runs to |
color | HTML Hex ARGB | Color to render this edge |
type | Edge type (see below) | What type this edge is |
id | string | User friendly text ID for the node, must be unique (deprecated) |
waypoints | array(position) | Array of points along this edge |
EdgeType
Type | Description |
---|
fixed | Fixed line within cave |
jump | No fixed line but indicates accessible route |
Position
Type | Description |
---|
x | X coordinate |
y | Y coordinate |