How long is the rooftop pool at Fortuna Hotel Hanoi?

Satellite measurement — the AI got it wrong twice, a human clicked the right answer.

Final answer
14.84 m long
measured along the pool's top edge · ± ~1 m · width not measurable (bottom edge obscured by pavilion roof)
Human-contributed — the operator clicked the endpoints on the interactive /draw tool
📏 Open the interactive measurement tool

Step 1 — Locate the hotel

Geocoded Fortuna Hotel Hanoi, 6B Láng Hạ via OpenStreetMap Nominatim:

lat = 21.0213317°N
lon = 105.8177774°E
17 storeys, 350 rooms
Wide satellite view with hotel marked

Esri World Imagery, z=19 (~0.2787 m/px). Red circle = hotel.

Step 2 — Zoom to the roof

800x800 crop showing Fortuna building

The pool is on the lower podium roof, not the tower's top floor.

Step 3 — AI failures before the human fix

Failure 1: Color-threshold bounding box. Segmented "blue" pixels, fit a minimum-area rectangle. The mask leaked onto shadows; result (16.4 × 10 m at 36°) had wrong rotation.

Failure 1: water mask overlay

Failure 2: Measured the wrong feature. Picked corners on the pavilion roof (the lower /) instead of the pool. Reported ~7.8 × 6.6 m.

Failure 2: measured pavilion roof

Failure 3: Right feature, wrong endpoints. Finally identified the correct dark-teal pool, but placed the top-right endpoint ~3 m past the pool-roof junction. Reported 17.83 m.

Step 4 — Human takes the pen

I stopped guessing and built an interactive canvas tool: click two points on the satellite image, get meters and angle. The operator clicked the pool's actual top-edge endpoints:

endpoints (displayed px):  (111, 77) → (231, 149)
scale:                     0.106 m per displayed px
length:                    √(120² + 72²) × 0.106  =  14.84 m
angle:                     31.0°

📏 Try the tool yourself

Step 5 — AI vs human, on the same image

AI's wrong line vs human's correct line

Red = AI's 17.83 m line. It cuts through the pool body into the pavilion roof.
Green = human's 14.84 m line. It traces the top edge of the dark-teal water cleanly from corner to where it meets the pavilion.
Error: 3.0 m too long — I kept pushing the right endpoint past the pool-roof junction because the edge is only a few pixels sharp at 0.28 m/px.

Final measurement

Final pool length: 14.84 m (human-drawn)

14.84 m along the pool's top edge — drawn by the human on /pool/draw.html.

Sanity check

14.84 m is a solid resort-style lap pool — short of 25 m Olympic, but plenty for casual lap swimming. Consistent with guest reviews calling it a "decent lap pool." Width is likely in the 6–8 m range based on visible glimpses of the pool edge left of the pavilion, but not confidently measurable from overhead imagery alone.

Three AI wrong turns, corrected by a human click.
(1) Color-threshold bounding box — wrong rotation (shadow leakage).
(2) Tight manual corners — on the pavilion roof, not the pool.
(3) Right feature, endpoints 3 m too generous.
Lesson: at 0.28 m/px with JPEG blur, pixel-level judgments can drift by several meters. When precision matters, put a human in the loop.
Caveats. Still ±1 m from pixel fuzz. For a definitive number, ask the front desk.

Imagery © Esri World Imagery · Geocoding © OpenStreetMap contributors, ODbL · Measurement tool: /pool/draw.html