A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Vector To Raster Factory & Strategy Eric Silva Abreu São José dos Campos - 15 de dezembro de 2006.

Apresentações semelhantes


Apresentação em tema: "Vector To Raster Factory & Strategy Eric Silva Abreu São José dos Campos - 15 de dezembro de 2006."— Transcrição da apresentação:

1 Vector To Raster Factory & Strategy Eric Silva Abreu eric@dpi.inpe.br São José dos Campos - 15 de dezembro de 2006

2 Estrutura Introdução Motivação Objetivo Design Patterns Strategy Factory Vector2Raster Resultados Conclusão Bibliografia

3 Motivação Transformação de uma representação vetorial (polígono) em uma representação matricial. Maior eficiência para visualização de grande quantidade de dados, maior facilidade para sua disseminação.

4 Objetivo Projetar e implementar uma ferramenta flexível para rasterização de polígonos para a biblioteca TerraLib. Utilização de Iteradores de Polígonos para percorrimento das geometrias Permitir inserção de novos tipos de estratégias para rasterização. Inserção desta ferramenta na LibPDI.

5 Design Patterns Geralmente são definidos como soluções já testadas para problemas recorrentes. Importante no processo de desenvolvimento de software, especialmente nas áreas de manutenção e reuso de código.

6 Design Patterns - Strategy Classes relacionadas diferem apenas em seu comportamento. Facilidade para acréscimo de novas estratégias.

7 Design Patterns - Factory Fábrica de Objetos. O sistema passa a ser independente de como os produtos são criados, compostos e representados.

8 Interface LibPDI Checagem de Parâmetros. Reinicia Parâmetros. Execução do Algoritmo. class TePDIVector2Raster : public TePDIAlgorithm { public : TePDIVector2Raster(); ~TePDIVector2Raster(); bool CheckParameters( const TePDIParameters& parameters ) const; protected : void ResetState( const TePDIParameters& params ); bool RunImplementation(); };

9 //definição dos parametros da estrategia TePDIParameters strat_params; strat_params.SetParameter( "v2r_type", v2r_type ); strat_params.SetParameter( "output_raster", output_raster ); strat_params.SetParameter( "input_polsets", input_polsets ); strat_params.SetParameter( "dummy_value", output_raster_dummy ); // cria uma instancia do classe da estrategia TePDIVector2RasterStrategy::pointer v2r_strategy( TePDIVector2RasterStratFactory::make( v2r_type, strat_params ) ); //verifica se a instancia foi fabricada corretamente PDIAGN_TRUE_OR_RETURN( v2r_strategy.isActive(), "Unable to buil v2r strategy" ); //executa o algoritmo PDIAGN_TRUE_OR_RETURN( v2r_strategy->Apply( strat_params ), "Error applying v2r strategy" ); Factory & Strategy Code

10

11 Vector2Raster Criação ou seleção de um Raster. Definição de classe Uma classe Varias classes Seleção da estratégia de preenchimento.

12 Resultados Uma classe. Varias classes.

13 Resultados (cont.) Baixa Resolução. Alta Resolução.

14 Conclusão Com o uso dos padrões de projeto, o código além de ficar mais legível e organizado se torna também mais flexível e eficiente. Uma visão de alto nível da aplicação se torna praticamente instantânea com a utilização dos padrões de projeto.

15 Bibliografia Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.


Carregar ppt "Vector To Raster Factory & Strategy Eric Silva Abreu São José dos Campos - 15 de dezembro de 2006."

Apresentações semelhantes


Anúncios Google