Perfect World
WorldMapper

WorldMapper · demonstration

How WorldMapper works, on a synthetic site

Twelve steps from a place to a dated, measured record of it. Everything on this page is live from a demonstration site seeded with generated data, so you can see each output as it really appears before flying your own capture.

1. Create a site

A site is the place itself: a name, a boundary drawn or pasted from a parcel file, and who may see it. Sites are private by default.

The dashed outline on the map below is this site's boundary.

2. Create a mission

A mission is one dated capture: the aircraft, the camera, the purpose, the weather, the coordinate frame and the control method are written down before anything is uploaded, because the report quotes them later.

Two missions here: June, and September after a stockpile was raised.

3. Upload photographs or data

Photographs from any drone, camera or phone, or an existing map, cloud or model. Large files travel in resumable parts; every file is hashed, its EXIF and headers read, and it is inventoried with its provenance.

Each capture has twelve geotagged frames plus a ground-control table and a checkpoint table.

4. Automated checks

Before anything is processed the mission is checked: image count, corrupt files, missing EXIF, camera consistency, duplicates, footprint, control-file format and coordinate systems. Resource figures are labelled as estimates.

These frames are small, so the checks warned about a coarse result; the warning rides on the run.

5. Submit to the processing engine

The run is frozen: every input hash, every parameter, the engine and its version. Processing happens on a worker node, never on this web server, and reprocessing always makes a new run beside the old one.

The demonstration uses WorldMapper's synthetic engine instead of OpenDroneMap, so nothing was actually flown.

6. Track the job

Queued, preparing, processing, post-processing, validating, complete, complete with warnings, failed or cancelled, with a progress note and a redacted log excerpt. A silent worker loses its claim and the job is retried.

Both demonstration runs finished 'complete with warnings' because the synthetic note is itself a warning.

7. Import the outputs

Orthomosaic, surface and terrain models, hillshade, contours, the classified point cloud, the textured model, the footprint and the engine's own report, each hashed and recorded against the run.

The published layers table further down lists what a visitor may see and what may be downloaded.

8. See it in 2D

The orthophoto over a basemap, with hillshade, contours, the run footprint, ground control and checkpoint markers, sensors and measurements as toggles. Toggle layers in the legend.

9. See it in 3D

The textured model and a decimated point cloud, loaded progressively so a large cloud never arrives all at once.

starting · drag to orbit, scroll to zoom, right-drag to pan
synthetic model in the run's local metre frame; the mound in the middle is the stockpile the second capture measures

10. Accuracy and limitations

The class is earned from evidence, never chosen: visual, mapping, or controlled when there are enough ground control points and independent checkpoints with computed error. A user may label a result lower, never higher, and the limitations statement is printed on every deliverable.

Demonstration flight one (synthetic) Controlled

Ground control and independent checkpoints with calculated error.

Ground control4 points
Independent checkpoints3 (3 measured)
Horizontal RMSE0.028 m (max 0.047)
Vertical RMSE0.042 m (max 0.07)
Enginesynthetic demonstration engine 0.1.0-synthetic-demo
Inputs12 files · manifest bafdecf8e839
Known limitations (3)
  • Not a boundary survey or certified engineering deliverable. Accuracy depends on capture conditions, control data, processing parameters and independent verification.
  • Synthetic demonstration: the photographs, terrain and model were generated by WorldMapper's test engine. No real place, aircraft, camera or survey is involved.
  • no vertical datum was declared; elevations are relative to whatever the inputs carried
Demonstration flight two (synthetic) Controlled

Ground control and independent checkpoints with calculated error.

Ground control4 points
Independent checkpoints3 (3 measured)
Horizontal RMSE0.028 m (max 0.047)
Vertical RMSE0.042 m (max 0.07)
Enginesynthetic demonstration engine 0.1.0-synthetic-demo
Inputs12 files · manifest 62ad878f12e0
Known limitations (3)
  • Not a boundary survey or certified engineering deliverable. Accuracy depends on capture conditions, control data, processing parameters and independent verification.
  • Synthetic demonstration: the photographs, terrain and model were generated by WorldMapper's test engine. No real place, aircraft, camera or survey is involved.
  • no vertical datum was declared; elevations are relative to whatever the inputs carried

11. Downloads and publishing

Individual outputs, or one package with every output, a manifest of hashes and the accuracy report as JSON, HTML and PDF. Raw photographs and unpublished outputs never become public; a moderator publishes layer by layer.

Demonstration flight one (synthetic)captured Jun 1, 2026 · run RUN-69TPYAHV
LayerKindSizeSHA-256Visitor access
orthomosaic — Demonstration flight one (synthetic)orthomosaic · geotiff144 KB0a30f62f0dbedownload
ortho preview — Demonstration flight one (synthetic)ortho_preview · png6 KB1c4aa4e12716view only
dsm — Demonstration flight one (synthetic)dsm · geotiff96 KBba002144e8dedownload
dtm — Demonstration flight one (synthetic)dtm · geotiff96 KBf9d5a6bdabd8download
hillshade — Demonstration flight one (synthetic)hillshade · png5 KB7c7b47f3279bview only
contours — Demonstration flight one (synthetic)contours · geojson7 KB205e38cc0ee8view only
pointcloud preview — Demonstration flight one (synthetic)pointcloud_preview · ply59 KBb5920aea1f00view only
model glb — Demonstration flight one (synthetic)model_glb · glb7 KBdd74adebe661view only
footprint — Demonstration flight one (synthetic)footprint · geojson316 B9f97aa32610aview only
camera positions — Demonstration flight one (synthetic)camera_positions · geojson2 KB0c5422d5f306view only
Demonstration flight two (synthetic)captured Sep 1, 2026 · run RUN-XG7JW7X7
LayerKindSizeSHA-256Visitor access
orthomosaic — Demonstration flight two (synthetic)orthomosaic · geotiff144 KB0a30f62f0dbedownload
ortho preview — Demonstration flight two (synthetic)ortho_preview · png6 KB1c4aa4e12716view only
dsm — Demonstration flight two (synthetic)dsm · geotiff96 KB935dff002834download
dtm — Demonstration flight two (synthetic)dtm · geotiff96 KBf9d5a6bdabd8download
hillshade — Demonstration flight two (synthetic)hillshade · png5 KB3dea7c5448cdview only
contours — Demonstration flight two (synthetic)contours · geojson7 KB205e38cc0ee8view only
pointcloud preview — Demonstration flight two (synthetic)pointcloud_preview · ply59 KB83e470f2855fview only
model glb — Demonstration flight two (synthetic)model_glb · glb7 KBdd74adebe661view only
footprint — Demonstration flight two (synthetic)footprint · geojson316 B9f97aa32610aview only
camera positions — Demonstration flight two (synthetic)camera_positions · geojson2 KB0c5422d5f306view only

12. Return and compare

Every mission stays on the site's dated timeline. Two captures compare with a swipe, and the elevation difference is only called change where it exceeds what the two runs' own checkpoints say they could be wrong by.

Demonstration flight one · Jun 1, 2026Demonstration flight two · Sep 1, 2026
0.084 mmean change over 49,152 cells
005th–95th percentile (m)
+172.8 / −0volume up / down (grid estimate)

Combined checkpoint error of the two runs: ±0.059 m. Anything smaller than that is not called change.

The public record of this site, as any visitor sees it: /modules/world-mapper/public/demo-fixture-arroyo

Try it with your own photographs

Sign in, create a site, add a mission and drop your photographs in. Processing runs on a worker node — no worker is online at this moment, so a run would wait in the queue. Missions are private until a moderator publishes a layer.