Microserviços para GeoData com Python Flask

Ba5fc739bb46c0e32217040e8563652c?s=47 Abner Anjos
September 09, 2019

Microserviços para GeoData com Python Flask

Vamos falar sobre micro serviços? Sim, então vamos começar a conversar sobre uma solução simples que encontrei para um problema corrente, uma plataforma para construção de aplicações muito grande com muitas variáveis e que muitas vezes não atendem as suas expectativas e funcionalidades e como se pode resolver esse problema, a solução pode ser um micro serviço que fornece exatamente a funcionalidade necessária da aplicação em desenvolvimento e esse serviço é desenvolvido por você e o melhor feito em python. Nessa apresentação há uma discussão sobre esse problema e a solução encontrada, e mais alguns códigos desenvolvidos no INPE.

Ba5fc739bb46c0e32217040e8563652c?s=128

Abner Anjos

September 09, 2019
Tweet

Transcript

  1. Entregas rápidas em tão pouco tempo! Microserviços para GeoData com

    Python Flask
  2. Quem sou eu? • Estudante de Análise e Desenvolvimento de

    Sistemas na FATEC São José dos Campos - Prof. Jessen Vidal; • Estagiário de Iniciação Científica no Instituto Nacional de Pesquisas Espaciais;
  3. Roteiro • Como era antes? • Mas por que? •

    Os primeiros erros... • Microserviços • GeoData • Pandas • Estrutura de dados • API Python Flask • Postgres e Python • Conclusão
  4. Como era antes?

  5. Como era antes? • O TerraMA2 processa as imagens Geotiff

    em cruzamento com um polígono; • No caso, um polígono com dados dos 5.556 municípios registrados no Brasil; • Quem conhece o TerraMA2 já sabe...
  6. Como era antes? • A busca de dados era feita

    com chamadas no geoserver pela interface API Restful; • Para buscar as camadas e as legendas processadas pelo TerraMA2; • A resposta era muito longa e poluída com dados desnecessários;
  7. Mas por que? • O python retorna apenas o dados

    que a aplicação precisa; • Por causa da estrutura de dados pandas, ótima para contruir gráficos;
  8. Os primeiros erros... • Como integrar a linguagem python com

    o framework angular versão 8? • Como integrar uma tecnologia relativamente nova em um sistema sem documentação? • Simples usando um microserviço...
  9. None
  10. Microserviços

  11. Microserviços • Software independente que fornece dados e processos específicos

    para um determinado cliente; • A arquitetura de microserviço é usada em grandes empresas onde times trabalham separadamente; • AUTONOMIA E INDEPENDÊNCIA;
  12. GeoData

  13. GeoData • ShapeFile => Arquivo com polígonos e localização, representado

    por uma tabela no banco de dados; • GeoTiff => Imagem com dados em valores reais com localização no mapa, geralmente representada por uma matriz; Objeto Monitorado
  14. GeoData • Como o python interpreta esses dados? • Georasters

    => biblioteca python para leitura e manipulação de dados geográficos; # pip install georaters
  15. Pandas

  16. Pandas • É uma biblioteca OpenSource para facilitar o uso

    de estrutura de dados e ferramentas de análise em python; • Ou seja, a biblioteca perfeita para Data Science e trabalhos com grande volume de dados! # pip install pandas
  17. Estrutura de dados

  18. Estrutura de dados • Área da computação que estuda diversas

    formas de organização e tipos dos dados; • Tabelas, DataFrames, Dicionários e JSON's; • Qual a melhor maneira para leitura de dados?
  19. API Python Flask

  20. API Python Flask • Flask é um micro-framework desenvolvido em

    python para web; • WerkZeug => App WSGI, WebSerser; • Jinja2 => Template engine; • Good Intentions => Estruturar sua API; # pip install Flask
  21. API Python Flask

  22. API Python Flask

  23. API Python Flask

  24. API Python Flask

  25. Postgres e Python

  26. Postgres e Python • Postgres é o banco de dados

    padrão para o TerraMA2, por causa da extensão PostGIS; • O python possui um interpretador postgres; # pip install psycopg2
  27. Postgres e Python

  28. Postgres e Python

  29. Conclusão • Dependendo do problema os microserviços podem ser a

    solução; • Foi uma solução eficaz e eficiente para a plataforma SMH da Fapesp;
  30. Conclusão • Mais projetos atualmente no INPE estão seguindo essa

    • linha com desenvolvimento em python; • PESQUISE, ESTUDE E APLIQUE!
  31. Obrigado! AbnerErnaniADSFatec Abner Ernâni dos Anjos