Skip to main content

Bridge Restrictions - Implementation Status

Last Updated: October 16, 2025 Database Table: road_restrictions Total Records: 116,668

Summary​

VanSafe's bridge restrictions database provides comprehensive coverage of bridge height clearances, load limits, and road restrictions across Australia. The data combines national NHVR (National Heavy Vehicle Regulator) data with state-specific datasets from 6 Australian states.

Key Statistics​

Total Restrictions: 116,668
├─ NHVR (National): 101,333 (86.8%)
├─ Victoria: 6,540 (5.6%)
├─ Western Australia: 3,158 (2.7%)
├─ Queensland: 2,000 (1.7%)
├─ ACT: 1,314 (1.1%)
├─ Tasmania: 1,170 (1.0%)
└─ New South Wales: 1,153 (1.0%)

Caravan Impact:

  • Affects caravans: 15,958+ (13.7%)
  • Safe for caravans: 100,710+ (86.3%)

Height Clearances: 5,563 detailed measurements (VIC: 4,410 + NSW: 1,153)

Data Sources​

1. NHVR (National) - ✅ Complete​

  • Source: National Heavy Vehicle Regulator
  • Records: 101,333 restrictions
  • Coverage: National heavy vehicle network
  • Affecting Caravans: 11,489 restrictions
  • Script: scripts/collect-nhvr-restrictions.ts
  • Command: npm run db:import-nhvr-restrictions

Data Quality:

  • ✅ National coverage across all states
  • ✅ Multiple layer types (restricted routes, conditional routes, height clearances)
  • ⚠️ Most records lack specific height/width/weight values (stored in nhvr_properties JSON)
  • ✅ Good categorization of restriction types

2. Tasmania - ✅ Complete​

  • Source: State Growth Tasmania
  • Records: 1,170 restrictions (42 bridges, 1,128 roads)
  • Affecting Caravans: 194 restrictions
  • Load Limits Range: 2t - 50t
  • Script: scripts/import-tas-bridges.ts
  • Command: npm run db:import-tas-bridges

Data Quality:

  • ✅ Complete Tasmania coverage
  • ✅ Actual load limit values in tonnes
  • ✅ Bridge and road names included
  • ✅ Asset owner information

3. Queensland - ✅ Complete​

  • Source: Queensland Transport and Main Roads
  • Records: 2,000 state-controlled bridges
  • Script: scripts/import-qld-bridges.ts
  • Command: npm run db:import-qld-bridges

Data Quality:

  • ✅ State-controlled bridges across Queensland
  • ✅ Geometry data included (Point and LineString)
  • ✅ Comprehensive coverage of major roads
  • ✅ ArcGIS REST API provides reliable access

4. Western Australia - ✅ Complete​

  • Source: Main Roads Western Australia
  • Records: 3,158 structures
  • Affecting Caravans: 66 structures
  • Script: scripts/import-wa-bridges.ts
  • Command: npm run db:import-wa-bridges

Data Quality:

  • ✅ Comprehensive structures dataset (bridges, tunnels, sign gantries)
  • ✅ GeoJSON format available via ArcGIS Open Data
  • ✅ Includes structure types and IDs
  • ✅ Regular updates from Main Roads WA

5. Australian Capital Territory - ✅ Complete​

  • Source: ACT Government - TCCS
  • Records: 1,314 bridge assets
  • Script: scripts/import-act-bridges.ts
  • Command: npm run db:import-act-bridges

Data Quality:

  • ✅ All bridge assets in ACT
  • ✅ Socrata API provides reliable JSON access
  • ✅ Includes asset types, ownership, location data
  • ✅ Complete ACT coverage

6. New South Wales - ✅ Complete​

  • Source: Transport for NSW Open Data Hub
  • Records: 1,153 vertical clearances
  • Affecting Caravans: 23 restrictions
  • Height Range: 2.19m - 18.10m
  • Average Clearance: 5.56m
  • Danger Level: 10 bridges (< 3.0m)
  • Script: scripts/import-nsw-bridges-excel.ts
  • Command: npm run db:import-nsw-bridges-excel

Data Quality:

  • ✅ Comprehensive NSW state roads coverage
  • ✅ All records have accurate height clearance measurements
  • ✅ Complete coordinate data for mapping
  • ✅ Detailed bridge descriptions and locations
  • ✅ Regional and zone information included

Implementation Notes:

  • Excel file (XLSX) parsed using xlsx library
  • Data from "Min Vertical Clearance" sheet
  • Includes bridge numbers, descriptions, and road numbers
  • Last updated: October 2023

7. Victoria - ✅ Complete​

  • Source: Transport Victoria / VicRoads
  • Records: 6,540 road bridges
  • With Height Data: 4,410 bridges with clearance measurements
  • Affecting Caravans: 3,992 restrictions
  • Height Range: 0.20m - 36.80m
  • Script: scripts/import-vic-bridges-csv.ts
  • Command: npm run db:import-vic-bridges-csv

Data Quality:

  • ✅ Comprehensive Victoria bridge dataset
  • ✅ 4,410 bridges with actual height clearance data
  • ✅ Includes rail overpasses (90 identified)
  • ✅ Complete coordinate data for mapping
  • ✅ Bridge types, structure forms, and status included
  • ⚠️ Some bridges lack specific height measurements

Implementation Notes:

  • CSV file downloaded from Transport Victoria Open Data Portal
  • Filters out invalid placeholder values (9999m)
  • Validates height clearances (0-50m range)
  • Flags bridges affecting caravans (< 3.5m clearance)

8. South Australia - ⚠️ Limited Scope​

  • Source: data.sa.gov.au
  • Status: ⚠️ Dataset limited to Adelaide City Council area only
  • Coverage: Adelaide metro area only (not statewide)
  • Decision: Skip SA-specific import, rely on NHVR national data

Limitations:

  • Only covers Adelaide City Council jurisdiction
  • Excludes state highways and regional bridges
  • NHVR data likely provides better SA coverage

9. Northern Territory - ⚠️ No State Dataset​

  • Coverage: NHVR national data only
  • No dedicated NT government dataset available

Import Commands​

Import Individual States​

# Import NHVR national data
npm run db:import-nhvr-restrictions

# Import individual states
npm run db:import-tas-bridges
npm run db:import-qld-bridges
npm run db:import-wa-bridges
npm run db:import-act-bridges
npm run db:import-nsw-bridges-excel
npm run db:import-vic-bridges-csv

Import All States​

# Import all state-specific bridge data sequentially
npm run db:import-all-state-bridges

This runs TAS, QLD, WA, ACT, VIC, and NSW imports in sequence.

Analysis Commands​

# Analyze bridge restrictions coverage
npm run db:analyze-bridge-restrictions

# Extract structured data from NHVR properties
npm run db:extract-nhvr-properties

# Analyze VIC missing heights
npm run db:analyze-vic-gaps

# Validate against OpenStreetMap
npm run db:validate-osm

Data Quality Assessment​

Strengths​

✅ Comprehensive national coverage via NHVR (101,333 records) ✅ State-specific bridge data for NSW, VIC, TAS, QLD, WA, ACT (15,335 records) ✅ 15,958+ caravan restrictions identified and flagged ✅ 5,563 height clearance measurements (NSW: 1,153 + VIC: 4,410) ✅ Geometry data for mapping and routing across all states ✅ Metadata preserved in nhvr_properties JSON ✅ Multiple reliable sources (Excel, ArcGIS APIs, CSV imports, Socrata API, GeoJSON)

Gaps​

⚠️ Limited specific measurements (height/width/weight) in some NHVR data ⚠️ No state-specific SA/NT data beyond NHVR ⚠️ Some VIC bridges lack height measurements (2,130 records)

Improvements Completed​

  1. ✅ NHVR Property Parsing: Extracted structured data from nhvr_properties JSON
  2. ✅ OSM Validation: Cross-referenced with OpenStreetMap bridge height tags
  3. ✅ VIC Missing Heights: Investigated data sources for missing heights (45 critical rail overpasses identified)

See Data Quality Improvements for detailed report.

Usage Examples​

Query Caravan-Unsafe Bridges in Tasmania​

const { data } = await supabase
.from('road_restrictions')
.select('*')
.eq('state', 'TAS')
.eq('affects_caravans', true)
.order('max_weight_tonnes', { ascending: true });

Find Low Clearances Near Route​

const { data } = await supabase
.from('road_restrictions')
.select('*')
.not('max_height_meters', 'is', null)
.lt('max_height_meters', 3.5)
.gte('latitude', minLat)
.lte('latitude', maxLat)
.gte('longitude', minLon)
.lte('longitude', maxLon);

Status​

🟢 Production Ready

  • ✅ National network via NHVR (101,333 records)
  • ✅ 6 states with detailed bridge data (NSW, VIC, QLD, WA, ACT, TAS)
  • ✅ 5,563 height clearance measurements
  • ✅ 15,958+ caravan-specific restrictions identified
  • ⚠️ SA/NT limited to NHVR data

Recommendation: System is production ready with comprehensive coverage. Current data provides sufficient detail for caravan route planning across all Australian states.

Attribution​