mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-01-18 03:42:09 +01:00
Code cleanup
This commit is contained in:
parent
f1b52c7005
commit
335df85fae
@ -111,3 +111,13 @@ double DEMTree::elevation(const Coordinates &c) const
|
|||||||
|
|
||||||
return ele;
|
return ele;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MatrixD DEMTree::elevation(const MatrixC &m) const
|
||||||
|
{
|
||||||
|
MatrixD ret(m.h(), m.w());
|
||||||
|
|
||||||
|
for (int i = 0; i < m.size(); i++)
|
||||||
|
ret.at(i) = elevation(m.at(i));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define IMG_DEMTREE_H
|
#define IMG_DEMTREE_H
|
||||||
|
|
||||||
#include "common/rtree.h"
|
#include "common/rtree.h"
|
||||||
|
#include "map/matrix.h"
|
||||||
#include "mapdata.h"
|
#include "mapdata.h"
|
||||||
|
|
||||||
namespace IMG {
|
namespace IMG {
|
||||||
@ -11,6 +12,7 @@ public:
|
|||||||
DEMTree(const QList<MapData::Elevation> &tiles);
|
DEMTree(const QList<MapData::Elevation> &tiles);
|
||||||
|
|
||||||
double elevation(const Coordinates &c) const;
|
double elevation(const Coordinates &c) const;
|
||||||
|
MatrixD elevation(const MatrixC &m) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef RTree<const MapData::Elevation*, double, 2> Tree;
|
typedef RTree<const MapData::Elevation*, double, 2> Tree;
|
||||||
|
@ -483,22 +483,18 @@ MatrixD RasterTile::elevation(int extend) const
|
|||||||
|
|
||||||
if (_data->hasDEM()) {
|
if (_data->hasDEM()) {
|
||||||
RectC rect;
|
RectC rect;
|
||||||
QList<MapData::Elevation> tiles;
|
|
||||||
|
|
||||||
for (int i = 0; i < ll.size(); i++)
|
for (int i = 0; i < ll.size(); i++)
|
||||||
rect = rect.united(ll.at(i));
|
rect = rect.united(ll.at(i));
|
||||||
// Extra margin for always including the next DEM tile on the map tile
|
/* Extra margin for always including the next DEM tile on the map tile
|
||||||
// edges (the DEM tile resolution is usally 0.5-15% of the map tile)
|
edges (the DEM tile resolution is usally 0.5-15% of the map tile) */
|
||||||
double factor = 6 - (_zoom - 24) * 1.7;
|
double factor = 6 - (_zoom - 24) * 1.7;
|
||||||
_data->elevations(_file, rect.adjusted(0, 0, rect.width() / factor,
|
RectC br(rect.adjusted(0, 0, rect.width() / factor, -rect.height()
|
||||||
-rect.height() / factor), _zoom, &tiles);
|
/ factor));
|
||||||
|
|
||||||
DEMTree tree(tiles);
|
QList<MapData::Elevation> tiles;
|
||||||
MatrixD m(ll.h(), ll.w());
|
_data->elevations(_file, br, _zoom, &tiles);
|
||||||
for (int i = 0; i < ll.size(); i++)
|
|
||||||
m.at(i) = tree.elevation(ll.at(i));
|
|
||||||
|
|
||||||
return m;
|
return DEMTree(tiles).elevation(ll);
|
||||||
} else
|
} else
|
||||||
return DEM::elevation(ll);
|
return DEM::elevation(ll);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user