Skip to content

joemeszaros/speleo-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

584 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆ‡ Speleo Studio

Speleo Studio Logo

A modern web application for cave visualization and survey management

Live Demo License GitHub Issues GitHub Stars

๐ŸŒŸ Overview

Speleo Studio is a comprehensive web-based application designed specifically for cave exploration, surveying, and visualization. Built with modern web technologies, it provides professional tools for 3D cave system visualization, survey data management, and analysis - all without requiring any software installation.

Whether you're a professional speleologist, cave researcher, or enthusiast, Speleo Studio offers an intuitive platform to visualize, analyze, and manage cave survey data with unprecedented ease and precision.

โœจ Key Features

๐ŸŽฏ 3D Visualization

  • Interactive 3D rendering powered by Three.js
  • Real-time navigation with zoom, pan, and rotation controls
  • Multiple view modes: Plan, Profile, and 3D perspectives
  • Customizable appearance with various color schemes and gradients
  • Surface mesh visualization for detailed cave topology

๐Ÿ“Š Survey Data Management

  • Multi-format import: TopoDroid CSV, Polygon, JSON, PLY files
  • Real-time editing of survey stations and connections
  • Data validation and error detection
  • Project management with automatic saving
  • Export capabilities to multiple formats (PNG, DXF, Polygon, JSON)

๐Ÿ› ๏ธ Professional Tools

  • Dip & Strike Calculator for geological analysis
  • Shortest Path Finder for route optimization
  • Point Selection with raycasting technology
  • Grid overlay for precise measurements
  • Print functionality for documentation

๐ŸŒ Modern Web Technology

  • No installation required - runs entirely in your browser
  • Cross-platform compatibility (Windows, macOS, Linux)
  • Responsive design that works on desktop and tablet devices
  • Local data storage for privacy and offline capability

๐ŸŒ Multi-Language Support

  • Internationalization (i18n) built-in with English and Hungarian languages
  • Extensible translation system for easy addition of new languages
  • Complete UI localization including menus, tooltips, and messages

๐Ÿš€ Quick Start

Try It Now

Visit the live application: Speleo Studio Live Demo

Local Development

# Clone the repository
git clone https://github.com/joemeszaros/speleo-studio.git
cd speleo-studio

# Serve the application (no build process required!)
# Option 1: Using Python
python -m http.server 8000

# Option 2: Using Node.js
npx serve .

# Option 3: Using any web server
# Simply open index.html in your browser

Then open http://localhost:8000 in your browser.

๐Ÿ“ Supported File Formats

Format Import Export Description
TopoDroid CSV โœ… โœ… Popular mobile cave surveying app format
Polygon โœ… โœ… Traditional cave mapping software format
JSON โœ… โœ… Modern structured data format
PLY โœ… โŒ 3D surface mesh format
PNG โŒ โœ… High-quality image export
DXF โŒ โœ… CAD-compatible vector format

๐ŸŽฎ How to Use

  1. Import Data: Load your cave survey data from TopoDroid, Polygon, or JSON files
  2. Visualize: Explore your cave system in interactive 3D
  3. Edit: Modify stations, connections, and attributes as needed
  4. Analyze: Use built-in tools for geological analysis and pathfinding
  5. Export: Save your work in various formats for documentation or further analysis

๐Ÿ—๏ธ Technology Stack

  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • 3D Graphics: Three.js for WebGL rendering
  • Data Management: Tabulator.js for table operations
  • Storage: Browser LocalStorage and IndexedDB for data persistence

๐Ÿค Contributing

We welcome contributions from the speleology community! Here's how you can help:

๐Ÿ› Bug Reports

Found a bug? Please report it on our GitHub Issues page.

โœจ Feature Requests

Have an idea for a new feature? We'd love to hear about it!

๐ŸŒ Translations

Help make Speleo Studio available in more languages by contributing translations.

๐Ÿ’ป Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“š Documentation

๐ŸŽฏ Project Goals

Speleo Studio aims to:

  • Replace legacy software like Polygon (used in Hungary since the 1990s)

  • Friend of TopoDroid users provide a platform for TopoDroid users whey they can manage their surveys on desktop

  • Improve accessibility by eliminating installation requirements

  • Foster collaboration through open-source development

  • Support scientific research with professional analysis tools

๐Ÿ‘จโ€๐Ÿ’ป About the Developer

Mรฉszรกros Jรณzsef (Joe) - Passionate caver and software developer

  • ๐Ÿ”— GitHub: @joemeszaros
  • ๐Ÿ“ง Email: joe.meszaros at gmail.com
  • ๐Ÿ•ณ๏ธ Background: Cave explorer who learned web development to create better tools for the speleology community

๐Ÿ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Barlangtani Intรฉzet for testing and suggestions
  • Three.js community for the amazing 3D graphics library
  • Open source contributors who make projects like this possible

โญ If you find Speleo Studio useful, please give it a star! โญ

Made with โค๏ธ for the speleology community