Parse and Decode Incoming GPS Data in PHP
Extract and convert GPS coordinates from a raw device payload in PHP.
edit_note
PHP Code Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Simulated GPS binary payload
$lat = 485245678; // 48.5245678
$lon = 237812345; // 23.7812345
$speed = 650; // 65.0 km/h
$timestamp = time(); // current UNIX timestamp
// Correct format string: NO SPACES
$payload = pack('llnN', $lat, $lon, $speed, $timestamp);
// Now unpack safely
$data = unpack('l_lat/l_lon/n_speed/N_time', $payload);
echo "Latitude: " . ($data['_lat'] / 1e7) . "\n";
echo "Longitude: " . ($data['_lon'] / 1e7) . "\n";
echo "Speed: " . ($data['_speed'] / 10) . " km/h\n";
echo "Time: " . date('Y-m-d H:i:s', $data['_time']) . "\n";
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
settingsPHP Version
panorama_fish_eye
7.2
panorama_fish_eye
7.4
panorama_fish_eye
8.0
panorama_fish_eye
8.1
task_alt
8.2
panorama_fish_eye
8.3
panorama_fish_eye
8.4
panorama_fish_eye
8.5
terminal
Execution Result
play_circle_outline
Ready to execute
Click the "Run Script" button to see the output here
article
Description
This snippet demonstrates how to process incoming GPS data sent from a device or tracker as a binary-encoded payload.
The payload contains packed binary values representing latitude, longitude, speed, and timestamp. Using PHP’s unpack() function, we extract each field and convert it into human-readable values.
This is a common task in telematics systems, GPS tracking platforms, and IoT gateways that interface with physical devices and need to log or visualize geolocation data.
Comments
No comments yet
Be the first to share your thoughts!