Вы находитесь на странице: 1из 31

Ajudando Pedro Alvares Cabral com

geoprocessamento.

Carlos Alberto Junior Spohr Poletto


http://carlos4web.wordpress.com
@carlosjrcabello
https://github.com/carlosjrcabello
Centro Internacional de Hidroinformtica;

Aplicaes de informaes geogrficas;

Tecnologias;

Aplicao de estudo de caso;


Apresentao sobre o trabalho do CIH;

Entendimento sobre aplicaes voltadas a


geoprocessamento;

Funo e papel das tecnologias utilizadas;

Aplicao para estudo de caso;

Clareamento das possibilidades com os recursos da


WEB atual;
Centro UNESCO - Categoria 2 (*)

(*) Rede mundial de 20 Centros Especializados,


credenciados pela UNESCO/PHI para trabalhar temas
relacionados com a gesto das guas.

CIH - Promover a HIDROINFORMTICA (*) aplicada em


gesto das guas.
(*) Ramo da Cincia da Computao dedicado a
gesto das guas.
Dar Suporte aos Programas UNESCO-PHI: HELP,
FRIEND, ISI, ISARM, GRAPHIC e ao PHI-LAC,
COBRAPHI e CONAPHI PY;
Divulgar das boas prticas dos Governos Brasil e
Paraguai e da ITAIPU;
Incentivar as relaes e negcios de
desenvolvimento e inovao tecnolgica no mbito
do Parque Tecnolgico Itaipu;
Desenvolver ferramentas em Software Livre de
Cdigo Aberto para garantir o acesso universal
Hidroinformtica e intensificar a difuso dessas
ferramentas.
Acrnimo de GIS - Geographic Information System;
Manipulao e visualizao de informaes
geogrficas como polgonos, linhas , pontos, etc.;
Anlise e projeo destas informaes;
Consultas espaciais ao invs do modelo relacional
tradicional;
Padres definidos pela Open Geospatial Consortium,
exemplos: OGC, WMS, WFS, WCS, WPS, KML, KMZ,
OWC, etc.;
Mapeamento de casos de dengue;

Mapeamento de crimes ocorridos (WikiCrimes);

Viabilidade de implantao de biodigestores


(SigBiogs - CIH);

Sistemas de rotas e trfego;

Georreferenciamento de reas produtivas (glebas);


J desenvolveu e/ou desenvolve para WEB ?

Java EE ?

Servidores de aplicao, Inverso de Controle e


injeo de dependncias ?

Conhece e/ou j utilizou PostgreSQL e/ou Postgis?

Conhecimentos em dados espaciais, como


geometrias, servidores de mapas, etc.?
Apresentao e definio de todas as
tecnologias utilizadas.
OpenLayers jQuery AJAX

XHTML

VRaptor 3.4

Spring framework 3.0 JPA 2

Outras APIs Geotools Hibernate Hibernate Spatial

Banco de dados
(relacional + geogrfico)
Framework WEB focado em produtividade;
Encapsula a complexidade da API javax.servlet;
Pouca ou nenhuma dependncia entre os seus
componentes nativos (core);
Boas prticas adotadas:
Conveno sobre configurao;
Injeo de dependncias;
Forte orientao a objetos;
Framework Brasileiro, mantido pela Caelum e a
comunidade;
Separao de lgicas em forma de componentes
reutilizveis;
Redirecionamentos e encaminhamentos de maneira
programtica;
Mapeamento de URLs amigveis atravs de um
modelo REST;
Suporte aos continers Spring, Pico e Guice;
Serializadores e deserializadores para JSON, XML,
etc.;
Paranamer; jQuery UI;
Guava; jQuery.plugins;
Apache Commons; TinyMCE;
Shapefilereader; jQuery Validator;
Primefaces;
Jetty library

Java Javascript
Desenvolvimento de uma aplicao de
estudo de caso para consolidar o
entendimento sobre aplicaes de
geoprocessamento.
Definio da regra de Dependncias;
negcio; Configuraes do
Diagramao da regra projeto;
de negcio (DER); Classes beans/pojo;
Estrutura do template,
CSS e bibliotecas
Javascript;
Codificao e mo na
massa
Cadastro de propriedades;

Cadastro de glebas;

Consulta das propriedades atravs de uma rea


desenhada no mapa;

Upload de um shapefile;
CRUD de propriedades, a qual contm os campos:
Id Long;
Nome da propriedade String;
Ponto de localizao Geometry (Point);
Glebas List das glebas da propriedade;
CRUD de glebas, a qual contm os campos:
Id Long;
Descrio String;
Propriedade Referncia da propriedade pertencente;
rea da gleba Polgono (Geometry - Polygon);
Persistncia e acesso a dados:
JPA 2 (hibernate-jpa-2.0-api-1.0.0.Final.jar);
Hibernate (hibernate3.jar);
Hibernate Spatial (hibernate-spatial-1.1.jar e hibernate-spatial-
postgis-1.1.jar);
hibernate-validator-4.0.2.GA.jar
Geo
Geotools geotools 2.7.1 (http://goo.gl/ffaKf);
Continer:
Spring framework (aop, asm, aspects, beans, context, core,
expression, web) na verso 3.0;
VRaptor 3.4
Uma classe que ser acessvel no contexto WEB
deve estar anotada com @Resource;
Somente mtodos pblicos so acessveis;
A partir do VRaptor 3.4 possvel injetar
dependncias via parmetros diretamente;
Carregamento automtico por meio da anotao
@Load (Caelum Lucas) ou @LoadObject (Carlos
A. Junior);
Se usar um redirectTo ou forwardTo no
necessrio um arquivo .jsp de sada;
WEB-INF/jsp/

ClienteController
formulario();
listarInativos(); cliente

formulario.jsp listaInativos.jsp
Cada mtodo pblico, pode ser anotado com:
@Get : acessvel somente por requisies GET;
@Post : somente acessvel por requisies POST;
@Path: acessvel por GET e/ou POST (duplica a URL);
@Delete, @Put: devem utilizar o parmetro _method em
uma requisio POST;
possvel colocar um caminho relativo na prpria
classe com @Path;
Incluso CSS, scripts Definio do idioma da
comuns, etc. pgina <fmt:locale>

Template HEADER Cdigo de abertura da pgina.

<cih:template path=template part=header/>


Trecho de cdigo HTML/JSTL/JS da lgica do controlador.
<cih:template path=template part=footer/>

Template FOOTER Cdigo de fechamento da pgina.

Scripts comuns, Lgicas JS/JSTL de


importao, etc. fim de pgina.
Usar de preferncia somente o JPA para operaes
CRUD;
Em consultas usar a Criteria API do seu
framework de persistncia, ou ento ser cabra-macho
e usar a CriteriaBuilder do JPA para manter a
aplicao independente da camada de persistncia;
Deixar o controle de transaes para o prprio
VRaptor , sim, isso possvel, mas como ?
<context-param>
<param-name>br.com.caelum.vraptor.packages</param-name>
<param-value>br.com.caelum.vraptor.util.jpa</param-value>
</context-param>

Ou na verso programtica registrando um componente.

@Override
protected void registerCustomComponents(ComponentRegistry registry) {
registry.register(EntityManagerCreator.class, EntityManagerCreator.class);
registry.register(EntityManagerFactoryCreator.class, EntityManagerFactoryCreator.class);
registry.register(JPATransactionInterceptor.class, JPATransactionInterceptor.class);

// ou uma factory minha, que esteja anotada com @Component.


registry.register(MinhaFactory.class, MinhaFactory.class);
}
Necessita da commons-fileupload;

Formulrios HTML com o enctype definidos;

Abstrao da lgica de upload atravs da interface


UploadedFile;

Configurao da leitura do shapefile com o


componente ShapefileReader;
Browser

Aplicao VRaptor

UploadedFile ShapeFileReader

JPA
Comunidade gvSIG;
GUJ;
Grupo de usurios VRaptor (Google groups);
Spring framework;
JPA 2 com outros frameworks de persistncia;
OpenLayers;
jQuery e plugins;
HTML 5;
Servidores de mapas;
Ccero J. Bley Jr.
Coordenador do
Centro Internacional de Hidroinformtica - ME
cbley@itaipu.gov.br

Ana Carolina Gossen


Coordenadora do
Centro Internacional de Hidroinformtica - MD
gossen@itaipu.gov.py
Carlos Alberto Junior Spohr Poletto
Analista de Sistemas
carlosjrcabello@gmail.com
carlos@pti.org.br
@carlosjrcabello
carlos4web.wordpress.com

Вам также может понравиться