def _find_native_resolution()

in analysis/webservice/algorithms/TimeAvgMap.py [0:0]


    def _find_native_resolution(self):
        # Get a quick set of tiles (1 degree at center of box) at 1 time stamp
        midLat = (self._minLat + self._maxLat) / 2
        midLon = (self._minLon + self._maxLon) / 2
        ntiles = 0
        t = self._endTime
        t_incr = 86400
        while ntiles == 0:
            nexus_tiles = self._get_tile_service().get_tiles_bounded_by_box(midLat - 0.5, midLat + 0.5, midLon - 0.5,
                                                                      midLon + 0.5, ds=self._ds, start_time=t - t_incr,
                                                                      end_time=t)
            ntiles = len(nexus_tiles)
            print('find_native_res: got %d tiles' % len(nexus_tiles))
            sys.stdout.flush()
            lat_res = 0.
            lon_res = 0.
            if ntiles > 0:
                for tile in nexus_tiles:
                    if lat_res < 1e-10:
                        lats = tile.latitudes.compressed()
                        if (len(lats) > 1):
                            lat_res = lats[1] - lats[0]
                    if lon_res < 1e-10:
                        lons = tile.longitudes.compressed()
                        if (len(lons) > 1):
                            lon_res = lons[1] - lons[0]
                    if (lat_res >= 1e-10) and (lon_res >= 1e-10):
                        break
            if (lat_res < 1e-10) or (lon_res < 1e-10):
                t -= t_incr

        self._latRes = lat_res
        self._lonRes = lon_res