Superset Maps Charts

Objetivo

Documentar o uso de charts de mapas no Superset.

Deck.gl e Mapbox

O Superset oferece vários charts baseados na biblioteca deck.gl que fazem uso da ferramenta Mapbpox

Para fazer uso desses charts é necessário criar uma conta em Mapbox e criar um token de acesso à API do Mapbox. Após isso deve-se acessar o arquivo “superset/config.py” e alterar a linha

MAPBOX_API_KEY = os.environ.get("MAPBOX_API_KEY", "")

para

MAPBOX_API_KEY = SEU TOKEN

Sem o Token de acesso o Superset irá gerar os visualizadores mas não será capaz de gerar o mapa interativo.

Segue uma lista dos charts disponíveis que fazem uso do Mapbox:

1. Arc

  • Caso de uso: Visualizar conexões entre dois pontos geográficos (ex.: rotas de voo, fluxos comerciais).

  • Entrada: Latitude e longitude para os pontos de início e fim.

  • Recursos:

    • Arcos renderizados entre locais.

    • Personalização de cor, opacidade e largura.


2. GeoJSON

  • Caso de uso: Exibir polígonos complexos ou características geográficas usando dados GeoJSON.

  • Entrada: Dados no formato GeoJSON.

  • Recursos:

    • Personalização de cor de preenchimento, borda e espessura da linha.

    • Suporte para visualização de fronteiras, regiões ou outras informações espaciais.


3. Grid

  • Caso de uso: Agregar dados geoespaciais em uma grade uniforme para criar visualizações estilo mapa de calor.

  • Entrada: Latitude e longitude, junto com uma métrica para agregar.

  • Recursos:

    • Tamanho ajustável da grade.

    • Agregação de dados dentro de cada célula.

    • Células coloridas com base nas métricas agregadas.


4. Hexagon

  • Caso de uso: Similar à Grade, mas utilizando agregação em bins hexagonais.

  • Entrada: Latitude e longitude com uma métrica agregável.

  • Recursos:

    • Bins hexagonais proporcionam transições mais suaves entre células.

    • Personalização de escalas de cores e métodos de agregação.


5. Path

  • Caso de uso: Visualizar sequências de pontos geográficos conectados por linhas (ex.: rotas ou trajetórias).

  • Entrada: Array de pontos de latitude e longitude para cada caminho.

  • Recursos:

    • Personalização de espessura, opacidade e cor das linhas.

    • Ideal para dados baseados em movimento ou direção.


6. Point

  • Caso de uso: Plotar pontos individuais em um mapa (ex.: localizações de lojas, eventos).

  • Entrada: Latitude e longitude.

  • Recursos:

    • Personalização de tamanho, cor e agrupamento de pontos.

    • Tooltips com detalhes sobre cada ponto.


7. Polygon

  • Caso de uso: Exibir polígonos preenchidos com base em limites geoespaciais.

  • Entrada: Coordenadas que definem os vértices do polígono.

  • Recursos:

    • Personalização de cores, opacidade e estilos de borda.

    • Útil para destacar regiões ou limites específicos.


8. Scatterplot

  • Caso de uso: Exibir pontos geoespaciais dispersos com métricas associadas.

  • Entrada: Latitude e longitude, junto com uma métrica opcional para cor ou tamanho.

  • Recursos:

    • Tooltips para informações adicionais.

    • Suporte para visualização de tendências ou outliers em dados pontuais.


9. Trips

  • Caso de uso: Visualizar movimentos baseados em tempo (ex.: rotas de entrega ou caminhos de veículos).

  • Entrada: Sequências temporais de pontos de latitude e longitude.

  • Recursos:

    • Renderização animada de trajetórias.

    • Filtros de tempo para visualizações dinâmicas.

10. MapBox

Comportamento semelhante ao Scatterplot

CountryMap

O CountryMap é um chart de visualização focado nas subdivisões dos países. Ele é mais simples que os mapas fornecidos pelo Mapbox e não fornece mapas tão iterativos a nível de runas. Fornece o mapa do Brasil dividido por estados e requer uma tabela de dados com os códigos ISO 3166-2 de cada estado (BR-SP, BR-MG, BR-PR, BR-SC…). Os mapas são no formato GEOJSON e para adicionar um mapa novo deve-se adicionar o seu arquivo GEOJSON à pasta :

superset-frontend/plugins/legacy-lugin-chart-country-map/src/countries/

e alterar o arquivo a seguir fazendo o import do arquivo adicionado anteriormente:

superset-frontend/plugins/legacy-lugin-chart-country-map/src/countries.ts

Dessa forma é possível adicionar mapas como o de divisão de cidades, apesar de até o presente momento não ter sido encontradas maneiras de preservar a divisão de estados neste mapa.