PHP - jak sloučit dva GPX soubory (XML merge, PHP GPX analyzer)

PHP - jak sloučit dva GPX soubory (XML merge, PHP GPX analyzer)

Dobrý den,

mám v PHP naprogramovanou aplikaci, která čte data z GPX souboru přes SimpleXML - analyzuji přes ni rychlost, délku, výšku atd. Vše funguje ok, ale mám problém, že nevím jak ideálně či špíše jednoduše vyřešit sloučení dvou GPX souborů a možná časem více.

GPX soubory mají tuto strukturu:

Gpx track
Track1

..............
..............
..............
600.02020-03-08T10:42:31+0100
..............
..............
..............

Klidně si vystačím zatím s tím, že by PHP skript u prvního souboru odstranil zápatí a u druhého záhlaví s XML Declaration. Poradíte někdo? Díky

ODPOVĚĎ

Dobrý den,

pokud se spokojíte s hloupější variantou, která z prvního GPX souboru odstraní zápatí a u druhého záhlaví, tak by šlo sloučení GPX souborů pomocí PHP udělat takto:


// merge two gpx files
public function gpxMerge($file_one, $file_two)
{
$file_one = file_get_contents($file_one);
$file_two = file_get_contents($file_two);

$lines = explode("\n", $file_one);
$exclude = array();
foreach ($lines as $line) {
if (strpos($line, '')) {
continue;
} elseif (strpos($line, 'gpx>')) {
continue;
}
$exclude[] = $line;
}
$file_one = implode("\n", $exclude);

$lines = explode("\n", $file_two);
$exclude = array();
foreach ($lines as $line) {
if (strpos($line, 'version')) {
continue;
} elseif (strpos($line, 'Gpx track')) {
continue;
} elseif (strpos($line, 'Track1')) {
continue;
}
$exclude[] = $line;
}
$file_two = implode("\n", $exclude);

return $file_one . $file_two;

PS: Mám ověřeno, že to funguje (jen jsem musel zdejší verzi pro publikování upravit a to není ověřené)

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář