O que eu achava algo improvável aconteceu. Como outras pessoas estão utilizando o lucyLattes para analisar currículos, resolvi trabalhar em uma nova versão (v1.0.0), e aos poucos estou atualizando a nova versão.
Se estiver interessado na história do lucyLattes: https://rafatieppo.github.io/post/2019_03_13_lucylattes/ .
Na versão v1.0.0 , as melhorias são:
Reorganização do código: acredito estar melhor do que antes, pelo menos no que tange a estrutura, organização e por incrível que pareça, no código em si.
Introduction In few words, the Surface Energy Balance Algorithm for Land (SEBAL) is used to predict some hydrological features like evapotranspiration, water deficit, etc. The main creator of SEBAL is Professor Wim G. M. Bastiaanssen (Bastiaanssen et al., 1998) and his method has been validated under several conditions for different locations ((Bastiaanssen, 2000),(Bastiaanssen et al., 2002), (Santos et al., 2010)).
Around 3 years ago I wrote a code to run the SEBAL, and I still find one or two emails every month asking some doubt about the script (unfortunately I cannot answer all).
Módulo 05 Introdução Um dos índices de vegetação utilizados com frequência é o NDVI (índice de vegetação por diferença normalizada) (KRIEGLER et al., 1969), o qual é oriundo das banda infra-vermelho (NIR) próximo e vermelho (RED):
$$ NDVI = \frac{NIR - RED}{NIR + RED} $$
Há diversos recursos para a realização dos cálculos do NDVI, entre eles cita-se o QGIS, GRASS, códigos próprios em diversas linguagens de programação, etc. Como mais uma alternativa disponível, e para mostrar a utilização de um script (o que deixa o processo mais prática), este post teve o objetivo de demonstrar um script desenvolvido em Python para o cálculo do NDVI por meio da biblioteca GDAL.
Módulo 04 Introdução Usualmente após o download dos arquivos raster, realiza-se recortes das bandas para realizar as análises na área de interesse. Dependendo o número de arquivos que deseja-se fazer o recorte, a atividades pode torna-se cansativa e consumir um tempo significativo. Como trata-se de um processo repetitivo, o objetivo deste post é implementar um script para agilizar o processamento das imagens.
Material e métodos Entre as possíveis alternativas, uso o método gdal.
Usually I need to classify some kind of data. Some weeks ago, I had a huge file with dates and precipitation, and one of the tasks was classify each day as ten-day. Thus, each month was divided in three sections as follow:
from day 01 up to 10 is *ten-day 01* from day 11 up to 20 is *ten-day 02* from day 21 up to 31 is *ten-day 03* Most of time I had used loops (Python language), however this time the process took a little bit slow.
Motivação Tudo começou quando estava tentando abrir um arquivo .shp via GeoPandas (pacote Python) em um McBook (OS BigSur). Ao fazer a leitura do arquivo o seguinte erro era retornado.
... IllegalArgumentException: geometries must not contain null elements Shell is not a LinearRing Nota: estava testando um McBook, uso sistema operacional Debian, e até o momento não tive este problema.
Após testar outros pacotes, transformar o arquivo para outros formatos, criar outros ambientes Python, entre outras tentativas, o erro persistia.
Módulo 03 Introdução Uma dos métodos para conversão dos arquivos vetoriais para outros formatos é utilizar o ogr2ogr. O referido programa é uma ferramenta em linha de comando (CLI) que acompanha o GDAL (Geospatial Data Abstraction Library). Como trata-se de um recurso de linha de comando é possível utilizá-lo diretamente via terminal. Todavia, prefiro fazer um “intermédio” via script Python. Salienta-se que é possível reaproveitar (adaptar) os códigos apresentados aqui para usar diretamente no terminal.
Módulo 02 Objetivo A partir de um arquivo vetorial (shape), realizar a reprojeção para outro CRS (DATUM).
Leitura de arquivo (shape) e reprojeção Importação dos pacotes Inicialmente importar os pacotes
from osgeo import ogr, osr, gdal Leitura do arquivo vetorial Para abrir o arquivo vetorial, define-se o caminho e o parâmetro 0 ou 1:
# reading shape shapePath = './shape/mt_municipios_2020.shp' ds = ogr.Open(shapePath, 1) # 0 means read-only. 1 means writeable # Check to see if shapefile was found.
Módulo 01 Objetivo Ler, editar e gravar arquivo vetorial (shape).
Material e métodos Linux Debian Buster GDAL 2.4.0, released 2018/12/14 Na manipulação e processamento de aquivo vetorial, utilizaremos um arquivo shape com os municípios do estado de MT (Figura 1).
Figura 1: Arquivo shape do estado de MT com Tabela de Atributos Leitura e gravação de arquivo vetorial (shape) Importação dos pacotes Inicialmente importar os pacotes
from osgeo import ogr, osr, gdal Leitura do arquivo Para abrir o arquivo vetorial, define-se o caminho e o parâmetro 0 ou 1:
Módulo 00 Introdução GDAL é um biblioteca licenciada pela OSGeo (Open Source Geospatial Foundation), desenvolvida em C++, que permite manipular mais de 200 formatos de aquivos matricial (raster) e vetorial. Tratando-se de uma biblioteca, a mesma apresenta um modelo de dados para abstração de arquivos raster e outra para arquivo vetorial, oferecendo uma série de comandos de linha (comandos via terminal) para processamento de dados. Ainda como se não fosse suficiente, possui API para diversas linguagens de programação como: C, C++, Python, Perl, R, C# and Java.
Um dos objetivos do ambiente virtual é auxiliar no gerenciamento das dependências exigidas nos projetos. Um exemplo prático seria a necessidade de testar um código em uma versão antiga de um determinado pacote (ou biblioteca), sendo que na sua máquina esteja instalada a versão mais recente deste pacote. Para evitar algum possível conflito de versões, e possíveis danos no seu sistema operacional, é possível criar um ambiente virtual que deixará isolado os pacotes antigos necessários.
I am enthusiast programmer, thus I am no a professional. I wanna getting better and some times I write some notes to improve my English and programming skills. Certainly you will find some mistakes in the text and programming concepts in this post, I am sorry, I am trying.
Lets go to what matter now!
The word change is ambiguous in Python, it means that we have two distinct types of “change” in Python.
Introduction Saving time for cleaning, tidying and processing data is quite useful in data science. It means that you can get more time to analyses and think about solutions.
If I working Data Science with Python, usually I am using Pandas and Numpy library. It is a great library with a lot smart functions. However, sometimes I forget some functions and write my own functions to solve calculations. For practicing it is cool, but it spends some time.
Nota Este post tem como finalidade APENAS o estudo de análises de variação de preços para fins didáticos. Não trata-se de recomendação ou indicação de investimento. Salienta-se que o código não foi revisado e há possibilidade de haver erros.
Motivação Em ciências de dados obter e analisar dados é rotina de trabalho. Com finalidade de fixar conteúdo e praticas uma análise simples, este estudo teve como objetivo calcular a diferença entre variação de preço médio mensal e a anual de um ativo.
Introduction PCA (principal components analysis) is multivariate statistical method that concerned with examination of several variables simultaneously. The idea is provide a dimensionality reduction of data sets, finding the most representative variables to explain some phenomenon. Thus the PCA analyses inter-relation among variables and explains them by its inherent dimensions (components). If there is NO correlation among the variables, PCA analysis will not be useful.
This post is divided in two section.
Introduction Usually, if you work with in data science field, you need to create several objects, like list, DataFrame, matrix, etc. Besides, you have to handle some files to read and make copies. For that and other actions, sometime you have to select some objects from your workdir.
The goal in this post is to show some options about how to filter objects from your workdir.
Listing and Filtering your objects There are several options to list the objects from a workdir.
O script lucyLattes.py é um script em python para extração, compilação, e organização dos dados dos currículos da plataforma Lattes em arquivos de texto, e geração de um relátório simplificado, que proporcionam agilidade para a geração de informação.
Download e instruções aqui.
Estou atualizando este post em 2024-08-17, pois o que eu achava algo improvável aconteceu. Como outras pessoas estão utilizando o lucyLattes para analisar currículos, resolvi trabalhar em uma nova versão (v1.0.0), e aos poucos estou atualizando a nova versão. Há um novo post sobre a versão nova, inclusive há videos como instalar e usar o lucyLattes no canal do youtube: Rafael Tieppo .
Aqui deixo um pouco da história, um pouco sobre o relatório de saída, e o site no github: https://github.
Introduction I spent around 4 years working with R, and I can say that R is amazing. However, I decided to start a new stage in my professional life, and a need came, a multi proposal language. My option was Python, because It provides have data science tools, and has a huge support for others applications.
After some months, studying in my free time, I would like to share some code that I learned (from several sources).
Please NOTE
Regarding some comments in this post, and to avoid any misunderstood, please note that Julian Date is regarding Ordinal Day Calendar :
Leap years: (2000, 2004, 2008, 2012, 2016, 2020…)
Month Day Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1 1 32 61 92 122 153 183 214 245 275 306 336 2 2 33 62 93 123 154 184 215 246 276 307 337 3 3 34 63 94 124 155 185 216 247 277 308 338 4 4 35 64 95 125 156 186 217 248 278 309 339 5 5 36 65 96 126 157 187 218 249 279 310 340 6 6 37 66 97 127 158 188 219 250 280 311 341 7 7 38 67 98 128 159 189 220 251 281 312 342 8 8 39 68 99 129 160 190 221 252 282 313 343 9 9 40 69 100 130 161 191 222 253 283 314 344 10 10 41 70 101 131 162 192 223 254 284 315 345 11 11 42 71 102 132 163 193 224 255 285 316 346 12 12 43 72 103 133 164 194 225 256 286 317 347 13 13 44 73 104 134 165 195 226 257 287 318 348 14 14 45 74 105 135 166 196 227 258 288 319 349 15 15 46 75 106 136 167 197 228 259 289 320 350 16 16 47 76 107 137 168 198 229 260 290 321 351 17 17 48 77 108 138 169 199 230 261 291 322 352 18 18 49 78 109 139 170 200 231 262 292 323 353 19 19 50 79 110 140 171 201 232 263 293 324 354 20 20 51 80 111 141 172 202 233 264 294 325 355 21 21 52 81 112 142 173 203 234 265 295 326 356 22 22 53 82 113 143 174 204 235 266 296 327 357 23 23 54 83 114 144 175 205 236 267 297 328 358 24 24 55 84 115 145 176 206 237 268 298 329 359 25 25 56 85 116 146 177 207 238 269 299 330 360 26 26 57 86 117 147 178 208 239 270 300 331 361 27 27 58 87 118 148 179 209 240 271 301 332 362 28 28 59 88 119 149 180 210 241 272 302 333 363 29 29 60 89 120 150 181 211 242 273 303 334 364 30 30 90 121 151 182 212 243 274 304 335 365 31 31 91 152 213 244 305 366 Regular years: (2001-2003, 2005-2007, 2009-2011, 2013-2015…)
Introduction Some people make a small confusion with histogram and barplots. So in this post we intend to provide some points about both of them.
Let’s supose that we have a sample from 200 persons, and we need to check the age distribution, so we can produce a histogram (Figure 1).
# creating data DF = pd.DataFrame({"A" : np.random.normal(30, 0.75, 200)}) # plot plt.figure(figsize=(8, 5)) plt.hist(DF["A"], bins = 10, color='steelblue', alpha = 0.
Introduction If you want to predict the amount of rainfall, yield crops, or other attribute , you may need to learn about the interpolation methods like inverse distance weighted (IDW).
IDW is a deterministic method for interpolation, once you have a set of know points, you can use IDW to estimate values for unknown points. For instance, you have 6 know points with rainfall attribute, and you need to predict the rainfall for a 7th point (Figure 1).
SEBAL model by means GRASS and PYTHON O modelo SEBAL ((Surface Energy Balance Algorithm for Land) utiliza o balanço de energia da superfície terrestre para a realizar a predição de algumas características hidrológicas (evapotranspiração, deficit de água, etc)). O principal criador do referido modelo é o Professor Wim G. M. Bastiaanssen (Bastiaanssen et al., 1998).
Para maiores detalhes e download, acesse a página do código em: https://rafatieppo.github.io/sebal/.
I am an EMACS user and consequently I use the amazing Org mode to plan my schedule and to manage my projects. However I was boring about how I synchronized the .ics file from EMACS and my Google calendar. I spent some minutes in my Google calendar to clear the appointments, and import a new file. So, a while ago I improved my routine. I did know nothing about it.