3D Tiles or SLPK: incorrect vertical model position
Issue:
The model is shifted - either floating above or below the globe / terrain surface.
Common reason:
The input data uses a separate vertical coordinate reference system (CRS) other than ellipsoidal heights referring to the horizontal datum (ellipsoid) definition, and this part is missing in the coordinate system specification (WKT).
Background:
In case the input data coordinate system uses orthometric heights and the respective vertical CRS has not been specified, SURE assumes the input data to be defined in ellipsoidal heights matching the reference of the horizontal datum definition.
Converting the Mesh into the SLPK or 3D Tiles format will then typically lead to a shift of about 40 - 60 meters. The reason for this is that the transformation applied is incorrect, since the correct input vertical CRS was not specified. Keep in mind, that the range of the shift varies depending on the dataset and its location on Earth.
Solution 1 (recommended)
SURE supports the definition of a vertical CRS, which can be specified by providing a compound input coordinate system.
During the conversion to the SLPK or 3D Tiles format the correct transformation can hence be applied as the vertical input CRS has been defined. To perform an accurate transformation, specific transformation grids are required (see Coordinate System).
As a result, the SLPK or 3D Tiles Mesh should have the correct height and coincide with the corresponding globe / terrain surface.
Note: There can still be cases of vertical CRS for which transformations are not supported. In these situations, a manual vertical offset can be applied (Solution 2).
Solution 2
When running the SURE executable please export to .osgb only and later use the Mesh Converter to convert to 3D Tiles or SLPK.
The Mesh Converter GUI allows the specification of a vertical shift, which is used to compensate the (vertical) difference between the involved geoid and ellipsoid of the input data.
When running the MeshConverter module as well as the Mesh Texturing module, use the --coordinate-system-vertical-shift flag to specify the offset between the ellipsoidal height and your vertical coordinate system.
When creating 3D Tiles output via the MeshConverter module, optionally use the flag --3d-tiles-over-impose-heights-on-target-ellipsoid (usage see Mesh Converter).