mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 11:45:53 +01:00
Yet another WMS bounding box computation fix
This commit is contained in:
parent
021558b114
commit
88d6904ded
@ -92,6 +92,28 @@ RectC RectC::operator&(const RectC &r) const
|
||||
return tmp;
|
||||
}
|
||||
|
||||
RectC RectC::normalized() const
|
||||
{
|
||||
RectC r;
|
||||
|
||||
if (_br.lon() < _tl.lon()) {
|
||||
r._tl.setLon(_br.lon());
|
||||
r._br.setLon(_tl.lon());
|
||||
} else {
|
||||
r._tl.setLon(_tl.lon());
|
||||
r._br.setLon(_br.lon());
|
||||
}
|
||||
if (_br.lat() < _tl.lat()) {
|
||||
r._tl.setLat(_br.lat());
|
||||
r._br.setLat(_tl.lat());
|
||||
} else {
|
||||
r._tl.setLat(_tl.lat());
|
||||
r._br.setLat(_br.lat());
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
void RectC::unite(const Coordinates &c)
|
||||
{
|
||||
if (isNull()) {
|
||||
|
@ -34,6 +34,7 @@ public:
|
||||
RectC &operator&=(const RectC &r) {*this = *this & r; return *this;}
|
||||
|
||||
void unite(const Coordinates &c);
|
||||
RectC normalized() const;
|
||||
|
||||
private:
|
||||
Coordinates _tl, _br;
|
||||
|
@ -80,8 +80,10 @@ bool WMSMap::loadWMS()
|
||||
|
||||
_yx = (_setup.yx() && wms.version() >= "1.3.0") ? true : false;
|
||||
_projection = wms.projection();
|
||||
_boundingBox = QRectF(_projection.ll2xy(wms.boundingBox().topLeft()),
|
||||
_projection.ll2xy(wms.boundingBox().bottomRight()));
|
||||
RectC bb = wms.boundingBox().normalized();
|
||||
_boundingBox = QRectF(_projection.ll2xy(Coordinates(bb.topLeft().lon(),
|
||||
bb.bottomRight().lat())), _projection.ll2xy(Coordinates(
|
||||
bb.bottomRight().lon(), bb.topLeft().lat())));
|
||||
_tileLoader = TileLoader(tileUrl(wms.version()), tilesDir(),
|
||||
_setup.authorization());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user