in analysis/webservice/algorithms_spark/NexusCalcSparkHandler.py [0:0]
def _set_info_from_tile_set(self, nexus_tiles):
ntiles = len(nexus_tiles)
self.log.debug('Attempting to extract info from {0} tiles'. \
format(ntiles))
status = False
self._latRes = None
self._lonRes = None
for tile in nexus_tiles:
self.log.debug('tile coords:')
self.log.debug('tile lats: {0}'.format(tile.latitudes))
self.log.debug('tile lons: {0}'.format(tile.longitudes))
if self._latRes is None:
lats = tile.latitudes.data
if (len(lats) > 1):
self._latRes = abs(lats[1] - lats[0])
if self._lonRes is None:
lons = tile.longitudes.data
if (len(lons) > 1):
self._lonRes = abs(lons[1] - lons[0])
if ((self._latRes is not None) and
(self._lonRes is not None)):
lats_agg = np.concatenate([tile.latitudes.compressed()
for tile in nexus_tiles])
lons_agg = np.concatenate([tile.longitudes.compressed()
for tile in nexus_tiles])
self._minLatCent = np.min(lats_agg)
self._maxLatCent = np.max(lats_agg)
self._minLonCent = np.min(lons_agg)
self._maxLonCent = np.max(lons_agg)
self._nlats = int((self._maxLatCent - self._minLatCent) /
self._latRes + 0.5) + 1
self._nlons = int((self._maxLonCent - self._minLonCent) /
self._lonRes + 0.5) + 1
status = True
break
return status