Импортируйте большой файл gpx в mysql с помощью LOAD DATA LOCAL INFILE - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь импортировать большой файл gpx в mysql, используя LOAD DATA LOCAL INFILE.

Проблема:

Значения LAT и LON не записаныв таблице, остальные уже.

Мой вопрос:

как мне обратиться к значениям ​​LAT и LON, чтобы они также записывались втаблица?

Большое спасибо

Пример gpx Track:

 ...
<gpx>
<trk>
<trkseg>    
<trkpt lat="53.549945" lon="10.025673">
        <ele>39.100000</ele>
        <time>2019-03-20T01:39:59.000Z</time>
        <fix>3d</fix>
       </trkpt>
       <trkpt lat="53.549932" lon="10.025675">
        <ele>38.600000</ele>
        <time>2019-03-20T01:40:00.000Z</time>
        <fix>3d</fix>
       </trkpt>
       <trkpt lat="53.549925" lon="10.025682">
        <ele>38.500000</ele>
        <time>2019-03-20T01:40:01.000Z</time>
        <fix>3d</fix>
       </trkpt>
    </trkseg>
    </trk>
    </gpx>
    ...

А это мой MySql-Query, для вставки данных:

$this->db->query("
        LOAD DATA LOCAL INFILE '" . $files['gpx']['tmp_name'] . "' 
        INTO TABLE `track` 
        CHARACTER SET 'utf8'
        LINES STARTING BY '<trkseg>' TERMINATED BY '</trkseg>'
(@tmp)
SET
lat = ExtractValue(@tmp, '//lat'),    
lon = ExtractValue(@tmp, '//lon'),
ele = ExtractValue(@tmp, '//ele'),
time = ExtractValue(@tmp, '//time'),
fix = ExtractValue(@tmp, '//fix')
");
...