i wrote the PHP script to read from each huge file first 400 characters and to grab lat and lon..
for the test i used xampp windows :
index.php
<?php
$dir='.';
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if( ($file!='index.php')and($file!='.')and($file!='..') and (pathinfo($file)['extension']=='xml')){
//echo $file.'<br>';
$f=fopen($file,'r');
$read400= fread($f,400);// read partial file 'cause is huge
//echo $read400.'<hr>';
$lat_sta=strpos($read400,'trkpt lat="');//11 " " -2
$lat_stp=strpos($read400,'" lon="',$lat_sta+11);
//echo substr($read400,$lat_sta+11,$lat_stp-$lat_sta-11);echo '<br>';
$lat=substr($read400,$lat_sta+11,$lat_stp-$lat_sta-11);
$lon_sta=strpos($read400,'lon="',$lat_stp);
$lon_stp=strpos($read400,'"',$lon_sta+5);
//echo substr($read400,$lon_sta+5,$lon_stp-$lon_sta-5);echo '<br>';
$lon=substr($read400,$lon_sta+5,$lon_stp-$lon_sta-5);
$data[]=[$lat,$lon];
fclose($f);
}
}
closedir($dh);
}
}
isset($data)&& var_dump($data);
?>
and file1.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<name>T2022-02-02-13-52</name> <bounds minlat="55.63957603" minlon="12.45321142" maxlat="55.71344546" maxlon="12.50049124"/></metadata><trk>
<trkseg>
<trkpt lat="55.6401" lon="12.49971159">
<ele>13.5</ele><time>2022-02-02T08:39:56Z</time>
</trkpt>
<trkpt lat="55.64005171" lon="12.49973769">
<ele>1.6</ele><time>2022-02-02T08:40:07Z</time>
</trkpt>
and file2.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<name>T2022-02-02-13-52</name> <bounds minlat="55.63957603" minlon="12.45321142" maxlat="55.71344546" maxlon="12.50049124"/></metadata><trk>
<trkseg>
<trkpt lat="55.601" lon="12.4959">
<ele>13.5</ele><time>2022-02-02T08:39:56Z</time>
</trkpt>
<trkpt lat="55.64005171" lon="12.49973769">
<ele>1.6</ele><time>2022-02-02T08:40:07Z</time>
</trkpt>
the result is:
array(2) { [0]=> array(2) { [0]=> string(7) "55.6401" [1]=> string(11) "12.49971159" } [1]=> array(2) { [0]=> string(6) "55.601" [1]=> string(7) "12.4959" } }