Dias Julianos com Python

Algumas vezes necessitamos trabalhar com a dias julianos em vez de datas do calendário gregoriano. Aqui deixo como o calcular com python.

Devolve quantos dias passaram desde o inicio do ano, até hoje (2009-06-18):

Ou assim:

De julianos a data:

Como enviar um correio electronico com python

Deixo aqui uma pequena função em python para enviar correios com ou sem ficheiros em anexo. Eu costumo utilizar-la para determinados scripts que demoram muito em terminar, estando varias horas em funcionamento. Assim estando já fora do trabalho e com acesso ao correio posso saber em que estado se encontra ou se terminou com sucesso determinado script.

Nota: alterar a linhas 10 e 25 com o correio e palavra-chave correspondente. E o servidor SMTP é do gmail, só exprimentei com este. O codigo é o seguinte:

Importar dados meteorologicos da web para PostgreSQL com Python

Supondo que temos a seguinte tabela em PostgreSQL

e aproveitando a disponibilidade de dados meteorológicos dos aeroportos pela página de Weather Underground e com recurso a um pequeno script de Pytthon podemos ter uma base de dados com os últimos dados meteorologicos dos aeroportos que desejamos, neste caso utilizarei apenas os da Peninsula Ibérica.

Instalar geopy no Ubuntu

geopy é um modulo de python para geo-codificação, infelizmente não está nos repositórios de Ubuntu. Assim que para o instalar necessitamos primeiro de instalar o modulo python-setuptools e depois descarregar geopy de subversion.

Outra coisas que temos de fazer é conseguir uma chave para utilizar a API de Google Maps. Uma vez em possessão da chave, podemos realizar um pequeno exemplo. Abrimos a linha de comandos e iniciamos python.

Para ver mais exemplos dar uma olhadela na pagina de geopy.

Carregar massivamente shp’s em PostgreSQL com um script de Python

Para exportar shp’s a PostgreSQL existe a ferramenta shp2pgsql que faz o tabalho na perfeição. O problema surge se em vez de uns quantos shp’s temos uma barbaridade, numa situação como esta ou automatizamos o processo ou corremos o risco de morrer de tédio. Eliminando a segunda possibilidade, cabe-nos escolher o método a usar. Podemos usar shell script, que no meu caso não estaria mal aprender, ou usar uma linguagem de programação. Assim que vou deixar aqui com um pequeno script escrito em Python para este tipo de situações.

Para usar este script temos que indicar duas coisas, a pasta onde estão os shp’s e o sistema de coordenadas(EPSG). Para facilitar o processo é conveniente ter a cartografia separada por pastas consoante o sistema de coordenadas. Por exemplo: a cartografia de Portugal que está no sistema de coordenadas 20791 está na pasta /cartografia/shp/20791/, a cartografia de Espanha em /cartografia/shp/23030/ e assim por diante.

E o que faz este script? Percorre, recursivamente (em profundidade), as pastas indicadas, procura pela extensão.shp, se a encontra, exporta para a base de dados bdg, cria um indice pelo campo de geometria (geom) e termina com um vacuum analyze.

Agora apenas temos que guardar o codigo que está a seguir a este paragrafo num ficheiro com a extensão.py, adicionar e/ou editar as duas últimas linhas em concordancia com as pastas e sistemas de coordenadas dos shp’s.