OpenDroneMap / OpenDroneMap/ODM

Coordinate System Mismatch in 3D Tiles Generation

Open
#1,938 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
6.5k
Forks
1.3k
Avg merge
5d 6h
Merged PRs (30d)
4

Description

I am a beginner, and this problem was generated with the assistance of AI.

Problem Description
I'm experiencing coordinate system mismatch issues when generating and displaying 3D Tiles from WebODM. The generated 3D models appear flipped or misaligned when overlayed on maps, unlike models generated by DJI Terra which display correctly.

Comparison Details
WebODM Generation Parameters:

3d-tiles:true, auto-boundary:true, force-gps:true, mesh-octree-depth:12, mesh-size:300000, pc-quality:high, pc-rectify:true, use-3dmesh:true, use-exif:true

Key Differences Found:
DJI Terra Output:

Uses absolute ECEF coordinates in bounding volumes

Contains proper gltfUpAxis: "Z" specification

Uses nested tileset structure with proper geographic coordinates

WebODM Output:

Uses relative local coordinates with transform matrices

Missing coordinate system specification in asset section

Flat structure without proper geographic context

Root transform matrix appears to be causing coordinate system issues

Expected Behavior
3D Tiles generated by WebODM should:

Use proper geographic coordinate systems (preferably EPSG:4326 or Web Mercator)

Display correctly when overlayed on map platforms like Cesium

Have consistent coordinate representation with other photogrammetry tools

Actual Behavior
Generated 3D Tiles appear flipped or mispositioned on maps

No option to specify coordinate system for 3D Tiles export (unlike orthophotos which support EPSG selection)

Transform matrices in tileset.json complicate coordinate interpretation

Technical Analysis
The WebODM-generated tileset.json contains:

"transform": [ -0.912183071083954, -0.40978292403154887, 0.0, 0.0, 0.18302502889042108, -0.40741652018091457, 0.8947142660555575, 0.0, -0.3666386281169875, 0.8161432069531843, 0.44663898409863984, 0.0, -2340034.4066427485, 5208952.4631562345, 2831545.4927882254, 1.0 ]

This transform matrix, combined with relative bounding box coordinates, creates the coordinate system mismatch.

Requested Features/Solutions
Add coordinate system selection for 3D Tiles export (similar to orthophoto EPSG selection)

Option to generate 3D Tiles with absolute geographic coordinates instead of transform matrices

Proper GLTF up-axis specification in the tileset.json asset section

Documentation on coordinate system handling in 3D Tiles generation

Environment
WebODM Version: 2.7.1

Comparison Tool: DJI Terra (working correctly)

This is the overlay effect diagram of my results. The WebODM result is perpendicular to the ground. I tried to manually flip it during the overlay process—although the orientation was adjusted correctly, the imaging still couldn’t display properly.

Image Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the WebODM 2.7.1 output and inspecting the generated tileset.json, especially its transform matrix and asset metadata, then compare it with the DJI Terra structure described here. Done should mean the 3D Tiles align correctly on a map platform such as Cesium, with the coordinate-system behavior and any export options documented.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.