Streaming bridge strain gauges into a 3D twin
Calibrate live strain telemetry, place gauges on the bridge mesh from a CSV, and color the structure by stress live — plus an alert log on every exceedance.
Drop 85 campus building meshes, the meter registry, and a live REST feed on one canvas, join meters to the buildings they sit in, and roll the readings up by hour. You get a 3D heat-map that repaints as the feed ticks and a weekly energy report that rebuilds itself.
Every campus building already meters its own power, and facilities keeps a PostgreSQL registry of where each of the ~1,200 meters lives. What's missing is the picture: a way to see the whole campus breathing at once instead of squinting at 85 separate trend charts. The meshes exist too — they were exported from the campus BIM model as glTF for a wayfinding project and then forgotten in a share drive.
LSD lets the geometry, the registry, and the live feed share a single pipeline instead of three tools. The 3D model is not a viewer bolted to a dashboard — the buildings are entities the moment the campus lands, the meters are rows, and the readings are a stream, all meeting on one canvas. Because every node is live, the hourly rollup and the heat-map read from the same cached intermediate, so a fresh reading repaints the campus without re-running anything upstream.
Two deliverables fall out of the same canvas: a 3D heat-map that colors each building by its current draw and updates as the feed ticks, and a weekly PDF that trends consumption and names the top ten buildings. When facilities adds a meter to the registry, it shows up on the twin on the next poll — no scripts, no manual rebuild.
Drag the folder of 85 building meshes onto the canvas and LSD stacks them into one @load node, rendering the whole campus in the 3D viewer. Each building keeps its ID from the filename, so it is already an addressable entity. Spin the campus to confirm nothing landed in the wrong coordinate frame.
Add a @load node pointed at the meters table in PostgreSQL. LSD previews all 1,200 rows — meter ID, building ID, and the lat/long where each sits. There is no export step; the connection is live, so meters facilities adds later just show up.
Point a third @load node at the metering REST endpoint and set it to poll every five minutes. Readings arrive as live entities — kW draw per meter, timestamped — and the node preview ticks over as fresh values land. This is the pulse the twin runs on.
Chain a @shape spatial-join node that drops each meter coordinate into the building footprint it falls inside. The preview draws a line from every meter to its host building so stray gauges stand out. Each reading is now tagged with a building ID.
Add a @shape aggregation node that rolls the raw meter ticks into hourly kWh per building. Drag the window control and the bars rebuild live; the hourly table is a cached intermediate the heat-map and report both read. Switch to daily to sanity-check totals.
Wire the hourly table into a @deliver node that colors each building blue-to-red by current draw — the campus repaints as the feed updates. Add a report delivery set to weekly and it bakes trends, top buildings, and heat-map snapshots into a PDF. Both outputs rebuild from the same canvas.
Stack 85 building meshes, the meter registry, and the live meter feed onto one canvas.
Spatially join meters to the buildings they sit in and roll their ticks into hourly kWh per building.
Paint a live 3D campus heat-map and schedule a weekly energy PDF from the same table.
Calibrate live strain telemetry, place gauges on the bridge mesh from a CSV, and color the structure by stress live — plus an alert log on every exceedance.
Model post-closure pit-lake rebound in LSD — krige borehole heads against a NetCDF recharge grid and deliver a live 3D drawdown model plus report.
Validate 63 LAS drillhole logs against collar surveys, krige a lithology block model, and export one glTF the whole team can open.
Build churn features from Postgres events and Parquet snapshots, catch a leaky window visually, and score the holdout with ONNX — on one canvas.
Score a million-row Parquet batch with an ONNX model — training-identical normalization, live previews, scored Parquet and metrics out.
Turn raw LAS/LAZ sweeps from a mobile robot into a nav-ready occupancy grid and 3D map — registration to export with zero scripts.
Sync CSV sensor logs with live REST telemetry, flag outliers and dropouts, and score every robot pass/fail before the field trial.
Turn folders of line-scan images and a label CSV into an ONNX defect-segmentation pipeline with overlay QA and a per-coil defect report.
Turn GeoTIFF orthomosaics into a stitched land-cover raster with per-class area stats, using tiled ONNX segmentation you can preview at every step.
Align CMM measurement points to a nominal CAD mesh, compute point-to-surface deviation, and export a color-mapped glTF model with a pass/fail report.
Resample a week of machine sensor logs, baseline each tag, and flag drift and step changes on a live dashboard with a ranked maintenance shortlist.
Turn a CT DICOM series into an ONNX organ segmentation you QA in 3D, then export an annotated volume and a per-organ volumetrics report.
Drag the folder of 85 building meshes onto the canvas and LSD stacks them into one @load node, rendering the whole campus in the 3D viewer. Each building keeps its ID from the filename, so it is already an addressable entity. Spin the campus to confirm nothing landed in the wrong coordinate frame.
Chain a @shape spatial-join node that drops each meter coordinate into the building footprint it falls inside. The preview draws a line from every meter to its host building so stray gauges stand out. Each reading is now tagged with a building ID.
Wire the hourly table into a @deliver node that colors each building blue-to-red by current draw — the campus repaints as the feed updates. Add a report delivery set to weekly and it bakes trends, top buildings, and heat-map snapshots into a PDF. Both outputs rebuild from the same canvas.