Skip to main content

Forensic Spatial Auditor

📖6 min read

Forensic Spatial Auditor Demo

Introduction​

The Forensic Spatial Auditor is a professional metrology and forensic tool for Blender designed to quantify the Uncertainty Budget of spatial measurements derived from aerial satellite imagery.

Unlike standard measuring tools that provide a single absolute value, this auditor uses the Root Sum Square (RSS) method to calculate a statistically rigorous measurement result. It combines user-induced measurement variance with sensor-specific uncertainty (Ground Sample Distance) to provide a final audited result with clear confidence intervals.

Download: Get the Addon on GitHub


Quantified Uncertainty

Moves beyond simple measurements to provide scientific results with confidence intervals (e.g., 10.04m ± 0.02m).

Standardized Data

Built-in tiers for Aerial Photography, Commercial Satellite, and Landsat/Sentinel data sources.

Methodology Export

One-click generation of research-ready text for technical reports and affidavits.


How It Works: The Statistical Logic​

The Forensic Spatial Auditor doesn't just measure a line; it calculates the limits of what can be known about that line based on the quality of your evidence.

1. Establishing the Bracket (Resolution Limits)​

Every digital image is a grid of pixels. In satellite imagery, the size of these pixels on the ground is the Ground Sample Distance (GSD). If a resolution range is "15–30cm", every pixel represents an area between 15cm and 30cm wide.

This creates a "fog of uncertainty." When you click a point, you aren't clicking an exact coordinate; you are clicking somewhere within that pixel's area. You must decide how conservative to be about this "fog":

  • Optimistic (15cm GSD): Assumes the best quality. Point error ≈ 7.5cm.
  • Balanced (22.5cm GSD): Assumes average quality. Point error ≈ 11.25cm.
  • Defensive (30cm GSD): Assumes worst quality. Point error ≈ 15cm.

Total Image Uncertainty (σi\sigma_i) is calculated using RSS on the start and end points of your line. For a defensive profile (30cm), independent errors at both ends result in a total image uncertainty of ±21.2cm.

2. User Variability (The Human Factor)​

Even with a perfect image, human clicking is inconsistent. If you measure a wall five times, you will get five slightly different numbers. This is your User Induced Uncertainty (σuser\sigma_{user}).

The tool calculates the standard deviation of your trials. Because sample sizes in investigations are small (e.g., 5 measurements), it applies a Bessel Correction (dividing by n−1n-1 instead of nn). This slightly increases the uncertainty margin to account for the fact that a small sample size might miss extreme measurement errors, keeping the result "honest" and statistically defensible.

3. Root Sum Square (The Combination)​

Finally, the tool combines the Image Uncertainty (Systematic) and User Uncertainty (Random). Because your shaky hand is independent of the satellite's resolution, simply adding them together would overestimate the error.

Instead, we use the Root Sum Square (RSS) formula: σtotal=σimage2+σuser2\sigma_{total} = \sqrt{\sigma_{image}^2 + \sigma_{user}^2}

Often, you will find that human error adds very little to the total. If the image uncertainty is 21.2cm and you add 4cm of human error, the total only rises to ~21.6cm. This reveals the "physical floor" of the evidence.

4. Confidence Intervals (Sigmas)​

The final result is reported with a confidence level:

  • 1 Sigma (1σ1\sigma): ~68% confidence. "We are 68% sure the true value is in this range."
  • 2 Sigma (2σ2\sigma): ~95.4% confidence. The forensic gold standard. "We are 95% sure..."
  • 3 Sigma (3σ3\sigma): ~99.7% confidence. Nearly absolute certainty.

Installation​

  1. Download rss_measure.py.
  2. Open Blender and go to Edit > Preferences > Add-ons.
  3. Click Install... and select rss_measure.py.
  4. Enable the addon by checking the box next to 3D View: Forensic Spatial Auditor.

Workflow​

1. Primary Observation Data​

  1. Open the N-Panel in the 3D Viewport (press N) and select the View tab.
  2. Locate the Spatial Uncertainty Auditor panel.
  3. Click Add Trial to create input fields.
  4. Input multiple measurements of the same feature (e.g., the length of a skid mark). The tool automatically calculates the User Induced Uncertainty (uou_o) based on your variance.

2. Sensor-Induced Uncertainty​

  1. Select your Source Data system:
    • Aerial Photography: 15-30 cm GSD
    • Commercial Satellite: 30-60 cm GSD
    • Older Satellite: 1.0-2.5 m GSD
    • Landsat/Sentinel: 15-30 m GSD (Wilderness/Oceans)
  2. Choose a Conservatism Profile:
    • Optimistic: Best-case GSD from the tier.
    • Balanced: Average GSD.
    • Defensive: Worst-case GSD (Recommended for forensic auditing).

3. Combined Uncertainty Budget​

  1. Set your Coverage Factor (kk / σ\sigma).
    • Standard forensic context: k=2k=2 (95.4% confidence).
    • Also supports k=1k=1 (68.2%) and k=3k=3 (99.7%).
  2. Review the Audit Result. This displays your mean measurement plus/minus the expanded uncertainty.

4. Export for Documentation​

  1. Click Copy for Methodology.
  2. Paste the result directly into your research paper, affidavit, or technical report.

Technical Details​

The tool employs the Root Sum Square (RSS) method to derive the final uncertainty (UU).

U=kâ‹…uuser2+usensor2U = k \cdot \sqrt{u_{user}^2 + u_{sensor}^2}

Where:

  • kk is the coverage factor (Sigma level).
  • uuseru_{user} is the standard deviation derived from multiple user measurement trials.
  • usensoru_{sensor} is the error derived from the pixel pitch (GSD) or empirical Harrington rates.

Built-in Empirical Rates: The tool includes Harrington Empirical Rates for specific forensic scenarios:

  • On-road analysis: 1.45% uncertainty rate.
  • Off-road analysis: 1.61% uncertainty rate.

Documentation for Methodology​

What to document when using Forensic Spatial Auditor

In Your Method Section​

The Forensic Spatial Auditor aims to standardize mathematical reporting. When documenting your process, you should explicitly state the parameters used in the calculation:

  • Source Data Tier: (e.g., "Commercial Satellite (30-60cm GSD)")
  • Conservatism Profile: (e.g., "Defensive")
  • Coverage Factor: (e.g., "k=2k=2 (95.4% confidence)")
  • Number of Trials: The number of independent measurements taken.

In Your Decision Log​

Record the following:

  • Why a specific Source Data tier was chosen (e.g., "Based on Maxar imagery metadata identifying 50cm resolution").
  • The variance observed between measurement trials (User Induced Uncertainty).
  • Date performed.

Verification​

To verify the tool's output, you can manually calculate the RSS formula using the displayed uuseru_{user} and usensoru_{sensor} values. U=kâ‹…uuser2+usensor2U = k \cdot \sqrt{u_{user}^2 + u_{sensor}^2}

Example Methodology Statement​

"Spatial measurements were audited using the Forensic Spatial Auditor tool in Blender 3.6. Uncertainty was calculated using the Root Sum Square (RSS) method (k=2k=2, 95.4% confidence interval). Based on commercial satellite imagery constraints (Defensive profile, approx. 60cm GSD) and user measurement variance across 5 trials, the final audited length is 14.2m ± 0.6m."


Summary​

Key Takeaways:

  • Never report a single number for a forensic measurement; always include the uncertainty range.
  • Use Defensive profiles when the exact GSD is unknown to ensure the result is legally defensible.
  • The Copy for Methodology feature ensures your reporting language is statistically accurate and consistent.