Repository navigation
Data Flow
Thorkee edited this page Apr 14, 2025
·
3 revisions
- User uploads file(s) through the frontend interface (GNSS and/or IMU files)
- Files are temporarily stored in the backend's upload directory
- Files are uploaded to Azure Blob Storage in the 'uploads' container
- A processing job is created in the Redis-backed Bull queue
- Job ID is returned to the frontend for status tracking

- Worker picks up the job from the queue
- File format is detected based on extension and content analysis
- AI-assisted conversion is attempted first using Azure OpenAI
- If AI conversion fails, fallback to standard format-specific conversion
- Converted data is validated and standardized
- If both GNSS and IMU files are provided, fusion is performed (not fully implemented)
- Results are stored in Azure Blob Storage in the 'processed' container
- Job status is updated with result URLs

- Parse header section for metadata
- Extract observation records
- Convert to standardized format
- Generate JSONL output
- Split into NMEA sentences
- Parse each sentence by type
- Extract coordinates and metadata
- Normalize timestamps
- Generate JSONL output
- Parse binary structure
- Extract message payloads
- Decode based on message type
- Combine related messages
- Generate JSONL output
When both AI and format-specific processing fail:
- Basic line-by-line conversion
- Field extraction using regular expressions
- Type detection for values
- Basic schema creation