def getDataForJSON(self, dateIni, dateEnd, returnData=True, returnInfo=True):
# get data
data = self.getData(dateIni, dateEnd)
idxs = np.where((np.nansum(data['data']+1, axis=0)!=0).ravel())[0]
idxsList = idxs.tolist()
# trim data
if len(data)>0:
data['dates'] = [dt.isoformat() for dt in data['dates']]
data['missing'] = data['missing'].tolist()
if returnInfo:
data['lon'] = data['lon'].tolist()
data['lat'] = data['lat'].tolist()
data['idxs'] = idxsList
else:
data.pop('lon', None)
data.pop('lat', None)
data.pop('idxs', None)
if returnData:
tmp = []
for i0 in range(data['data'].shape[0]):
tmpValidData = data['data'][i0,:,:].ravel()[idxsList]
tmpValidData[np.isnan(tmpValidData)] = -999;
tmpPositiveIdxs = np.where(tmpValidData!=0)[0]
tmp.append({'idxs': idxs[tmpPositiveIdxs].tolist(), 'values': tmpValidData[tmpPositiveIdxs].tolist()})
data['data'] = tmp
else:
data.pop('data', None)
return data
else:
return {}
评论列表
文章目录