Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!

Preview:

DESCRIPTION

apresentação de Rodrigo Senra no 7Masters - Encontro iMasters de Especialistas em Python - abril/2012.

Citation preview

Python:Cabe no seu bolso,cabe no seu micro,

cabe no seu cérebro!

Rodrigo Dias Arruda Senra iMasters 2012 - SP

Python:Cabe no seu bolso,cabe no seu micro,

cabe no seu cérebro!

Rodrigo Dias Arruda Senra iMasters 2012 - SP

•Python na prática:

•Geoprocessamento

•Automação Industrial

•Bibliotecas Digitais

•Por que Python

Anatomia do Blá

Geoprocessamento

Geoprocessamento

NDVI: Índice de Vegetacão

NDVI: Índice de Vegetacão

Fonte:Perfis temporais NDVI MODIS, na cana-soca, de maturação tardia.Fernando L. P. Ramme; Rubens A. C. Lamparelli; Jansle V. Rocha.

Eng. Agríc. vol.30 no.3 Jaboticabal June 2010

6

Operações Espaciais

Exemplo: Extração da Geometria

shp = ogr.Open(filepath) ‏

# Layer correspondente ao Estado de São paulolayer = vf.shp.GetLayerByName('35mu500gc')

# Feature correspondente ao município de Campinasfeature = layer.GetFeature(501)

# Extração dos pontos de controle do perímetrogeometry = feature.GetGeometryRef() ‏poly = geometry.GetGeometryRef(0) ‏centroid = geometry.Centroid() ‏centroid_geo = centroid.GetX(), centroid.GetY() ‏

# Definição do Retângulo Envoltório Mínimo (MBR) ‏lg_left, lg_right, lt_bot, lt_up = poly.GetEnvelope() ‏ul_geo, lr_geo = (lg_left, lt_up), (lg_right, lt_bot) ‏

Automação Industrial

Automação Industrial

CLPs controlando Elevação de Óleo

CLPs controlando Elevação de Óleo

Fonte: www.triomotion.com

Fonte: www.triomotion.com

Fonte: www.triomotion.com

Fonte: www.triomotion.com

Fonte: www.triomotion.com

SoluçãoIDE

CompiladorPython

TC6 XML

SFC+ST

SFC+ST→Ladder

Modelo de Dados + Mapa de Variáveis

Código Nativo

Bibliotecas Digitais

Bibliotecas Digitais

MFN: 169: Paper on: <plant physiology><plant transpiration><measurement and instruments>

70: Magalhaes, A.C.70: Franco, C.M.44: Methodology of plant eco-physiology: proceedings of the Montpellier Symposium

50: Incl. bibl.24: Techniques for the measurement of transpiration of individual plants26: ^aParis^bUnesco^c-196530: ^ap. 211-224^billus.

MFN: 169: Paper on: <plant physiology><plant transpiration><measurement and instruments>

70: Magalhaes, A.C.70: Franco, C.M.44: Methodology of plant eco-physiology: proceedings of the Montpellier Symposium

50: Incl. bibl.24: Techniques for the measurement of transpiration of individual plants26: ^aParis^bUnesco^c-196530: ^ap. 211-224^billus.

MFN: 169: Paper on: <plant physiology><plant transpiration><measurement and instruments>

70: Magalhaes, A.C.70: Franco, C.M.44: Methodology of plant eco-physiology: proceedings of the Montpellier Symposium

50: Incl. bibl.24: Techniques for the measurement of transpiration of individual plants26: ^aParis^bUnesco^c-196530: ^ap. 211-224^billus.

Projeto ISIS-NBP

Engine

Database

Console Gateway

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console GatewayIPython

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython TwistedSSH

HTTP

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython Twisted

OIM

SSH

HTTP

ISIS native DB

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython TwistedDjango

OIM

SSH

HTTPXML-RPC

ISIS native DB

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython TwistedDjangoPLY

OIM

SSH

HTTPXML-RPC

ISIS native DB

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython TwistedDjangoPLY

nosetest

OIM

SSH

HTTPXML-RPC

ISIS native DB

http://reddes.bvsalud.org/projects/isisnbp

Projeto ISIS-NBP

Engine

Database

Console Gateway

PyOpenSSL, PyCrypto

IPython TwistedDjangoPLY

nosetest

OIM

SSH

HTTPXML-RPC

ZODB, Durus,...

ISIS native DBBDB, XML,...

RSS, OAI-PMH

JSON

WebDAV

http://reddes.bvsalud.org/projects/isisnbp

Exemplo: Compiladordef t_VFIELD(t): r'[vV]([0-9]+)' try: t.value = int(t.lexer.lexmatch.groups()[1]) except ValueError: print "Field accessor", t.value t.value = 0 return t

def p_field_subfield(p): """field : VFIELD "^" "*" | VFIELD "^" SUBCHAR """ ch = p[3].lower() if ch=="*": p[0] = record[p[1]].subfields.value(pos=0) else: p[0] = record[p[1]].subfields[ch]

Por que Python ?

Produtividade do desenvolvedor Legibilidade Portabilidade Integração: C, C++, C#, Java,... Biblioteca Padrão Tecno-diversidade Maturidade

Obrigado a todos pela atenção.

Rodrigo Dias Arruda Senrahttp://rodrigo.senra.nom.br

rsenra@acm.org

As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra.

Não é necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, desde que não sejam feitas alterações no conteúdo reutilizado e que esta nota esteja presente na íntegra no material resultante.

Imagens e referências para outros trabalhos nesta apresentação permanecem propriedade daqueles que detêm seus direitos de copyright.

Recommended