How satellite pool measurement works
The satellite measurement tool estimates pool size from aerial imagery, visible boundaries, scale references and measurement checks. It can help with planning, but covered pools, shade, image quality and unusual shapes can limit accuracy. The system was conceived and developed by Palatial Pools in Melbourne, with the DCT channel representing an original contribution to the field of remote pool detection.
1. Multi-Zoom Orbital Image Acquisition
The system simultaneously acquires three satellite images at zoom levels 19, 20, and 21 - each rendered at scale=2 to produce 1280×1280 pixel super-resolution frames. This multi-focal approach provides three distinct ground coverages: • Zoom 19: ~190m × 190m coverage (0.149 m/pixel) - captures the full property context, driveway, and surrounding structures for reference calibration. • Zoom 20: ~96m × 96m coverage (0.075 m/pixel) - the primary measurement frame, balancing detail with context. • Zoom 21: ~48m × 48m coverage (0.037 m/pixel) - maximum detail for sub-pixel boundary refinement and coping edge detection. All three images are centred on the same geographic coordinate and fetched in parallel to minimise latency. Cross-referencing detections across zoom levels dramatically reduces false positives - a genuine pool appears consistently across all three frames while artefacts typically appear at only one scale.
- Three simultaneous focal lengths provide redundant confirmation
- Scale=2 super-resolution doubles effective pixel density (1280px from 640px base)
- Images are requested together to reduce waiting time
- Cross-zoom consistency check eliminates single-scale artefacts
2. Topology & Structural Edge Detection
Rather than relying solely on colour (which fails for covered, green, or dark-bottomed pools), our primary detection method analyses structural topology - the physical geometry of built objects: • Hard Geometric Edges: Pools exhibit straight lines, smooth curves, or defined kidney shapes that contrast sharply with organic garden boundaries. • Concrete Coping Detection: A lighter-coloured border (typically 0.3 to 0.5m wide) surrounding the water body is a near-universal indicator of a constructed pool. • Equipment Pad Identification: Grey/concrete rectangles (approximately 2×3m) with cylindrical objects nearby indicate pump/filter installations. • Shadow Pattern Analysis: Raised coping casts thin, consistent shadows. Pool fencing creates linear shadow patterns at predictable angles based on solar geometry. • Surrounding Hardscape Context: Paved areas, timber decking, or concrete aprons adjacent to the detected shape provide strong contextual confirmation. This shape-first approach can help when colour is misleading, such as with covered, green or dark-bottomed pools. It still depends on image quality and visible site features.
- Topology detection works on covered pools, dark-bottomed pools, and algae-affected pools
- Coping edge detection provides sub-pixel boundary localisation
- Equipment pad identification adds contextual confidence without relying on water visibility
- Shadow geometry cross-references solar angle at image capture time
3. JPEG image pattern checking
This check looks for image patterns that can appear around large, even-coloured areas such as pool water. It is one signal only and should be compared with shape, scale and site context. Fundamental Insight: JPEG compression operates on 8×8 pixel blocks using the Discrete Cosine Transform (DCT). When a region has uniform colour - such as pool water - the high-frequency DCT coefficients collapse to near-zero, creating distinct block boundaries. Pool water, being a large contiguous uniform-colour region (blue, cyan, teal), produces a fundamentally different block signature from surrounding textured surfaces (grass, concrete, decking, roofing). Pipeline: 1. Intentional Re-compression: The raw satellite PNG is re-compressed at JPEG quality Q62 with 4:4:4 chroma subsampling (no colour downsampling). This controlled degradation intentionally amplifies block artifacts in uniform regions while preserving colour accuracy. 2. 8×8 Block Uniformity Scoring: Every 8×8 pixel block is analysed for intra-block colour variance (σ²). Blocks with σ² < 120 are classified as 'uniform'. Each block receives a composite pool score: poolScore = colourScore × 0.6 + uniformityScore × 0.4 Where colourScore evaluates hue (peak at 180 to 210° cyan/turquoise), saturation (30 to 90% optimal), and lightness (30 to 75% optimal). 3. Flood-Fill Clustering: Adjacent uniform blocks with similar colour (Euclidean RGB distance < 60) are clustered via 8-connected flood-fill. This naturally groups contiguous pool-water regions while separating them from other uniform surfaces. 4. Candidate Filtering: Clusters are validated against physical constraints: • Minimum area: ~4m² (rejects small uniform patches) • Maximum area: ~200m² (rejects sky reflections or large roofs) • Aspect ratio: ≤ 6:1 (rejects paths, fences, linear features) • Compactness: ≥ 0.3 (rejects thin/irregular shapes) 5. Boundary Extraction: Convex hull of boundary blocks provides the pool outline polygon. Boundary sharpness is scored by measuring colour discontinuity between edge blocks and their non-cluster neighbours. 6. Confidence Gradient: Compression artifacts degrade INWARD - the blocky artifacts are strongest at the centre of uniform regions and transition at edges where pool meets non-uniform surroundings. This natural degradation pattern provides a confidence gradient: high confidence at centre, decreasing toward boundaries. Final confidence scoring: confidence = colourConfidence × 35 + avgPoolScore × 25 + sizeScore × 15 + sharpnessScore × 15 + compactnessScore × 10 Capped at 95% - DCT alone should never reach 100% without vision confirmation.
- Original Palatial Pools contribution - exploits JPEG compression physics as free edge detection
- Q62 intentional re-compression amplifies uniform-region block artifacts without destroying colour
- 4:4:4 chroma subsampling preserves full colour accuracy for hue-based pool identification
- 8-connected flood-fill naturally segments contiguous water bodies from textured surroundings
- Inward degradation principle provides a natural confidence gradient from centre to boundary
- Works independently of vision model - provides parallel confirmation or standalone detection
- Fast image checking without relying on a single detection method
4. Vehicle & Known-Object Scale Calibration
To convert pixel measurements into real-world dimensions with high accuracy, the system identifies objects of known physical size within the satellite imagery and uses them as calibration references: Calibration Reference Library: • Sedan vehicles: ~4.5m length • SUV/4WD vehicles: ~4.8m length • Ute/pickup trucks: ~5.3m length • Single garage doors: 2.4m width • Double garage doors: 4.8m width • Wheelie bins: 0.6m width × 1.1m height • Standard fence panels: 2.4m between posts • Rotary clotheslines: 3.0 to 3.6m diameter • Trampolines: 3.0 to 4.3m diameter The calibration formula is straightforward but powerful: scale (m/px) = Known_Length_metres ÷ Measured_Pixel_Span When a vehicle or garage door is identified, its pixel span is measured and used to derive a local ground-truth scale factor. This is cross-referenced against the theoretical pixel resolution (0.075 m/px at zoom 20) to validate or correct for any projection distortion at the specific latitude.
5. Colour-Gradient Depth Estimation
Within the detected pool boundary, the system analyses luminance and colour variation to estimate the depth profile: Physical Principle: Water absorbs light exponentially with depth. Shallower areas reflect more light from the pool floor (appearing lighter), while deeper areas absorb more light (appearing darker). This relationship follows the Beer-Lambert law of light attenuation in water. The depth estimation model: d(x,y) = α · ΔL(x,y) + β · h_excavation Where: • d(x,y) = estimated depth at pixel position (x,y) • ΔL = normalised luminance difference from the lightest pool pixel • α = depth-luminance coefficient (calibrated for typical pool water clarity) • β = excavation correction factor from elevation data • h_excavation = terrain elevation differential The system identifies: • Lightest areas → shallow end (typically 1.0 to 1.2m) • Darkest areas → deep end (typically 1.6 to 2.2m) • Uniform colour → consistent depth (common in plunge pools and spas) • Gradient patterns → sloped floor from shallow to deep end The tool flags when colour is not reliable. Covered pools, green water and dark interiors usually need a fallback estimate or manual measurement.
- Beer-Lambert attenuation principle maps luminance to depth
- Calibrated for typical Australian pool water clarity (0.5 to 3.0 NTU)
- Identifies uniform-depth pools vs graduated-slope pools
- Automatically flags unreliable readings and falls back to statistical model
6. Terrain Elevation Profiling
The system samples geodetic elevation data at 9 cardinal points: the pool centre plus 8 surrounding positions (N, S, E, W, NE, NW, SE, SW) offset 20 metres from the pool boundary. Excavation Depth Formula: Δh = h_surrounding_average − h_pool_surface Since swimming pools are excavated below grade, the pool surface elevation should be lower than the surrounding terrain. This differential provides an independent depth estimate that cross-validates the colour-gradient method. The 9-point sampling pattern accounts for: • Sloping blocks (common in Melbourne's eastern suburbs) • Terraced properties where one side is cut and the other filled • Properties where the pool is built into a hillside Elevation data resolution is approximately 1 to 3 metres horizontal and 0.1m vertical, sufficient to detect the 1 to 2m excavation typical of residential pools. The result is displayed as an Elevation Profile card showing pool surface elevation, surrounding terrain elevation, and estimated excavation depth.
- 9-point cardinal sampling pattern captures terrain slope
- Accounts for Melbourne's hilly eastern suburbs and terraced blocks
- Independent cross-validation of colour-gradient depth estimate
- 0.1m vertical resolution sufficient for typical 1 to 2m pool excavation
7. Melbourne Statistical Depth Model
When colour-gradient and elevation methods produce uncertain results, the system applies a statistical depth model trained on typical Melbourne residential pool construction patterns (informed by SPASA Victoria industry data): The model categorises pools by shape and surface area: • Spa (circular, <12 m²): 0.9m shallow / 1.1m deep (75% confidence) • Plunge pool (<15 m²): 1.2m / 1.5m (65% confidence) • Lap pool (>12m length): 1.2m / 1.8m uniform (60% confidence) • Small residential (<30 m²): 1.0m / 1.6m (60% confidence) • Standard residential (30 to 50 m²): 1.0m / 1.8m (65% confidence) • Large residential (>50 m²): 1.0m / 2.2m (55% confidence) These values represent the most common construction depths for Melbourne pools built between 1970 and 2020. The confidence scores reflect the variance within each category - spas are highly standardised (high confidence), while large pools have more variation in design (lower confidence). The statistical model is always computed but only used as the primary depth source when colour-gradient analysis is flagged as unreliable.
8. Geometric Computation & Volume Integration
Once the pool boundary polygon is established (typically 8 to 20 vertices for curved pools, 4 to 6 for rectangular), the system computes: Surface Area - Shoelace Formula (Gauss's Area Formula): A = ½ |Σᵢ (xᵢ · yᵢ₊₁ − xᵢ₊₁ · yᵢ)| This provides exact area regardless of polygon complexity, computed on projected coordinates to avoid spherical distortion. Perimeter - Summed Euclidean Distances: P = Σᵢ √((xᵢ₊₁ − xᵢ)² + (yᵢ₊₁ − yᵢ)²) Volume Integration - Depth-Weighted Surface Integral: V = ∫∫ D(x,y) dA × κ_shape Where κ_shape is a shape correction factor that accounts for the non-uniform depth profile: • Rectangular pools: κ ≈ 0.85 (hopper bottom reduces effective volume) • Kidney/freeform pools: κ ≈ 0.80 (irregular floor geometry) • Circular spas: κ ≈ 0.95 (near-uniform depth) Pixel-to-coordinate conversion uses the known ground sample distance at each zoom level, with the zoom 20 frame (0.075 m/pixel) as the primary measurement reference.
- Shoelace formula provides exact area for any polygon complexity
- Shape correction factors account for real-world pool floor geometry
- All measurements computed in projected coordinates (not angular)
- Cross-validated between zoom levels for consistency
9. Confidence Scoring & Multi-Method Fusion
The final confidence score is a weighted composite of all detection methods, with the DCT channel providing independent mathematical confirmation of the vision model's findings: Fusion Logic: • Vision + DCT agreement: Confidence boosted by up to 15% (DCT confirms what vision detected) • Vision only: Standard confidence scoring based on multi-zoom consistency • DCT only (vision missed): Added as lower-confidence candidate at 70% of DCT score • Area cross-reference: When both methods estimate area within 30%, marked as 'consistent' Final confidence tiers: • 95 to 100%: Clear geometric shape + coping + equipment pad + confirmed across all 3 zoom levels + DCT confirmation • 85 to 94%: Geometric shape + coping/hardscape + confirmed in 2+ zoom levels + DCT overlap • 70 to 84%: Pool-like shape, partially obscured, confirmed in 2+ zoom levels or DCT-detected • 50 to 69%: Possible pool, some obstruction, visible in 1 zoom level only or DCT-only detection • Below 50%: Uncertain - triggers manual fallback The system deliberately errs on the side of detection (false positives are preferable to missed pools) and uses a three-tier response: • HIGH confidence (≥85%): Auto-selects the pool, animates measurement, presents results directly. • MEDIUM confidence (50 to 84%): Presents candidate options with confidence scores for user selection. • LOW confidence (<50%): Gracefully transitions to manual polygon drawing or photo upload fallback. Using more than one check can improve the estimate when one method is weak, but the result still depends on the image and the pool's visibility.
- DCT provides independent mathematical confirmation without AI inference
- Multi-channel fusion prevents single-point-of-failure detection
- Area cross-reference between vision and DCT validates measurement accuracy
- Three-tier response adapts UX to confidence level
- Favours flagging possible pools for review rather than ignoring uncertain shapes
- Manual fallback is available when automatic detection is uncertain
Standards & Compliance
This tool refers to the following standards, guidance and data sources where relevant:
- ICSM Geocentric Datum of Australia 2020 (GDA2020)
- ASPRS Positional Accuracy Standards for Digital Geospatial Data
- SPASA Victoria, Swimming Pool Construction Standards
- AS 1926.1, Swimming Pool Safety (barrier requirements inform equipment pad detection)
- ISO 19157 - Geographic Information: Data Quality
- ISO/IEC 10918-1, JPEG Compression Standard (DCT block structure)
- Beer-Lambert Law, Light Attenuation in Aqueous Media