All features

05 · Spatial data

From a map point to a room model

Locations can be plain text, structured inventory records, map geometries or optional room captures. Each level is independent.

MIT licenseSelf-hostableNative iOS client
app.open-inventory.localMock data
Actual Open Inventory stock-locations view with quantities distributed across three demo locations
Stock distributed across configured locations in the running web app · demo data

Scope

What this area changes in the data flow.

A broad location such as Warehouse is often insufficient for retrieval. Open Inventory can combine text locations, structured containers, GeoJSON and optional room scans. Simple inventories can stop at text; spatial data is added only where it resolves a real navigation problem.

Result 01

Connect inventory with map points, polygons and structured stock locations

Result 02

Derive spatial relations from geometry while preserving manual overrides

Result 03

Use supported iPhones for optional RoomPlan capture and placement

Included implementation

Individual capabilities and constraints.

These components are part of the MIT-licensed project. Optional providers are identified where they take part in a workflow.

01

Interactive map editing

Edit points and polygons, drag geometry handles, change layers or satellite imagery and assign multiple records from the map.

02

Derived spatial containment

When a map point lies inside a container polygon, Open Inventory can derive a relation. A manual placement deliberately takes precedence.

03

Optional RoomPlan scans

A LiDAR-capable iPhone can capture rooms, floors and connected structures. This is an extension for supported hardware, not a requirement for the rest of the app.

04

Navigable 3D room data

The web viewer displays measured RoomPlan geometry, searchable inventory markers and optional photorealistic derivatives with explicit coordinate-system transforms.

Sequence

Add spatial precision only where it is needed

Each layer is optional. A text location can be enough; map and room data extend it for larger sites and buildings.

  1. 01

    Create a location record

    Represent a room, cabinet, vehicle or other structured container as an inventory record.

  2. 02

    Add geometry

    Set a map point or draw a polygon and edit its geometry directly in the map interface.

  3. 03

    Derive containment

    A point inside a container polygon can produce a spatial relation. Explicit manual placement keeps precedence.

  4. 04

    Capture a room when useful

    Use a compatible iPhone to capture rooms and floors, then inspect the resulting structure in the web viewer.

Worked example

Concrete records, states and decisions.

The values are mock data, but the workflow and state changes correspond to operations implemented by Open Inventory.

concrete example

Example · Location chain

Site, building, room, cabinet

A measuring device is not merely in the lab. A map point identifies the building, relations identify the room, and the stock location narrows it to Cabinet 3, Shelf B.

Map

North building

Room

Electronics lab

Storage

Cabinet 3 · Shelf B

Real native Open Inventory app capture with purpose-built demo data
Real SwiftUI app capture · demo data
Open-source iOS implementation

Room capture is native and optional.

On LiDAR-capable iPhones the SwiftUI client can use RoomPlan to capture rooms, floors and connected structures. Map and normal location features do not require Pro hardware.

Capture RoomPlan structures on compatible hardware

Add photos and codes to inventory at the physical location

Search and navigate captured rooms later in the web viewer

Read the native iOS architecture
MIT-licensed source

Spatial artifacts remain part of the open dataset.

Coordinates, GeoJSON, relations and RoomPlan artifacts are managed by the operator's instance. The iOS and web implementations are inspectable; external map or derivative providers remain explicit configuration choices.

Web viewer and native capture implementation in the repository

Explicit separation of manual and derived placement

Optional provider boundaries instead of hidden dependencies

Next feature area

Operations and security

Roles, scoped tokens, persistent data and explicit provider boundaries turn inspectable code into a service that can be operated deliberately.

Operate your own instance

Start from the documented stack.

Review the Compose services, persistence requirements and provider configuration before exposing an instance to a network.