Skip to content

Repository files navigation

Accurate Point Measurement in 3DGS

A New Alternative to Traditional Stereoscopic-View Based Measurements

Deyan Deng¹, Rongjun Qin¹*

¹ The Ohio State University
* Corresponding author

Project Page Hugging Face Spaces arXiv Paper PDF

This repository contains the official implementation for the 3DGS point measurement tool.

🔗 Resources

We provide a comprehensive suite of resources for this project:

🎥 Demo

Watch the demonstration video:

3DGS Measurement Tool Demo

🤗 Try Online

Try the interactive demo on HuggingFace Spaces: 3DGS Measurement Tool

✨ Features

  • Interactive 3D Visualization: Navigate and explore 3DGS models using Cesium
  • Point Measurement: Measure 3D points via multi-ray triangulation for high accuracy, with uncertainty ellipsoids.
  • Geometry Creation: Create polylines and polygons from measured points.
  • Standard Data Export: Export points, polylines, and polygons to GeoJSON, KML, and CSV.

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • Modern web browser with WebGL support

Installation

  1. Clone the repository:

    git clone https://github.com/GDAOSU/3dgs_measurement_tool.git
    cd 3dgs_measurement_tool
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    • This step is optional for local development. The application works out-of-the-box.
    • To configure the application for deployment or to use the "Custom S3 Model" feature, create a .env.local file by copying the provided .env.example.
    • See .env.example for a list of available variables and their descriptions.

Development

Start the development server:

npm run dev

The application will be available at http://localhost:5173

Building

Build for production:

npm run build

Preview the production build:

npm run preview

📋 Usage

  1. Load a 3DGS Model: Upload or select a 3D Gaussian Splatting model
  2. Create Measurement Points: Click multiple times in the 3D scene to cast rays and compute an intersection point. The tool will visualize the rays and the resulting 3D point with its uncertainty ellipsoid.
  3. Create Geometries: Use the created points to define polylines and polygons.
  4. Export Results: Download measurement data in supported formats

🏗️ Project Structure

├── src/
│   ├── components/           # React components
│   │   ├── CesiumViewer.jsx         # 3D visualization component
│   │   ├── GeometryCreatorPanel.jsx # Geometry creation tools
│   │   └── MeasurePanel.jsx         # Measurement interface
│   ├── pages/                # Application pages
│   │   └── Home.jsx                # Main application page
│   ├── utils/                # Utility functions
│   │   └── awsConfig.js            # AWS S3 configuration
│   ├── App.jsx               # Main application component
│   └── main.jsx              # Application entry point
├── index.html               # HTML template
├── vite.config.js           # Vite configuration
└── package.json             # Project dependencies

📦 Dependencies

Core dependencies include:

  • react - UI framework
  • cesium & resium - 3D visualization
  • @mui/material - Component library
  • react-router-dom - Routing

See package.json for complete dependency list and versions.

📝 Citation

If you use this tool or the methodology in your research, please cite our paper:

@misc{deng2026accurate,
      title={Accurate Point Measurement in 3DGS -- A New Alternative to Traditional Stereoscopic-View Based Measurements}, 
      author={Deyan Deng and Rongjun Qin},
      year={2026},
      eprint={2603.24716},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

About

[ISPRS Congress, 2026] Accurate Point Measurement in 3DGS - A New Alternative to Traditional Stereoscopic-View Based Measurements.

Resources

Stars

18 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages