Maps & 3D generation
Build a visual representation from geographic footprints, reviewed imagery and indoor plans, then explore it alongside the live model.
One assistant, several generation paths
Open Generate 3D from a site popup in r-ioplay, or use the 3D Model actions in the node form in r-ioda. Site3DGenerationAssistant shares context, analysis and review between these entry points. The site is a Territory of type SITE. Assets attached through Fixed_Onto are proposed for generation; people and sensors have separate representations.
| Input | Processing | Result |
|---|---|---|
| SURFACE | Satellite, predefined or custom texture; local Blender construction | Textured terrain or asset surface |
| OBJECT with usable indoor 2D plans | Local image analysis and placement, then Blender; no AI planning for a successfully extracted indoor layout | Walls, textured floors, levels and removable roof |
| OBJECT without an indoor layout | Project AI provider proposes a primitive-based plan from description/photos; Blender builds it | A generated representation, not a surveyed digital twin |
| Site with reviewed layout | Reuse retained elements and existing asset footprints; Blender builds the site | Terrain plus the retained undeclared elements |
Blender must be available on the server (BLENDER_HOME). Network-dependent imagery, OpenStreetMap and project AI calls may fail; AI calls can be external and paid. Do not send sensitive photos or locations without the appropriate permission.
Review the site before building it
Geolocated site + declared asset footprints
├─ OpenStreetMap → building outlines and height estimates
├─ Esri orthophoto → local tree-crown detection
└─ Project AI → additional buildings, pools and hedges
↓
review / exclude / save layout → Blender → GLBThe analysis attempts to combine these sources, filtering duplicates and elements outside the site or on occupied areas. If AI analysis fails, map and image-derived results can still be returned; the result is incomplete, not verified ground truth. If the orthophoto cannot be downloaded, analysis fails. Review detections and exclusions before generating.
The accepted analysis is stored as 3D site layout, with a visible 3D undeclared elements summary. The site form offers analysis and deletion actions; save the form to persist its edits. Regeneration reuses the saved selection. With no analysis, the site form generates terrain only. Detected visual elements do not automatically become operational graph nodes.
Indoor plans and model properties
IndoorPlanReader extracts long dark wall strokes while trying to exclude text, furniture and door symbols. Placement uses the plan’s config 2D corners when provided; otherwise it estimates rotation, scale, mirror and offset against the geographic footprint. Check alignment and levels: these are image-processing heuristics, not architectural validation.
| Concept | New direct properties | Purpose |
|---|---|---|
| Asset | 3D footprint | Hidden generated geographic outline used to keep site objects clear of the building; 9 direct properties in total |
| Territory | 3D undeclared elements; 3D undeclared elements actions; 3D site layout | Summary, review/delete controls and saved JSON analysis; 6 direct properties in total |
No new node or edge type is introduced by these properties. See the metamodel. Source contracts: Asset3DGenerator, Site3DGenerationAssistant, Site3DModelResource, SiteElementsDetector, IndoorPlanReader and site_object_blender.py. The API reference describes analyze and generate. When the Pedestrian Network extension is active, the map menu of a building generates its indoor pedestrian network from its indoor 2D plans and 3D model (corridors, doors, stairs, entrances), stored as a Pedestrian_Network fixed onto the building; “Add an access” declares a door the reading missed. The “Move To…” menu of a person or unfixed good walks it to another item along the pedestrian networks, either in real time or as a sped-up replay.
Explore and follow a moving person
In editor mode, Add an asset here… accepts a named GLB and creates a Good at the selected surface, attempting to attach it to its support with Fixed_Onto. This edits the model; it is distinct from decorative elements retained in a site layout. Goods can be dragged along floors and walls, and their orientation and altitude adjusted. Hide roofs reveals interiors generated from 2D plans. Generate persons is an explicit action, not an automatic operation on every scene load.
The 3D Camera menu can follow a person in first or third person. Movement, look and altitude/zoom controls remain available while following. GPS altitude positions the carrier above or below the ground; reverse playback can animate its return. Map filters affect visibility, not operational status. Use Scenario timelines and the reviewed Barbecue walkthrough to understand how a move, a risk and an alert are displayed in sequence.
