CaveMeterNG – Next Generation

CaveMeter is an android app for easy survey of caves.

We have used it a few times and got ideas for more features which would help a lot. Unfortunately the author didn’t want to implement the original request and has not published the source code.

So I decided to write the tool from scratch which took nearly a week to complete the basic functions implementing the two features we wanted.

Finally it has become more than I’ve expected:


  • All data stored in app’s SQLite database
  • Database JSON dump function for automated data processing on PC
  • CSV Import and Export of measured data (fully compatible to CaveMeter)
  • Snap vertical angle to -90° 0° +90°
  • Reference scanning (multiple reference points from current location)
  • Display last 20 measure points when adding a new one
  • Optional save of camera picture with the measurement
  • Rename cave, define origin point (first point and its corresponding GPS coordinates)
  • Get the declination of current position
  • Correction of magnetic north to real north using declination value
  • 3D projected view of the survey done so far (excellent to find an older point number to continue survey from there)

What is missing at the moment?

  • cave note scratchpad (drawing)
  • audio note
  • file chooser for import/export

Download application as APK file

Download/install the CaveMeterNG Version 1.3
(or previous version: CaveMeterNG Version 1.2)

Changelog V1.3:

  • Bugfix on low density devices and backwards compatibility down to android 2.3
  • Set camera preview resolution to minimum to reduce cpu usage a bit
  • Added capability to project coordinates in gps activity (point to cave entrance from a location where you have better gps signal)

Changelog V1.2:

  • Bugfix „point from“ not set to last „point to“
  • automatic JSON Database import if empty database and existing CaveMeterNG.json file

Changelog V1.1:

  • Bugfix on Android 4.4
  • Lock vertical angle changed to „Snap to -90° 0° +90°“
  • Show compass sensor accuracy (4 levels)
  • 3D projection: added rotation mode

First launch after install

When you launch CaveMeterNG for the first time it creates an empty database.

The very required first steps therefore are:

  • click settings (JSON database dump will be imported if file exists!)
  • enter name of the new cave and create one

Now you are ready to start your survey. If you want to test the app you also can import the demo data: click settings again, then import: when no previous export file exists in the data folder, you will be asked to import demo data.

Start your underground survey

The measure process is similar using the original cavemeter (see german documentation here), but with CaveMeterNG you got some helpers:

  • You don’t need to remember the last measure point number where you entered a way which led to a dead end. Simply look at the last measured points list for your comment or open the 3D view
  • You can lock the vertical angle for a clean scan of horizontal floor
  • With the „reference scan“ feature you are able to do multiple measures from your current point. This is very useful to approximate cavern dimensions

Cave origin settings

The origin point usually is your first „From point“ of the survey.

Latitude, longitude and the elevation values belong to this point!

The origin is used as starting point to calculate the XYZ coordinates for 3D View of course.

Use the „Get from GPS“ button outside the cave to get all the values (including the approximate declination for compass correction) or enter them manually.
New since version 1.3: You dont have to measure directly at the cave entrance. You can measure the coordinates from any point from where the entrance is visible:
Measure horizontal/vertical/distance by pointing to the entrance and input the values to the projection fields. Latitude, longitude and elevation of the cave entrance will be projected from your current location.

Realtime 3D View of your survey

At first make sure you have set the Origin point of your cave to the first measure „from“ point, then you open the 3D map anytime with actual data from the main screen.

Note: the screenshots below are resized to fit, you can view the original size

3D View of the cave (top view perspective)
Zooming and panning
Bounding box around the complete cave

Data import and export / where are my files?

The application stores its data onto the external storage in a new directory called „CaveMeterNG“.

There will be one subdirectory per cave, named „-“ where the following files are stored:

  • data.txt: CSV (tabulator delimited) measurement data. This file is compatible with the original CaveMeter app
  • *.jpg: camera photos including the point numbers and timestamp in the filename

Import function is enabled if data.txt exists in the cave data directory.

Export function creates or overwrites data.txt

Database JSON export will be created in the main directory since it contains everything (all caves, all data points).