Mesh Document

Purpose

3D surface or object meshes for scene visualization or analysis.

GeoJSON (DB metadata)

{
  "type": "Feature",
  "geometry": {"type": "Point", "coordinates": [30.15, 59.95]},
  "properties": {
    "type": "Mesh",
    "title": "Bridge Model",
    "created_at": "2025-05-12T14:00:00Z",
    "updated_at": "2025-05-12T14:00:00Z",
    "source": {
      "url": "/s3/<bucket>/<ResultKey>/<filename>",
      "type": "Mesh"
    },
    "style": {"scale": 1.0},
    "geoReference": {
      "position": [30.15, 59.95, 10.0]
    },
    "metadata": {"crs": "EPSG:4979", "units": "meters"}
  }
}

Required properties

  • properties.type = Mesh

  • A representative geometry (point/centroid or footprint polygon in EPSG:4326)

  • Anchor position in properties.geoReference.position using 3D WGS 84 (EPSG:4979)

  • GLTF/GLB payload (units in meters)

Publishing workflow

  1. Prepare 3D Data:

    • Ensure input vertices are in Web Mercator with metric height (EPSG:3857 with elevation Z in meters).

  2. Normalize Coordinates (P - Anchor):

    • Calculate 3D centroid C = [Cx, Cy, Cz] from bounding box in EPSG:3857 + height:

      Cx = (X_min + X_max) / 2
      Cy = (Y_min + Y_max) / 2
      Cz = (Z_min + Z_max) / 2
      
    • Shift all vertices: P_local = P - C, centering the model at (0, 0, 0) in local coordinates (avoids WebGL/GPU FP32 jitter).

    • Project centroid C from EPSG:3857 with height into EPSG:4979 [lon, lat, alt] to serve as geoReference.position (Anchor Position).

  3. Export Model: Export normalized 3D mesh to .glb (units in meters).

  4. Upload Payload: Upload .glb to S3/COS and record storage URL.

  5. Publish Feature: Register GeoJSON Feature with geoReference.position (EPSG:4979) and geometry (2D footprint in EPSG:4326).

Validation checklist

  • Model coordinates are centered at (0, 0, 0) with anchor recorded in geoReference.position.

  • Coordinate frame and units documented in metadata.

  • File opens in the target viewer.

See Common properties for shared fields like legend, metadata, and classification. For a complete visual walkthrough and presentation of requirements, see 3D Mesh Preparation & Publishing Presentation.