Interactive map editing
Edit points and polygons, drag geometry handles, change layers or satellite imagery and assign multiple records from the map.
05 · Spatial data
Locations can be plain text, structured inventory records, map geometries or optional room captures. Each level is independent.

Scope
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
These components are part of the MIT-licensed project. Optional providers are identified where they take part in a workflow.
Edit points and polygons, drag geometry handles, change layers or satellite imagery and assign multiple records from the map.
When a map point lies inside a container polygon, Open Inventory can derive a relation. A manual placement deliberately takes precedence.
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.
The web viewer displays measured RoomPlan geometry, searchable inventory markers and optional photorealistic derivatives with explicit coordinate-system transforms.
Sequence
Each layer is optional. A text location can be enough; map and room data extend it for larger sites and buildings.
Represent a room, cabinet, vehicle or other structured container as an inventory record.
Set a map point or draw a polygon and edit its geometry directly in the map interface.
A point inside a container polygon can produce a spatial relation. Explicit manual placement keeps precedence.
Use a compatible iPhone to capture rooms and floors, then inspect the resulting structure in the web viewer.
Worked example
The values are mock data, but the workflow and state changes correspond to operations implemented by Open Inventory.
Example · Location chain
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

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
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
Roles, scoped tokens, persistent data and explicit provider boundaries turn inspectable code into a service that can be operated deliberately.
Operate your own instance
Review the Compose services, persistence requirements and provider configuration before exposing an instance to a network.