[QGIS Commit] r13652 - trunk/qgis/src/providers/wms

svn_qgis at osgeo.org svn_qgis at osgeo.org
Fri Jun 4 19:40:11 EDT 2010


Author: jef
Date: 2010-06-04 19:40:09 -0400 (Fri, 04 Jun 2010)
New Revision: 13652

Modified:
   trunk/qgis/src/providers/wms/qgswmsprovider.cpp
Log:
wms provider fix: shift tile requests a bit NE

Modified: trunk/qgis/src/providers/wms/qgswmsprovider.cpp
===================================================================
--- trunk/qgis/src/providers/wms/qgswmsprovider.cpp	2010-06-04 20:37:59 UTC (rev 13651)
+++ trunk/qgis/src/providers/wms/qgswmsprovider.cpp	2010-06-04 23:40:09 UTC (rev 13652)
@@ -556,8 +556,8 @@
     double ymax = std::min( viewExtent.yMaximum(), layerExtent.yMaximum() );
 
     // snap to tile coordinates
-    double x0 = floor(( xmin - layerExtent.xMinimum() ) / mTileWidth / tres ) * mTileWidth * tres + layerExtent.xMinimum();
-    double y0 = floor(( ymin - layerExtent.yMinimum() ) / mTileHeight / tres ) * mTileHeight * tres + layerExtent.yMinimum();
+    double x0 = floor(( xmin - layerExtent.xMinimum() ) / mTileWidth / tres ) * mTileWidth * tres + layerExtent.xMinimum() + mTileWidth * tres * 0.001;
+    double y0 = floor(( ymin - layerExtent.yMinimum() ) / mTileHeight / tres ) * mTileHeight * tres + layerExtent.yMinimum() + mTileHeight * tres * 0.001;
 
 #ifdef QGISDEBUG
     // calculate number of tiles
@@ -633,7 +633,7 @@
         request.setAttribute( QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache );
         request.setAttribute( QNetworkRequest::CacheSaveControlAttribute, true );
         request.setAttribute( static_cast<QNetworkRequest::Attribute>( QNetworkRequest::User + 0 ), mTileReqNo );
-        request.setAttribute( static_cast<QNetworkRequest::Attribute>( QNetworkRequest::User + 1 ), j );
+        request.setAttribute( static_cast<QNetworkRequest::Attribute>( QNetworkRequest::User + 1 ), i );
         request.setAttribute( static_cast<QNetworkRequest::Attribute>( QNetworkRequest::User + 2 ), QRectF( x, y, mTileWidth * tres, mTileHeight * tres ) );
 
         QgsDebugMsg( QString( "gettile: %1" ).arg( turl ) );
@@ -641,9 +641,9 @@
         tileReplies << reply;
         connect( reply, SIGNAL( finished() ), this, SLOT( tileReplyFinished() ) );
 
-        x = x0 + k++*mTileWidth * tres;
+        x = x0 + ++k * mTileWidth * tres;
       }
-      y = y0 + j++*mTileHeight * tres;
+      y = y0 + ++j * mTileHeight * tres;
     }
 
     mWaiting = true;
@@ -750,8 +750,14 @@
       QPainter p( cachedImage );
       p.drawImage( dst, myLocalImage );
 
-      // p.drawRect( dst ); // show tile bounds
-      // p.drawText( dst.center(), QString( "(%1)\n%2,%3\n%4x%5" ).arg( tileNo ).arg( r.left() ).arg( r.bottom() ).arg( r.width() ).arg( r.height() ) );
+#if 0
+      p.drawRect( dst ); // show tile bounds
+      p.drawText( dst, Qt::AlignCenter, QString( "(%1)\n%2,%3\n%4,%5\n%6x%7" )
+                  .arg( tileNo )
+                  .arg( r.left() ).arg( r.bottom() )
+                  .arg( r.right() ).arg( r.top() )
+                  .arg( r.width() ).arg( r.height() ) );
+#endif
     }
 
     tileReplies.removeOne( reply );
@@ -770,7 +776,7 @@
     mErrors++;
   }
 
-#if QGISDEBUG
+#ifdef QGISDEBUG
   emit statusChanged( tr( "%n tile requests in background", "tile request count", tileReplies.count() )
                       + tr( ", %n cache hits", "tile cache hits", mCacheHits )
                       + tr( ", %n cache misses.", "tile cache missed", mCacheMisses )



More information about the QGIS-commit mailing list