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:


< ?xml version="1.0" encoding="UTF-8"?>
< gpx version="1.0">
< name>Gpx track< /name>
< trk>< name>Track< /name>< number>1< /number>< trkseg>

..............
..............
..............
< trkpt lat="51.999999" lon="15.77777">< ele>600.0< /ele>< time>2020-03-08T10:42:31+0100< /time>< /trkpt>
..............
..............
..............

< /trkseg>< /trk>
< /gpx>


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, '< /trkseg>< /trk>')) {
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, '< name>Gpx track< /name>')) {
continue;
} elseif (strpos($line, '< trk>< name>Track< /name>< number>1< /number>< trkseg>')) {
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é) Show english version

Komentáře

Vaše reakce na PHP - jak sloučit dva GPX soubory (XML merge, PHP GPX analyzer)

Související obsah

programovani

nette

xml

php

gpx

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.