{"id":40882470,"url":"https://github.com/bertt/qgis_gaussiansplats_plugin","last_synced_at":"2026-01-26T05:01:21.774Z","repository":{"id":333461841,"uuid":"1137418324","full_name":"bertt/qgis_gaussiansplats_plugin","owner":"bertt","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-21T08:42:06.000Z","size":5719,"stargazers_count":6,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-22T12:49:02.776Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bertt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-19T10:46:13.000Z","updated_at":"2026-01-20T16:29:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bertt/qgis_gaussiansplats_plugin","commit_stats":null,"previous_names":["bertt/qgis_gaussiansplats_plugin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bertt/qgis_gaussiansplats_plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertt%2Fqgis_gaussiansplats_plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertt%2Fqgis_gaussiansplats_plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertt%2Fqgis_gaussiansplats_plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertt%2Fqgis_gaussiansplats_plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertt","download_url":"https://codeload.github.com/bertt/qgis_gaussiansplats_plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertt%2Fqgis_gaussiansplats_plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28679137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T01:00:35.747Z","status":"online","status_checked_at":"2026-01-23T02:00:08.296Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-22T01:16:44.923Z","updated_at":"2026-01-23T02:36:39.612Z","avatar_url":"https://github.com/bertt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QGIS Gaussian Splats Plugin\n\nA QGIS plugin for loading and visualizing 3D Gaussian Splats from URL, similar to ArcGIS Pro 3.6.\n\n## Features\n\n- Load Gaussian Splats from URL (`.splat` and `.ply` formats)\n- Visualize splats in 2D map view as colored point clouds\n- Visualize splats in QGIS 3D View\n- Configure georeferencing (CRS, origin, scale)\n- Data-driven styling based on splat colors\n\n## Requirements\n\n- QGIS 3.28 or later\n- Python 3.9+\n- NumPy (usually included with QGIS)\n\n## Installation\n\n### Method 1: Zip file (Recommended)\n\n- Download the `gaussiansplats-x.x.x.zip` file from the GitHub release\n- In QGIS, go to **Plugins** → **Manage and Install Plugins...**\n- Click **Install from ZIP**\n- Select the downloaded zip file\n\n### Method 2: Symlink (Recommended for Development)\n\n**Windows (Run as Administrator):**\n\n```cmd\nmklink /D \"%APPDATA%\\QGIS\\QGIS3\\profiles\\default\\python\\plugins\\gaussiansplats\" \"c:\\path\\to\\qgis_gaussiansplats_plugin\\src\"\n```\n\n**Linux/macOS:**\n\n```bash\nln -s /path/to/qgis_gaussiansplats_plugin/src ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gaussiansplats\n```\n\n### Method 3: Copy Files\n\nCopy the entire 'src' folder to your QGIS plugins directory:\n\n- **Windows:** `%APPDATA%\\QGIS\\QGIS3\\profiles\\default\\python\\plugins\\gaussiansplats`\n- **Linux:** `~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/gaussiansplats`\n- **macOS:** `~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/gaussiansplats`\n\n### Enable the Plugin\n\n1. Open QGIS\n2. Go to **Plugins** → **Manage and Install Plugins...**\n3. Go to **Installed** tab\n4. Check the box next to **Gaussian Splats**\n5. Click **Close**\n\n## Usage\n\n### Loading Gaussian Splats from URL\n\n1. Click the **Gaussian Splats** button in the toolbar, or go to **Plugins** → **Gaussian Splats** → **Load Gaussian Splats from URL**\n\n2. In the dialog:\n   - Enter a URL to a `.splat` or `.ply` file\n   - Or select from the example URLs dropdown\n\n3. Configure georeferencing (optional):\n   - **CRS**: Coordinate Reference System (default: EPSG:4326)\n   - **Origin**: X, Y, Z offset to apply to all points\n   - **Scale**: Scale factor for positions\n\n4. Options:\n   - **Add to 3D View**: Enable 3D rendering (if QGIS 3D is available)\n   - **Zoom to layer**: Automatically zoom to the loaded data\n\n5. Click **Load**\n\n### Viewing in 3D\n\n1. After loading a Gaussian Splat layer, go to **View** → **3D Map Views** → **New 3D Map View**\n2. The splat layer should be visible as a 3D point cloud\n3. Use the 3D navigation controls to explore\n\n## Example URLs\n\nTodo \n\n## Testing the Plugin\n\n### Quick Test\n\n1. Install and enable the plugin (see Installation above)\n2. Restart QGIS if needed\n3. Click the Gaussian Splats toolbar button\n4. Select \"plush.splat\" from the Examples dropdown\n5. Click **Load**\n6. Wait for download and parsing to complete\n7. The splat should appear as a colored point cloud in the map view\n\n### Testing 3D View\n\n1. Load a splat file as above\n2. Go to **View** → **3D Map Views** → **New 3D Map View**\n3. In the 3D view settings, ensure the layer is enabled\n4. Navigate around the 3D scene\n\n### Verify Layer Properties\n\nAfter loading, right-click the layer and check:\n- **Properties** → **Source**: Should show PointZ geometry\n- **Properties** → **Symbology**: Should show data-driven color styling\n- **Attribute Table**: Should have columns for red, green, blue, alpha, scale_x, scale_y, scale_z\n\n## File Formats\n\n### .splat Format\n\nBinary format with 32 bytes per splat:\n- 12 bytes: Position (3 × float32: x, y, z)\n- 12 bytes: Scale (3 × float32: sx, sy, sz)\n- 4 bytes: Color (4 × uint8: r, g, b, a)\n- 4 bytes: Rotation (4 × uint8: quaternion components)\n\n### .ply Format\n\nStandard PLY format with Gaussian Splat properties:\n- `x, y, z`: Position\n- `scale_0, scale_1, scale_2`: Scale (log-space)\n- `f_dc_0, f_dc_1, f_dc_2`: Spherical harmonics coefficients for color\n- `opacity`: Opacity (logit-space)\n- `rot_0, rot_1, rot_2, rot_3`: Rotation quaternion\n\n## Troubleshooting\n\n### Plugin doesn't appear in QGIS\n\n1. Check the plugin is in the correct directory\n2. Ensure the folder is named `gaussiansplats` (lowercase)\n3. Check QGIS Python console for errors: **Plugins** → **Python Console**, then type `import gaussiansplats`\n\n### Download fails\n\n1. Check your internet connection\n2. Verify the URL is correct and accessible\n3. Some URLs may require CORS headers - try a different source\n\n### 3D view not working\n\n1. Ensure QGIS was built with 3D support\n2. Check **View** → **3D Map Views** is available\n3. The 3D renderer may not be available on all platforms\n\n### Performance issues with large files\n\n- Large splat files (\u003e1M points) may take time to load and render\n- Consider using a subset or lower resolution version\n- QGIS performance depends on your GPU capabilities\n\n## Development\n\nSee [AGENTS.md](AGENTS.md) for development guidelines.\n\n### Project Structure\n\n```\nqgis_gaussiansplats/\n├── __init__.py           # Plugin entry point\n├── metadata.txt          # Plugin metadata\n├── gaussian_splats.py    # Main plugin class\n├── dialog.py             # URL loading dialog\n├── splat_loader.py       # Download and parse splat files\n├── layer_creator.py      # Create QGIS layers\n├── icons/\n│   └── gaussian_splat.svg\n├── AGENTS.md             # AI agent guidelines\n└── README.md             # This file\n```\n\n### Creating a Release\n\nThe repository includes a GitHub Action that automatically creates releases when you push a version tag:\n\n1. **Create and push a version tag:**\n   ```bash\n   git tag v1.0.0\n   git push origin v1.0.0\n   ```\n\n2. **The GitHub Action will automatically:**\n   - Extract the version number from the tag (e.g., `v1.0.0` → `1.0.0`)\n   - Update `metadata.txt` with the version number\n   - Create a zip file named `gaussiansplats-1.0.0.zip` containing all plugin files\n   - Create a GitHub release with the tag\n   - Upload the zip file as a release asset\n\n## License\n\nMIT License\n\n## Acknowledgments\n\n- [antimatter15/splat](https://github.com/antimatter15/splat) - WebGL Gaussian Splat viewer and file format reference\n- [3D Gaussian Splatting](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/) - Original research paper\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertt%2Fqgis_gaussiansplats_plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertt%2Fqgis_gaussiansplats_plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertt%2Fqgis_gaussiansplats_plugin/lists"}