Global Entity Matcher (GEM)

Technical documentation

Request access

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: MyTomTom dashboard at my.tomtom.com/gem (Maps → Global Entity Matcher in the sidebar)
  • 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
• Cancel job runs
• Upload data to storage

Resource Authorization:

  • Job runs: The job list shows the jobs you submitted. Viewing or canceling a job requires access to its storage
  • 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 and their GERS IDs
  • LANE_LEVEL_MATCHING: Match GPS traces to the roads and lanes of TomTom Orbis Maps

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

TomTom Orbis Maps integration

Lane-level matching matches GPS traces against the roads and lanes of TomTom Orbis Maps:

  • Lane-level detail: Road areas, connectors, and individual lanes
  • Map revision: Every result row includes the revision of the map it was matched against (mapRevisionId)

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: Road matching: Parquet with the required columns. Lane-level matching: nested Parquet or CSV traces. See Data preparation
  • Geometry Format: WKT LineString for road matching; WKT LineString or Point for lane-level CSV traces
  • 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 or expired credentialsRequest new credentials and verify Client ID and Secret
Upload FailedNetwork or permission issueCheck storage access (READ_WRITE) and retry
Job Submission RejectedUnsupported file extension, file not found, unknown Overture release, or an identical job still runningRead the error message, see Troubleshooting
Job FailedInput file problem or system errorRead the messages on the job details page or in error_messages
Download FailedExpired credentialsRe-authenticate and retry

Additional resources