mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-28 05:34:47 +01:00
Improved ENC style
This commit is contained in:
parent
cc2703e71d
commit
5ef31f47f2
@ -116,6 +116,7 @@ HEADERS += src/common/config.h \
|
|||||||
src/GUI/passwordedit.h \
|
src/GUI/passwordedit.h \
|
||||||
src/data/style.h \
|
src/data/style.h \
|
||||||
src/data/twonavparser.h \
|
src/data/twonavparser.h \
|
||||||
|
src/map/ENC/attributes.h \
|
||||||
src/map/ENC/mapdata.h \
|
src/map/ENC/mapdata.h \
|
||||||
src/map/ENC/objects.h \
|
src/map/ENC/objects.h \
|
||||||
src/map/ENC/rastertile.h \
|
src/map/ENC/rastertile.h \
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include "common/util.h"
|
#include "common/util.h"
|
||||||
#include "objects.h"
|
#include "objects.h"
|
||||||
|
#include "attributes.h"
|
||||||
#include "mapdata.h"
|
#include "mapdata.h"
|
||||||
|
|
||||||
using namespace ENC;
|
using namespace ENC;
|
||||||
@ -86,9 +87,8 @@ static bool polygonCb(MapData::Poly *polygon, void *context)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint depthLevel(const QVariant &DRVAL1)
|
static uint depthLevel(const QString &str)
|
||||||
{
|
{
|
||||||
QString str(DRVAL1.toString());
|
|
||||||
double minDepth = str.isEmpty() ? -1 : str.toDouble();
|
double minDepth = str.isEmpty() ? -1 : str.toDouble();
|
||||||
|
|
||||||
if (minDepth < 0)
|
if (minDepth < 0)
|
||||||
@ -362,10 +362,11 @@ MapData::Attr MapData::pointAttr(const ISO8211::Record &r, uint OBJL)
|
|||||||
const QVector<QVariant> &av = ATTF->data().at(i);
|
const QVector<QVariant> &av = ATTF->data().at(i);
|
||||||
uint key = av.at(0).toUInt();
|
uint key = av.at(0).toUInt();
|
||||||
|
|
||||||
if (key == 116)
|
if (key == OBJNAM)
|
||||||
label = av.at(1).toString();
|
label = av.at(1).toString();
|
||||||
if ((OBJL == HRBFAC && key == 30) || (OBJL == LNDMRK && key == 35)
|
if ((OBJL == HRBFAC && key == CATHAF)
|
||||||
|| (OBJL == WRECKS && key == 71))
|
|| (OBJL == LNDMRK && key == CATLMK)
|
||||||
|
|| (OBJL == WRECKS && key == CATWRK))
|
||||||
subtype = av.at(1).toString().toUInt();
|
subtype = av.at(1).toString().toUInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,9 +386,9 @@ MapData::Attr MapData::lineAttr(const ISO8211::Record &r, uint OBJL)
|
|||||||
const QVector<QVariant> &av = ATTF->data().at(i);
|
const QVector<QVariant> &av = ATTF->data().at(i);
|
||||||
uint key = av.at(0).toUInt();
|
uint key = av.at(0).toUInt();
|
||||||
|
|
||||||
if (key == 116)
|
if (key == OBJNAM)
|
||||||
label = av.at(1).toString();
|
label = av.at(1).toString();
|
||||||
if ((OBJL == DEPCNT && key == 174))
|
if ((OBJL == DEPCNT && key == VALDCO))
|
||||||
label = av.at(1).toString();
|
label = av.at(1).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -396,8 +397,8 @@ MapData::Attr MapData::lineAttr(const ISO8211::Record &r, uint OBJL)
|
|||||||
|
|
||||||
MapData::Attr MapData::polyAttr(const ISO8211::Record &r, uint OBJL)
|
MapData::Attr MapData::polyAttr(const ISO8211::Record &r, uint OBJL)
|
||||||
{
|
{
|
||||||
if (OBJL != DEPARE)
|
QString label;
|
||||||
return Attr();
|
uint subtype = 0;
|
||||||
|
|
||||||
const ISO8211::Field *ATTF = r.field("ATTF");
|
const ISO8211::Field *ATTF = r.field("ATTF");
|
||||||
if (!(ATTF && ATTF->data().at(0).size() == 2))
|
if (!(ATTF && ATTF->data().at(0).size() == 2))
|
||||||
@ -405,11 +406,15 @@ MapData::Attr MapData::polyAttr(const ISO8211::Record &r, uint OBJL)
|
|||||||
|
|
||||||
for (int i = 0; i < ATTF->data().size(); i++) {
|
for (int i = 0; i < ATTF->data().size(); i++) {
|
||||||
const QVector<QVariant> &av = ATTF->data().at(i);
|
const QVector<QVariant> &av = ATTF->data().at(i);
|
||||||
if (av.at(0).toUInt() == 87)
|
uint key = av.at(0).toUInt();
|
||||||
return Attr(depthLevel(av.at(1)));
|
|
||||||
|
if (OBJL == DEPARE && key == DRVAL1)
|
||||||
|
subtype = depthLevel(av.at(1).toString());
|
||||||
|
else if (OBJL == RESARE && key == CATREA)
|
||||||
|
subtype = av.at(1).toString().toUInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Attr();
|
return Attr(subtype, label);
|
||||||
}
|
}
|
||||||
|
|
||||||
MapData::Point *MapData::pointObject(const Sounding &s)
|
MapData::Point *MapData::pointObject(const Sounding &s)
|
||||||
|
@ -37,9 +37,12 @@
|
|||||||
#define PILPNT 90
|
#define PILPNT 90
|
||||||
#define PIPSOL 94
|
#define PIPSOL 94
|
||||||
#define PONTON 95
|
#define PONTON 95
|
||||||
|
#define RESARE 112
|
||||||
#define RIVERS 114
|
#define RIVERS 114
|
||||||
#define SLCONS 122
|
#define SLCONS 122
|
||||||
#define SOUNDG 129
|
#define SOUNDG 129
|
||||||
|
#define TSSBND 146
|
||||||
|
#define TSEZNE 150
|
||||||
#define UWTROC 153
|
#define UWTROC 153
|
||||||
#define WRECKS 159
|
#define WRECKS 159
|
||||||
#define M_COVR 302
|
#define M_COVR 302
|
||||||
|
@ -19,8 +19,10 @@ void Style::defaultPolygonStyle()
|
|||||||
_polygons[SUBTYPE(DEPARE, 4)] = Polygon(QBrush("#c0d0ff"));
|
_polygons[SUBTYPE(DEPARE, 4)] = Polygon(QBrush("#c0d0ff"));
|
||||||
_polygons[SUBTYPE(DEPARE, 5)] = Polygon(QBrush("#c0e0ff"));
|
_polygons[SUBTYPE(DEPARE, 5)] = Polygon(QBrush("#c0e0ff"));
|
||||||
_polygons[SUBTYPE(DEPARE, 6)] = Polygon(QBrush("#ffffff"));
|
_polygons[SUBTYPE(DEPARE, 6)] = Polygon(QBrush("#ffffff"));
|
||||||
_polygons[TYPE(DMPGRD)] = Polygon(QBrush(QColor("#a3a3a3"), Qt::Dense3Pattern));
|
_polygons[TYPE(DMPGRD)] = Polygon(QBrush(QColor("#a3a3a3"),
|
||||||
_polygons[TYPE(FAIRWY)] = Polygon(QBrush("#fcb4fc"));
|
Qt::Dense3Pattern));
|
||||||
|
_polygons[TYPE(FAIRWY)] = Polygon(Qt::NoBrush, QPen(QColor("#888888"), 1,
|
||||||
|
Qt::DashDotDotLine));
|
||||||
_polygons[TYPE(OBSTRN)] = Polygon(Qt::NoBrush, QPen(QColor("#000000"), 1.5,
|
_polygons[TYPE(OBSTRN)] = Polygon(Qt::NoBrush, QPen(QColor("#000000"), 1.5,
|
||||||
Qt::DotLine));
|
Qt::DotLine));
|
||||||
_polygons[TYPE(PONTON)] = Polygon(QBrush("#333333"));
|
_polygons[TYPE(PONTON)] = Polygon(QBrush("#333333"));
|
||||||
@ -32,6 +34,9 @@ void Style::defaultPolygonStyle()
|
|||||||
QPen(QColor("#000000"), 1));
|
QPen(QColor("#000000"), 1));
|
||||||
_polygons[TYPE(RIVERS)] = Polygon(QBrush("#9fc4e1"));
|
_polygons[TYPE(RIVERS)] = Polygon(QBrush("#9fc4e1"));
|
||||||
_polygons[TYPE(AIRARE)] = Polygon(QBrush("#333333"));
|
_polygons[TYPE(AIRARE)] = Polygon(QBrush("#333333"));
|
||||||
|
_polygons[SUBTYPE(RESARE, 9)] = Polygon(QBrush(QColor("#ff0000"),
|
||||||
|
Qt::BDiagPattern), QPen(QColor("#ff0000"), 1));
|
||||||
|
_polygons[TYPE(TSEZNE)] = Polygon(QBrush("#80fcb4fc"));
|
||||||
|
|
||||||
_drawOrder
|
_drawOrder
|
||||||
<< TYPE(M_COVR) << TYPE(LNDARE) << TYPE(BUISGL) << SUBTYPE(DEPARE, 0)
|
<< TYPE(M_COVR) << TYPE(LNDARE) << TYPE(BUISGL) << SUBTYPE(DEPARE, 0)
|
||||||
@ -39,7 +44,7 @@ void Style::defaultPolygonStyle()
|
|||||||
<< SUBTYPE(DEPARE, 4) << SUBTYPE(DEPARE, 5) << SUBTYPE(DEPARE, 6)
|
<< SUBTYPE(DEPARE, 4) << SUBTYPE(DEPARE, 5) << SUBTYPE(DEPARE, 6)
|
||||||
<< TYPE(LAKARE) << TYPE(RIVERS) << TYPE(FAIRWY) << TYPE(AIRARE)
|
<< TYPE(LAKARE) << TYPE(RIVERS) << TYPE(FAIRWY) << TYPE(AIRARE)
|
||||||
<< TYPE(BRIDGE) << TYPE(SLCONS) << TYPE(PONTON) << TYPE(DMPGRD)
|
<< TYPE(BRIDGE) << TYPE(SLCONS) << TYPE(PONTON) << TYPE(DMPGRD)
|
||||||
<< TYPE(OBSTRN) << TYPE(ACHARE);
|
<< TYPE(TSEZNE) << TYPE(OBSTRN) << TYPE(ACHARE) << SUBTYPE(RESARE, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Style::defaultLineStyle()
|
void Style::defaultLineStyle()
|
||||||
@ -58,6 +63,7 @@ void Style::defaultLineStyle()
|
|||||||
_lines[TYPE(PONTON)] = Line(QPen(QColor("#333333"), 1, Qt::SolidLine));
|
_lines[TYPE(PONTON)] = Line(QPen(QColor("#333333"), 1, Qt::SolidLine));
|
||||||
_lines[TYPE(DYKCON)] = Line(QPen(QColor("#333333"), 2, Qt::SolidLine));
|
_lines[TYPE(DYKCON)] = Line(QPen(QColor("#333333"), 2, Qt::SolidLine));
|
||||||
_lines[TYPE(RIVERS)] = Line(QPen(QColor("#000000"), 1, Qt::SolidLine));
|
_lines[TYPE(RIVERS)] = Line(QPen(QColor("#000000"), 1, Qt::SolidLine));
|
||||||
|
_lines[TYPE(TSSBND)] = Line(QPen(QColor("#eb49eb"), 2, Qt::DashLine));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Style::defaultPointStyle()
|
void Style::defaultPointStyle()
|
||||||
|
Loading…
Reference in New Issue
Block a user