Beispiel #1
0
 def zoom(self, widthpx, extll):
     if self.specifiedzoom is None:
         maxzoom = tm.maxzoom(self.tiletype) if self.maxzoom is None else self.maxzoom
         autozoom = osm.autozoom(widthpx/(extll.xMaximum()-extll.xMinimum()))
         return min(max((tm.minzoom(self.tiletype), autozoom)),
                    maxzoom)
     else:
         numtiles = len(osm.tiles(extll.xMinimum(), extll.xMaximum(), 
                       extll.yMinimum(), extll.yMaximum(), self.specifiedzoom))
         if numtiles > qosmsettings.get(qosmsettings.MAX_TILES):
             log("too many tiles for fixed zoom layer!: %s" % numtiles)
             self.rendererrors += 1
             return None
         else:
             return self.specifiedzoom
Beispiel #2
0
 def set_summarystats(self):   
     numtiles = len(self.layer.loadedlayers)
     zoom = self.layer.actualzoom if self.layer.specifiedzoom is None else \
             self.layer.specifiedzoom
     
     extent = self.iface.mapCanvas().extent() 
     crs = self.iface.mapCanvas().mapRenderer().destinationCrs()
     widthpx = self.iface.mapCanvas().width()
     extll = osm.unproject(extent, crs)
     
     calczoom = osm.autozoom(widthpx/(extll.xMaximum()-extll.xMinimum()))
     layerzoom = calczoom if zoom is None else zoom
     numtilestot = len(osm.tiles(extll.xMinimum(), extll.xMaximum(), 
                   extll.yMinimum(), extll.yMaximum(), layerzoom))
     
     self.statusText.setText("Loaded %s of %s tiles at zoom level %s (automatic zoom would be %s). \
                             %s rendering errors (see QOSM Settings/Logs for more details)." %
                             (numtiles, numtilestot, zoom, calczoom, self.layer.rendererrors))