@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_P-bnBeA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_G-bnBeA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_B-bnBeA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_N-bnBeA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_M-bnBeA.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_C-bk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_P-bnBeA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_G-bnBeA.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_B-bnBeA.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_N-bnBeA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_M-bnBeA.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:'Manrope';font-style:normal;font-weight:700;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE9_C-bk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} @font-face{font-display:swap;font-family:'Volkhov';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/volkhov/v17/SlGQmQieoJcKemNecTUEhQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
Cave Database – Community maintained database of all things cave and cave diving

Cave Planner file format

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 YAML1 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.

Metadata

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