Skip to content

Commit

Permalink
Conversor AnoDia pra DiaBase
Browse files Browse the repository at this point in the history
dia base eh dia apartir de uma data inicial
  • Loading branch information
Paloschi committed May 31, 2016
1 parent 995669b commit bb14781
Showing 3 changed files with 79 additions and 3 deletions.
1 change: 1 addition & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -31,6 +31,7 @@ encoding//Modelo/Funcoes/Filtros/FiltroSavitzGolay.py=utf-8
encoding//Modelo/Funcoes/IndicesVegetativos/EVI2.py=utf-8
encoding//Modelo/Funcoes/Interpoladores/Interpola.py=utf-8
encoding//Modelo/Funcoes/Interpoladores/InterpoladorIDW.py=utf-8
encoding//Modelo/Funcoes/RasterTools/AnoDia2Numero.py=UTF-8
encoding//Modelo/Funcoes/RasterTools/Decendial2Diario.py=utf-8
encoding//Modelo/Funcoes/RasterTools/RasterToCSVeVRT.py=utf-8
encoding//Modelo/Funcoes/__init__.py=utf-8
5 changes: 2 additions & 3 deletions Modelo/Funcoes/BalancoHidrico/Distribuidor_IC.py
Original file line number Diff line number Diff line change
@@ -113,10 +113,9 @@ def __execOperation__(self):


#data_minima = datetime.datetime(2012, 04, 19)
print data_minima
#print data_minima
#data_maxima = datetime.datetime(2012, 04, 19)

print data_maxima
#print data_maxima

kc_vetorizado = self.vetorizar_kc()
periodo_kc = len(kc_vetorizado)
76 changes: 76 additions & 0 deletions Modelo/Funcoes/RasterTools/AnoDia2Numero.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
'''
Created on 31/05/2016
@author: Paloschi
Esse método converterá o formato "AnoDia" (2015045) para um numero começando em uma data informada
'''

import numpy as np
from Modelo.beans import TABLE_DATA, FILE_DATA, RasterFile
from numpy.core.numeric import array
import datetime
import gdal
progress = gdal.TermProgress_nocb

def Ds_DC_to_date(data):
n = len(str(data))
year = int(str(data)[0:4])
days = int(str(data)[4:n])
date = datetime.datetime(year, 1, 1) + datetime.timedelta(days - 1)
return date

def converter (dia_inicial, imagem):

print "dia inicial: " + str(dia_inicial)

ano_inicial = dia_inicial.year

n_linhas = len(imagem)
n_colunas = len(imagem[0])

imagem_convertida = np.zeros((n_linhas, n_colunas))
imagem_convertida = array(imagem_convertida).astype(dtype="uint16")

print "iniciando conversão"

progress(0.0)


for i in range(0, n_linhas):
#for ii in range(0, n_colunas):
#try:
#data_pixel = Ds_DC_to_date(imagem[i][ii])
#delta_tempo = (data_pixel - dia_inicial).days
#imagem_convertida[i][ii] = delta_tempo

#n = len(str(data_pixel))
#ano_pixel = int(str(data_pixel)[0:4])
#dia_pixel = int(str(data_pixel)[4:n])

#imagem_convertida[i][ii] = (dia_pixel - dia_inicial) + (ano_pixel - ano_inicial * 365)

#except :
#pass

ano_pixel = int(str(data_pixel)[0:4])
imagem_convertida[i] = imagem[i]

progress(i/float(n_linhas-1))
print "Conversão terminada, retornando imagem"

return imagem_convertida

if __name__ == '__main__':

imagem = RasterFile(file_full_path="C:\\Gafanhoto WorkSpace\\DataTestes\\raster\\semeadura_soja_11-12.tif")
imagem_ = imagem.loadRasterData()

data_minima = Ds_DC_to_date(np.min(imagem_))

imagem.data = converter(data_minima, imagem_)
imagem.file_name = imagem.file_name + "convertida"
imagem.saveRasterData()


0 comments on commit bb14781

Please sign in to comment.