Back-End

18 abr, 2017

Abrindo o código do Deck.gl 4.0: o framework da Uber Engenharia para visualização avançada de dados

Publicidade

Os dados são a parte crítica para o avanço de qualquer tecnologia, mas eles perdem valor se não formos capazes de visualizá-los e entendê-los.

Em 2016, atuamos nessa filosofia, abrindo o código do deck.gl, um framework WebGL desenvolvido especificamente para exploração e visualização de conjuntos de dados em escala. O deck.gl nos permite extrair tanto dados históricos quanto em tempo real de conjuntos de dados grandes e complexos, permitindo que pensemos em 3D.

No início deste mês, abrimos o código da nossa versão mais recente do framework, deck.gl 4.0, capacitando qualquer pessoa, em qualquer lugar, para visualizar rapidamente e explorar conjuntos de dados. Nossos objetivos para a versão 4.0 foram triplicados.

  1. Possibilitar a exploração geoespacial avançada através de um rico conjunto de camadas de visualização, capazes de agregar dados em movimento.
  2. Estender nossa oferta, além dos mapas, para visualizações não geoespaciais, incluindo casos de uso de aprendizado de máquina, e visualização de dados abstratos (gráficos, redes etc.).
  3. Tornar o deck.gl mais fácil para ser utilizado pelos desenvolvedores fornecendo uma documentação mais compreensível (e interativa!), exemplos avulsos, demos mais novas e mais avançadas, e um guia atualizado a partir do deck.gl 3.0

Visualização geoespacial avançada

O deck.gl 4.0 traz um novo conjunto de poderosas camadas para nosso catálogo, que agora é capaz de cobrir mais casos de uso de mapeamento mundial. Veja algumas das dúzias de camadas e exemplos de como elas podem ser utilizadas.

Camada GeoJSON: Capaz de renderizar qualquer conjunto de dados do tipo GeoJSON, essa camada é projetada para processar e representar múltiplos tipos de características geométricas definidas no formato GeoJSON, incluindo pontos, linhas, multilinhas, polígonos e multipolígonos.

Abaixo, renderizamos os dados de valor de propriedades de Vancouver utilizando a funcionalidade de extrusão na camada GeoJSON. A altura codifica o valor da propriedade e a cor, a porcentagem de crescimento para esse valor.

Camadas de Grid e Hexágono: Essas camadas codificam a agregação dos resultados dos dados de localização por quadrado ou hexágono na cor ou altura de suas células, fornecendo um mapa de calor 2D ou um mapa de altura 3D para visualização dos dados.

No modelo abaixo, nós utilizamos dados do site data.gov.uk para representar o número de lesões pessoais baseado na localização no Reuno Unido desde 1979. O modelo demonstra a granularidade variável para os dados agrupados, o raio de variáveis para hexágonos, e uma maneira simples de selecionar percentuais da distribuição total.

Para uma lista completa das camadas e exemplos, acesse o catálogo de camadas e nossa galeria.

Além dos mapas

Algumas necessidades internas da Uber relacionadas a machine learning e visualização de redes geraram novos casos de uso para o deck.gl. Para solucionar essas necessidades, nós trabalhamos para separar a janela de projeção mercator do deck.gl para que o usuário possa entrar em qualquer janela, incluindo a perspectiva 3D padrão e as janelas ortográficas.

Camada de superfície 3D: Essa camada pode ser utilizada para renderizar itens como Planos de Dependência Parcial para modelos de aprendizado de máquina, destacando as correlações entre duas variáveis e seu impacto em uma previsão. A camada de superfície 3D apresentada abaixo mostra como utilizar o deck.gl para renderizar planos de superfície 3D, que faz uso de nosso mecanismo embutido de coleta para consultar o valor para a superfície em qualquer ponto aleatório.

Camada de ponto de nuvem: O deck.gk 4.0 também incorporou uma camada de ponto de nuvem para a visualização dos dados 3D de pontos de nuvem para obter modelos precisos da realidade.

Tornando o deck.gl mais fácil de usar

Além da adição de novas camadas e funcionalidades, o deck.gl 4.0 torna o framework mais acessível para usuários novos e experientes.

A documentação foi extensivamente melhorada e reorganizada em resposta ao feedback dos usuários. Em particular, cada camada agora tem uma camada de interatividade no navegador permitindo que o usuário teste todas as propriedades da camada enquanto estiver lendo a documentação. Isso torna muito mais fácil entender como as camadas do deck.gl funcionam, assim como determinar se servem ou não para seus casos de uso.

O deck.gl também fornece muitos exemplos avulsos, com arquivos mínimos de configuração (package.json, webpack.config.js etc.). Esses exemplos são fáceis de ser copiados diretamente para novos arquivos, o que torna a visualização dos seus dados mais rápida do que antes.

Com esse novo conjunto de poderosas camadas de visualização, base de código reprojetada e amigável, documentação interativa e exemplos, esperamos que o deck.gl 4.0 possa ajudar sua equipe também! Para ficar informado sobre as últimas atualizações, acesse o site do deck.gl.

***

Este artigo é do Uber Engineering. Ele foi escrito por Nicolas Garcia Belmonte. A tradução foi feita pela Redação iMasters com autorização. Você pode conferir o original em: https://eng.uber.com/deck-gl-4-0/.