Technical documentation
Request accessIntroduction
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:
| Permission | Capabilities |
|---|---|
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
- User Authentication: Microsoft Entra ID via Dashboard
- Storage Authorization: System validates storage access
- 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 IDsLANE_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
| Error | Cause | Resolution |
|---|---|---|
| Authentication Failed | Invalid or expired credentials | Request new credentials and verify Client ID and Secret |
| Upload Failed | Network or permission issue | Check storage access (READ_WRITE) and retry |
| Job Submission Rejected | Unsupported file extension, file not found, unknown Overture release, or an identical job still running | Read the error message, see Troubleshooting |
| Job Failed | Input file problem or system error | Read the messages on the job details page or in error_messages |
| Download Failed | Expired credentials | Re-authenticate and retry |
Additional resources
- Getting Started Guide
- UI Workflow Guide
- API Documentation
- Data preparation
- Troubleshooting
- Understanding GERS IDs
- Azure CLI Documentation
- Azure Blob Storage Guide
- FAQ