Upload
imasters
View
6.122
Download
7
Embed Size (px)
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
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
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.