Export the terrain
Export the 3D site model's terrain as a georeferenced OBJ mesh with a JSON sidecar, for Blender, BlenderGIS and other 3D tools.
On this page
You can take the terrain from the 3D site model out of the app as an OBJ mesh, with a small JSON file that says exactly where it sits on the earth. It's handy for rendering the site, planning in a 3D tool, or combining the ground with your scans.
Before you start
- A built 3D site model for the active project. See View the 3D site model. The Export section only appears once the terrain has been built.
Export the terrain
- Go to Tools → 3D site model.
- Scroll to Export.
- Tap one of:
- Export terrain OBJ (display, ¼ resolution): uses every fourth elevation sample in each direction. The file is about a sixteenth of the full size and fine for viewing.
- Export terrain OBJ (full resolution): every elevation sample the model was built from.
- The share sheet opens with two files. Save them to Files, AirDrop them to a computer, or send them to another app.
The files
Both files are named after the project:
| File | Contents |
|---|---|
<project>-terrain.obj |
The terrain surface: vertices, normals and triangles. There are no textures or imagery; it's bare ground. |
<project>-terrain-georef.json |
The sidecar that georeferences the mesh. |
Keep the two files together. Without the sidecar, the OBJ is just a shape with no position.
The mesh's coordinate frame
The mesh is in the project's site frame, in metres:
- x = east
- y = up
- z = south
The origin (0, 0, 0) is the project's site origin, and y is height above sea level minus the origin's height. The horizontal frame is a Transverse Mercator projection centred on the origin (scale factor 1, no false easting or northing, GRS80). Over a site-sized area, that means distances on the mesh are true ground distances.
Places with no elevation data are left as holes in the mesh.
The sidecar
The JSON sidecar records:
| Field | Meaning |
|---|---|
originLatitude, originLongitude |
The site origin, WGS 84. |
originHeightMSL |
The origin's height above sea level, in metres. |
frame, axes, projection |
The frame described above. |
datum, verticalDatum |
WGS84 (EPSG:4979) horizontally; heights are orthometric (MSL). |
source, zoom |
Which elevation tiles, at which zoom. |
spacingMeters |
Ground distance between vertices in this file. |
stride |
1 for full resolution, 4 for the ¼ export. |
attribution |
The elevation data credit. Keep it with anything you publish. |
verticalExaggeration |
Always 1. Exports use true heights, whatever the 3D view is set to. |
Open it in Blender
The OBJ opens in Blender like any mesh. With the BlenderGIS add-on, the sidecar's origin lets you place it as a georeferenced mesh alongside other GIS data.
Other tools that read OBJ can open it too; use the sidecar's origin and axes to position it.
Terrain in the bundle export
Tools → Export bundle (ZIP) also includes the terrain, when the project has a built model. It's in a terrain/ folder:
terrain.terrarium.png: the full-resolution elevation grid, stored losslessly as a Terrarium-encoded PNG.site.json: its bounds, zoom, spacing, height range, source, credit and site origin, plus the formula to decode heights from the PNG.
See Export a bundle.
Limits
- The terrain is only as good as the public elevation data: about 10 m resolution in the US and 30 m elsewhere. Full resolution doesn't add detail that isn't in the source.
- The mesh is the ground only. Imagery, assets and scans aren't included in the OBJ. Scans are exported from the Capture tab.