Rockhopper
Interactive virtual field trips with point clouds
Install / Use
/learn @samthiele/RockhopperREADME
About
Rock-hopper is a minimalist tool for creating web-based virtual field trips (VFT) with a geological twist. It's main focus is to combine: (1)
- dense 3D point cloud data representing topographic features or digital outcrops
- rich explanatory content and media (e.g., field photographs) or data (e.g., stereonets, tabular data) stored in easy-to-make and easy-to-edit markdown (.md) files.
Achieving this involves two key functions, each forming a part of rock-hopper:
- a React front-end viewer for rendering content (see /src ).
- a python-based toolbox for converting pointcloud data the required (streamable) format and helping to build and structure virtual fieldtrip content.
Demonstration
To see what RockHopper can do, please see the virtual field trip we have created for La Palma:
Tutorial
Installation. RockHopper can be easily installed using a combition of pip and git: try running pip install git+https://github.com/samthiele/rockhopper.git in your favourite python environment.
Usage. A jupyter notebook introducing how RockHopper and python can be used to create a VFT is included in the examples directory. This can be used as a guide to creating a new VFT, converting point cloud content to a streamable zarr format, and running a local development server.
This Jupyter Notebook should be viewed in parallel to the tutorial VFT explaining how rockhopper VFTs can be edited through a web browser during development mode.
Deployment. Once a RockHopper field trip has been developed locally, it can be uploaded onto any static web server for public access. One way to do this is to upload the streamable zarr data (stored in the cloud_path specified during VFT creation) to file storage like Google Cloud, and then build a GitHub pages site to host the markdown and json content defining the VFT (stored in the vft_path defined during VFT creation). This uses GitHub for free web hosting, and - better still - allows community driven VFTs that are open-source and can be easily adapted for different purposes. Alternatively, the zarr data, markdown and json files can all be hosted on a single web server.
See the introduction tutorial above for more details on deployment.
Gallery
If you have used RockHopper to create a VFT, please let us know about it in the Discussions forum so I can add it to this list :-)
And if you're looking for inspiration, check out some of these tours:
-
Rockhopper VFT tutorial - A VFT to teach you how to build rockhopper VFTs. Very meta!
-
Magma plumbing systems on La Palma, Spain - learn all about the volcanic history of La Palma (Canary Islands).
-
Epithermal silver veins of the Freiberg district, Germany - explore historic silver mines of the Freiberg region.
-
Hyperspectral mapping at Roșia Poieni, Romaina - see some different 3D hyperspectral data products created for a porphyry copper mine in Romania.
Why point clouds?
Point clouds, rather than e.g., textured meshes, are a core part of rock-hopper's design philosophy. The key logic here is that most data -- from maps and textured meshes to 3D geological models or volumetric geophysical inversions can, with a little effort, be converted to dense 3D point clouds. This means a single, simple front-end can be used to visualise a wide range of different data types.
Bugs and other questions
Please report bugs through the issues page, or share other questions and ideas in the discussion forum. I'm more than happy to help get you started with VFT construction, so long as the final tour will be made public and open-source, so don't hesitate to reach out.
Finally, if you use RockHopper or it's derived tours, then give us a GitHub Star! :star2:
