mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-02-21 10:10:49 +01:00
Compare commits
No commits in common. "27401d58b7a55bf43898536a4a22701f312467b7" and "6803ee0324275407e1b061791542c6b7d789ddd9" have entirely different histories.
27401d58b7
...
6803ee0324
@ -184,10 +184,7 @@ bool JLS::readLine(BitStream &bs)
|
|||||||
_b[1] = _b[1] + mes;
|
_b[1] = _b[1] + mes;
|
||||||
if (_n[1] == 0x40) {
|
if (_n[1] == 0x40) {
|
||||||
_a[1] = _a[1] >> 1;
|
_a[1] = _a[1] >> 1;
|
||||||
if (_b[1] >= 0)
|
_b[1] = _b[1] >> 1;
|
||||||
_b[1] = _b[1] >> 1;
|
|
||||||
else
|
|
||||||
_b[1] = -((1 - _b[1]) >> 1);
|
|
||||||
_n[1] = 0x21;
|
_n[1] = 0x21;
|
||||||
} else {
|
} else {
|
||||||
_n[1] = _n[1] + 1;
|
_n[1] = _n[1] + 1;
|
||||||
@ -276,10 +273,7 @@ bool JLS::readLine(BitStream &bs)
|
|||||||
_a[ictx] = _a[ictx] + (evh - rctx);
|
_a[ictx] = _a[ictx] + (evh - rctx);
|
||||||
if (_n[ictx] == 0x40) {
|
if (_n[ictx] == 0x40) {
|
||||||
_a[ictx] = _a[ictx] >> 1;
|
_a[ictx] = _a[ictx] >> 1;
|
||||||
if (_b[ictx] >= 0)
|
_b[ictx] = _b[ictx] >> 1;
|
||||||
_b[ictx] = _b[ictx] >> 1;
|
|
||||||
else
|
|
||||||
_b[ictx] = -((1 - _b[ictx]) >> 1);
|
|
||||||
_n[ictx] = 0x21;
|
_n[ictx] = 0x21;
|
||||||
} else
|
} else
|
||||||
_n[ictx] = _n[ictx] + 1;
|
_n[ictx] = _n[ictx] + 1;
|
||||||
|
@ -99,31 +99,16 @@ MatrixD Filter::blur(const MatrixD &m, int radius)
|
|||||||
{
|
{
|
||||||
MatrixD src(m);
|
MatrixD src(m);
|
||||||
MatrixD dst(m.h(), m.w());
|
MatrixD dst(m.h(), m.w());
|
||||||
double sum = 0;
|
|
||||||
int cnt = 0;
|
|
||||||
|
|
||||||
for (int i = 0; i < m.size(); i++) {
|
for (int i = 0; i < m.size(); i++)
|
||||||
if (!std::isnan(m.at(i))) {
|
if (std::isnan(m.at(i)))
|
||||||
sum += m.at(i);
|
src.at(i) = -500;
|
||||||
cnt++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cnt != m.size()) {
|
|
||||||
double avg = sum / cnt;
|
|
||||||
|
|
||||||
for (int i = 0; i < m.size(); i++)
|
|
||||||
if (std::isnan(m.at(i)))
|
|
||||||
src.at(i) = avg;
|
|
||||||
}
|
|
||||||
|
|
||||||
gaussBlur4(src, dst, radius);
|
gaussBlur4(src, dst, radius);
|
||||||
|
|
||||||
if (cnt != m.size()) {
|
for (int i = 0; i < dst.size(); i++)
|
||||||
for (int i = 0; i < dst.size(); i++)
|
if (std::isnan(m.at(i)))
|
||||||
if (std::isnan(m.at(i)))
|
dst.at(i) = NAN;
|
||||||
dst.at(i) = NAN;
|
|
||||||
}
|
|
||||||
|
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
@ -223,6 +223,18 @@ bool GCS::loadList(const QString &path)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Coordinates GCS::toWGS84(const Coordinates &c) const
|
||||||
|
{
|
||||||
|
return datum().toWGS84(Coordinates(_primeMeridian.toGreenwich(c.lon()),
|
||||||
|
c.lat()));
|
||||||
|
}
|
||||||
|
|
||||||
|
Coordinates GCS::fromWGS84(const Coordinates &c) const
|
||||||
|
{
|
||||||
|
Coordinates ds(datum().fromWGS84(c));
|
||||||
|
return Coordinates(_primeMeridian.fromGreenwich(ds.lon()), ds.lat());
|
||||||
|
}
|
||||||
|
|
||||||
QList<KV<int, QString> > GCS::list()
|
QList<KV<int, QString> > GCS::list()
|
||||||
{
|
{
|
||||||
QList<KV<int, QString> > list;
|
QList<KV<int, QString> > list;
|
||||||
|
@ -29,16 +29,8 @@ public:
|
|||||||
bool isValid() const {return _datum.isValid() && _angularUnits.isValid()
|
bool isValid() const {return _datum.isValid() && _angularUnits.isValid()
|
||||||
&& _primeMeridian.isValid();}
|
&& _primeMeridian.isValid();}
|
||||||
|
|
||||||
Coordinates toWGS84(const Coordinates &c) const
|
Coordinates toWGS84(const Coordinates &c) const;
|
||||||
{
|
Coordinates fromWGS84(const Coordinates &c) const;
|
||||||
return datum().toWGS84(Coordinates(_primeMeridian.toGreenwich(c.lon()),
|
|
||||||
c.lat()));
|
|
||||||
}
|
|
||||||
Coordinates fromWGS84(const Coordinates &c) const
|
|
||||||
{
|
|
||||||
Coordinates ds(datum().fromWGS84(c));
|
|
||||||
return Coordinates(_primeMeridian.fromGreenwich(ds.lon()), ds.lat());
|
|
||||||
}
|
|
||||||
|
|
||||||
static GCS gcs(int id);
|
static GCS gcs(int id);
|
||||||
static GCS gcs(int geodeticDatum, int primeMeridian, int angularUnits);
|
static GCS gcs(int geodeticDatum, int primeMeridian, int angularUnits);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user