Technical documentation

Introduction

This page provides technical details about the GEM architecture, data formats, and system components for developers and technical users.

System architecture

GEM consists of several integrated components:

GEM dashboard application (UI)

  • Framework: Web-based interactive interface
  • Deployment: Hosted on Dashboard (my.tomtom.com/gem)
  • Authentication: Microsoft Entra ID (Azure AD)
  • Authorization: Role-based access control

Backend services

  • Map Matching Engine: Advanced algorithms for road network matching
  • Pipeline Orchestration: Automated job processing and management
  • Job Management: Status tracking and results generation
  • Storage: Secure cloud storage for data management

Authorization and security

Access control

GEM uses role-based access control for secure operations:

Permission Levels:

PermissionCapabilities
READ• View job run data
• Download results
READ_WRITE• All Read Access permissions
• Trigger new job runs
• Upload data to storage

Resource Authorization:

  • Job runs: Users can only access their own jobs
  • Storage: Access controlled by your organization's permissions
  • Credentials: Temporary, scoped to specific operations

Authentication flow

  1. User Authentication: Microsoft Entra ID via Dashboard
  2. Storage Authorization: System validates storage access
  3. Credential Generation: Temporary tokens for Azure CLI

Performance metrics

System performance

Based on production metrics:

  • Uptime: ≥99% (continuously monitored)
  • Processing Speed: ~100,000 road segments matched per hour
  • Matching Accuracy: >85% confidence scores for high-quality input data
  • System Availability: Deployed on production cluster with Helm

Performance monitoring

Performance is continuously monitored to ensure:

  • High system uptime
  • Fast job execution
  • Accurate matching results
  • Minimal errors

Metrics tracked:

  • System uptime
  • Job execution time
  • Matching accuracy
  • Error rates

Access requirements

Access to GEM is controlled by your organization and project assignments. Access the service at my.tomtom.com/gem. Contact your system administrator if you need access to GEM.

Matching algorithms

AI-driven matching

GEM uses advanced algorithms for map matching:

  • Algorithm Type: AI-driven road network matching
  • Matching Strategy: Geometry-based with topological validation
  • Confidence Scoring: Probabilistic confidence for each match
  • Sub-Segment Precision: Linear referencing for detailed attribution

Matching types

Currently supported:

  • ROAD_MATCHING: Match road network data to Overture Maps road segments
  • LANE_LEVEL_MATCHING: Match lane-level data to Overture Maps lane segments (in progress)

Reference map data

Overture Maps integration

GEM matches against Overture Maps Foundation datasets:

  • GERS IDs: Global Entity Reference System identifiers
  • Road Network: Comprehensive global road coverage
  • Update Frequency: Periodic releases from Overture Foundation
  • Data Quality: Community-validated and continuously improved

Technical requirements

Client requirements

  • Azure CLI: Latest version installed locally
  • Network: Stable internet connection for large file transfers
  • Storage: Sufficient local disk space for data files
  • Browser: Modern web browser for UI access (Chrome, Firefox, Safari, Edge)

Data requirements

  • Input Size: No theoretical limit (Azure CLI handles any file size)
  • Format Compliance: Must be valid Parquet with required schema
  • Geometry Format: Valid WKT LineString geometries
  • Data Quality: Better input quality leads to higher matching confidence

Security and compliance

Data security

  • Encryption in Transit: TLS 1.2+ for all communications
  • Encryption at Rest: Azure Blob Storage encryption
  • Credential Security: Temporary tokens with limited scope
  • Access Logging: Comprehensive audit trails

Compliance

  • Quality Assurance: Enterprise-grade code quality scanning
  • Security Scanning: Regular vulnerability detection and patching
  • Database Security: Encrypted storage with network isolation

Error handling

Common error scenarios

ErrorCauseResolution
Authentication FailedInvalid credentialsVerify Client ID and Secret
Upload FailedNetwork or permission issueCheck storage access and retry
Job Submission FailedInvalid input formatValidate Parquet schema
Matching FailedData quality or system errorContact support
Download FailedExpired credentialsRe-authenticate and retry

Additional resources