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