2 #include "common/textcodec.h"
5 bool ITNParser::parse(QFile
*file
, QList
<TrackData
> &tracks
,
6 QList
<RouteData
> &routes
, QList
<Area
> &polygons
, QVector
<Waypoint
> &waypoints
)
13 TextCodec
codec(1252);
20 while (!file
->atEnd()) {
21 ba
= file
->readLine(4096);
23 QList
<QByteArray
> fields(ba
.split('|'));
24 if (fields
.size() < 4) {
25 _errorString
= "File format error";
29 lon
= fields
.at(0).toInt(&ok1
);
30 lat
= fields
.at(1).toInt(&ok2
);
31 if (!ok1
|| !ok2
|| lon
< -18000000 || lon
> 18000000
32 || lat
< -9000000 || lat
> 9000000) {
33 _errorString
= "Invalid coordinates";
36 Waypoint
wp(Coordinates(lon
/1e5
, lat
/1e5
));
37 wp
.setName(codec
.toString(fields
.at(2)));
43 rd
.setFile(file
->fileName());