Repository navigation
Georeferenced coordinates
Position decimals, including scientific notation, are parsed directly into signed 64-bit fixed-point integers with ten fractional digits. Values beyond ten fractional digits round to the nearest fixed-point unit, ties away from zero. The supported range is approximately ±922 million source units.
--center measures all declared positions, subtracts the center using widened integer arithmetic, then converts the local result to float32. This avoids first rounding projected world coordinates to float32. The center is rounded to the fixed-point grid; glTF geometry still has float32 precision, so very large local extents can require spatial tiling.
The origin and original bounds are recorded as decimal strings in extras.objtools. Restore a source position by undoing the optional axis rotation and adding the stored origin. The origin is not applied back as a scene translation, because that would defeat recentering.
The default assumes Y-up input. --up-axis z gives each mesh node a rotation mapping (x, y, z) to (x, z, -y) in glTF's Y-up frame. Coordinates and origin metadata remain in the source frame. Source units are assumed to be metres; no CRS, reprojection or unit conversion is inferred. For sibling assets that must stay aligned, independently centering each file will give different origins; retain and account for the recorded origins.