Skip to content

Floor plans and positioning

Everything that decides whether Omaya can tell you which room rather than which building. It is one page because the pieces only work as a chain: the scale makes the plan mean metres, the walls make the estimate physical, the gateway positions make trilateration possible, and the walk makes the gateway positions true.

Two different things are called calibration

This trips people up, so before anything else:

Scale calibration teaches the plan what a metre is. Done once, on the Floor Plan page, when you upload the image.

Gateway calibration works out where the gateways actually are, by walking the space with a tag. Done on the venue's Calibrate page, and worth redoing when gateways move.

You need the first before the second is meaningful — the walk solves positions in the plan's coordinates, and if those coordinates are not metres, the answer is not either.

Setting the scale

Venue → Floor Plan → the Image panel.

Drop the plan in, then give it a real size. Two ways:

  • Type the width and height in metres. Best when you have the drawing's dimensions or a title block.
  • Draw a reference line. On the Calibration panel, draw a line along something you have actually measured — a corridor, a room wall, a standard door — and enter its length. Omaya derives metres-per-pixel from it. Better when the drawing is a crop, a photo of a printout, or has no dimensions on it.

The panel tells you whether the scale is set, and the Image panel also takes the ceiling height and which way is north. Ceiling height matters for radar-derived heights and for 3-D views; north matters if you ever overlay anything geographic.

Get this right before you draw anything

Zone areas, density per m², the cost-of-idle-space column and every distance a rule tests are all derived from this one number. Changing it later rescales the meaning of everything already recorded against the venue.

Detecting the walls automatically

Venue → Floor Plan → Obstacles → extract.

Omaya can read the plan image and propose the walls and rooms it can see, using the scale you just set to return them in metres. It then shows you what it found for review before anything is saved.

Review it properly. Wall detection works by looking for dark, continuous structure in the image, and two things routinely go wrong:

  • Thick walls come back hollow — the detector traces both faces and leaves the middle empty, so a solid wall becomes two thin parallel ones with a gap a position estimate can slip through.
  • Furniture, hatching and dimension lines get promoted to walls, especially on architectural drawings with heavy annotation.

Fix the obvious ones in the review step, save, then tidy the rest by hand on the Obstacles panel. Walls are worth the effort: they are what stops a position estimate placing someone inside a lift shaft, and they feed the 3-D view.

If you have no usable plan image at all, the Designer is the other way in — lay out rooms and walls directly, and what you draw becomes real obstacles and zones rather than a picture of them.

Placing the gateways

Venue → Floor Plan → Gateways.

Gateways are assigned to a venue on the Device page; this panel lists the ones that belong here so you can put each where it physically is.

Place them as accurately as you can be bothered to. Trilateration solves for a point that is consistent with how strongly each gateway hears a tag, so a gateway recorded three metres from where it hangs drags every estimate near it towards a place nothing is.

Three positioned gateways is the threshold. Below three, the venue cannot trilaterate at all and falls back to nearest-gateway presence. Three is the floor rather than a target — coverage and geometry both keep improving above it, and a line of three gateways along one wall is worse than three spread around the room even though the count is the same.

The calibration walk

Venue → Calibrate.

This is what turns "roughly where I dropped the pin" into measured positions.

  1. Start a walk — on this device, or start on phone, which issues a two-hour link so you can walk the floor holding a phone instead of a laptop.
  2. Stand at a point, mark it on the plan. Omaya records what every gateway hears from that spot. Repeat at a handful of points spread around the space — corners and opposite ends matter more than many points in one region.
  3. Solve positions. You get the solved x, y for each gateway next to where it currently sits, so you can see how far off the placement was.
  4. Apply to write them to the gateways, or Refine if you only want a small adjustment to the position you placed by hand.

The Gateway coverage panel on the same page tells you whether each gateway actually contributed — a gateway nothing heard from during the walk is a gateway that will not help afterwards either.

Building a fingerprint

Same page, the Fingerprint quality panel: Build fingerprint.

A fingerprint is a radio map. Instead of computing a position from signal strength and a path-loss model, Omaya remembers what the radio looked like at each place during the walk and matches live readings against that memory. It handles reflective, partitioned and awkward buildings that trilateration alone gets wrong.

The panel shows when it was last built, its confidence, the average samples behind each cell, and how many cells are zone-tagged. Read those before you trust it — a fingerprint built from a thin walk is a confident-looking wrong answer, which is worse than no fingerprint at all.

Rebuild it after you move gateways, change the layout, or walk the space again.

Which method a venue actually uses

The four positioning methods, and what each one needs Fingerprint needs a radio map and gives room-level accuracy. Triangulation needs three or more positioned gateways and gives coordinates in metres. Sensor-only means fixed sensors with nothing mobile to position. Presence is the fallback and gives the nearest gateway rather than a position. Left on automatic, a venue takes the first of these it qualifies for, top down. METHODWHAT IT NEEDSWHAT YOU GETFingerprintMOST SPECIFICA radio map built for this venuefrom a calibration walkRoom-level, fused withtrilateration by confidenceTriangulationThree or more gateways withtheir positions setCoordinates in metres,drawn on the floor planSensor-onlyFixed sensors, and nothingmobile to positionReadings and counts. There isnothing to place on a planPresenceFALLBACKAnything else — one gatewayis enoughThe nearest gateway: whichzone, not where in itOn automatic, a venue takes the first method it qualifies for, reading down.
Every venue is classified independently, and the classification is re-checked rather than set once — add a third positioned gateway and the venue moves up a rung on its own. The trap is at the top: a handful of poor fingerprint cells is still "a radio map", so a venue can be promoted to fingerprint on data that is worse than the triangulation it just replaced. That is the case worth pinning.

Left on automatic, each venue takes the first method it qualifies for. The Positioning method card at the top of the venue's Calibrate page shows which one it is using, and lets you override it:

ChoiceWhat it does
AutomaticClassify from what the venue has. The default, and right nearly always.
PresenceNearest gateway only. No trilateration, no radio map.
TriangulationTrilaterate from gateway positions, ignoring any fingerprint.
FingerprintUse the radio map, fused with trilateration.

Pin one and the card keeps telling you what automatic would have chosen, so you can see what you are overriding rather than having to remember.

When to pin. The automatic choice is wrong in one specific way: the top rung only asks whether fingerprint data exists, not whether it is any good. A venue that collected a few dozen poor cells — an abandoned walk, an experiment, a room that was rearranged afterwards — is promoted to fingerprint and stops trilaterating, even where it has three well-placed gateways and a proper calibration.

The symptom is positions that got worse after someone improved something. Set the method to Triangulation, or rebuild the fingerprint properly and set it back to Automatic.

The settings that tune it

Configuration → Indoor Positioning holds five groups of switches. They apply to your whole organisation, not one venue, and the defaults are sensible — change one when you have a symptom it explains, not on principle.

SettingWhat it doesReach for it when
Floor spilloverDiscards a reading when too few gateways heard it, or heard it too faintly, to be believable from this floorDevices appear on the floor above or below the one they are on
Multi-gateway majorityLets several gateways vote on which zone a device is in, instead of trusting the single strongestDevices flicker between two adjacent zones
Bermuda hysteresisRequires a device to be convincingly somewhere new before it is moved therePositions are twitchy even when nothing is moving
Find3 LRAn alternative fingerprint scoring methodFingerprint results are poor and you want to compare
Trail view split by dayWhether a device's trail is broken at midnightOvernight trails read as one long visit

The multi-gateway vote has its own thresholds underneath — what counts as a strong signal, what counts as weak, how much one zone must win by. Widen the margin if zones still flicker; narrow it if devices are slow to move.

Detection speed lives in the same area and is the one most worth understanding: it trades how quickly a tag is shown somewhere new against how often it flickers between two places. Faster presets react sooner and cost more processing; slower ones are steadier. Pick from the presets rather than the individual numbers unless you have measured a reason.

A working order

If you are setting a venue up from nothing, this sequence has the fewest backtracks:

  1. Upload the plan, set the scale.
  2. Extract the walls, review, tidy.
  3. Draw the zones, set each one's capacity.
  4. Register the gateways and assign them to the venue.
  5. Place the gateways on the plan.
  6. Walk the space, solve, apply.
  7. Build a fingerprint — if the building warrants one.
  8. Check the Positioning method card, and override it only if the answer is wrong.

Then look at Monitor → Live Monitor and walk the floor yourself. Five minutes of watching your own dot is worth more than any amount of reading, including this.

Last updated:

Omaya platform documentation