Primeiros passos no BigQuery GIS

Este tutorial é uma introdução ao BigQuery GIS. Com o BigQuery GIS, é possível analisar e visualizar facilmente os dados geoespaciais no BigQuery.

Objetivos

Neste tutorial, você aprenderá a:

  • usar uma função do BigQuery GIS para converter colunas de latitude e longitude em pontos geográficos;
  • executar uma consulta que encontre todas as estações do Citi Bike com mais de 30 bicicletas disponíveis para locação;
  • visualizar os resultados no BigQuery Geo Viz.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

  • BigQuery

Você será cobrado por:

  • Consulta aos dados nos conjuntos de dados públicos do BigQuery.
    • Todo mês, o primeiro 1 TB será gratuito.
    • Caso esteja usando preços fixos, os custos da consulta serão incluídos no preço fixo mensal.

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do GCP, na página do seletor de projetos, selecione ou crie um projeto do GCP.

    Acesse a página do seletor de projetos

  3. Verifique se o faturamento foi ativado no projeto do Google Cloud Platform. Saiba como confirmar que o faturamento está ativado para seu projeto.

  4. O BigQuery é ativado automaticamente em novos projetos. Para ativar o BigQuery em um projeto atual, acesse Ative a(s) BigQuery API necessária(s).

    Ativar a(s) API

Conferir os dados da amostra

Neste tutorial, usamos um conjunto de dados disponível por meio do programa de conjuntos de dados públicos do Google Cloud. Um conjunto de dados público é qualquer um que seja armazenado no BigQuery e disponibilizado ao público geral. Os conjuntos de dados públicos são hospedados no BigQuery para você acessar e integrar a seus aplicativos. O Google paga pelo armazenamento desses conjuntos de dados e oferece acesso público a eles por meio de um projeto. Você paga somente pelas consultas feitas aos dados. O primeiro terabyte (1 TB) por mês é gratuito, sujeito aos detalhes sobre preços de consultas.

Conjunto de dados de viagens do Citi Bike em Nova York

Viagens do Citi Bike em Nova York

O Citi Bike é o maior programa de compartilhamento de bicicletas dos Estados Unidos, com 10.000 bicicletas e 600 estações em Manhattan, Brooklyn, Queens e Jersey City. Neste conjunto de dados, constam as viagens do Citi Bike desde a inauguração em setembro de 2013. O conjunto passa por atualizações diárias. Os dados foram processados pelo Citi Bike para desconsiderar viagens feitas por funcionários para manutenção e inspeção do sistema, assim como viagens inferiores a 60 segundos de duração, consideradas inválidas.

É possível começar a explorar esses dados no console do BigQuery vendo os detalhes da tabela citibike_stations:

Acessar o esquema citibike_stations

Três colunas nesta tabela são relevantes para este tutorial:

  • bike_stations.longitude - a longitude de uma estação. Os valores são longitudes válidas em WGS 84 em formato de graus decimais.
  • bike_stations.latitude - a latitude de uma estação. Os valores são latitudes válidas em WGS 84 em formato de graus decimais.
  • num_bikes_available - o número de bicicletas disponíveis para locação.

Consultar as estações com mais de 30 bicicletas disponíveis

Nesta seção do tutorial, você executa uma consulta SQL padrão que encontra todas as estações do Citi Bike na cidade de Nova York com mais de 30 bicicletas disponíveis para locação.

Detalhes da consulta

A seguinte consulta SQL padrão é usada para encontrar as estações do Citi Bike com mais de 30 bicicletas.

SELECT
  ST_GeogPoint(longitude, latitude)  AS WKT,
  num_bikes_available
FROM
  `bigquery-public-data.new_york.citibike_stations`
WHERE num_bikes_available > 30

A consulta inclui as seguintes cláusulas:

  • SELECT ST_GeogPoint(longitude, latitude) AS WKT, num_bikes_available
    Através da cláusula SELECT, a coluna num_bikes_available é selecionada e a função ST_GeogPoint é usada para converter os valores nas colunas latitude e longitude em tipos GEOGRAPHY (pontos).
  • FROM `bigquery-public-data.new_york.citibike_stations`
    Através da cláusula FROM, é especificada a tabela que está sendo consultada: citibike_stations.
  • WHERE num_bikes_available > 30
    Através da cláusula WHERE, são filtrados os valores na coluna num_bikes_available apenas para as estações com mais de 30 bicicletas.

Executar a consulta

Para executar a consulta usando a IU da Web do BigQuery no Console do Cloud:

  1. Acesse o Console do Cloud.

    Acesse o Console do Cloud.

  2. Digite a consulta SQL padrão abaixo na área de texto Editor de consultas.

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. Clique em Executar.

    A consulta leva um momento para ser concluída. Depois que ela é executada, os resultados são exibidos no painel Resultados da consulta.

    Resultados da consulta de estações de bicicleta

Visualizar os resultados da consulta no Geo Viz

Em seguida, visualize os resultados no BigQuery Geo Viz, uma ferramenta da Web para a visualização de dados geoespaciais do BigQuery com as APIs Google Maps.

Iniciar o Geo Viz e autenticar

Antes de usar o Geo Viz, é preciso autenticar e conceder acesso aos dados do Google BigQuery.

Para configurar o Geo Viz:

  1. Abra a ferramenta da Web do Geo Viz.

    Abra a ferramenta da Web do Geo Viz

  2. Na primeira etapa, Selecionar dados, clique em Autorizar.

    Botão de autorização do Geo Viz

  3. Na caixa de diálogo Escolher uma conta, clique na sua Conta do Google.

    Caixa de diálogo

  4. Na caixa de diálogo de acesso, clique em Permitir para conceder ao Geo Viz acesso aos dados do BigQuery.

    Caixa de diálogo

Executar uma consulta SQL padrão em dados do GIS

Depois de autenticar e conceder acesso, a próxima etapa é executar a consulta no Geo Viz.

Para executar a consulta, faça o seguinte:

  1. Na primeira etapa, Selecionar dados, insira o ID do projeto no campo ID do projeto.

  2. Na janela de consulta, insira a seguinte consulta SQL padrão:

    -- Finds Citi Bike stations with > 30 bikes
    SELECT
      ST_GeogPoint(longitude, latitude)  AS WKT,
      num_bikes_available
    FROM
      `bigquery-public-data.new_york.citibike_stations`
    WHERE num_bikes_available > 30
    
  3. Clique em Executar.

  4. Quando a consulta for concluída, clique em Ver resultados. Como opção, clique na segunda etapa, Definir colunas.

    Ver os resultados

  5. Isso leva você à segunda etapa. Nesta etapa, para a coluna Geometria, escolha WKT. Isso representa os pontos correspondentes às estações de bicicleta no seu mapa.

    Resultados mapeados

Formatar a visualização

Na seção "Estilo", há uma lista de estilos visuais para personalização. Determinadas propriedades se aplicam somente a tipos de dados específicos. Por exemplo, circleRadius afeta somente pontos.

Veja as propriedades de estilo compatíveis:

  • fillColor: a cor de preenchimento de um polígono ou ponto. Por exemplo, as funções "linear" ou "intervalo" podem ser usadas para associar valores numéricos a um gradiente de cores.
  • fillOpacity: a opacidade de preenchimento de um polígono ou ponto. Os valores precisam estar na faixa 0-1, em que 0 = transparente e 1 = opaco.
  • strokeColor: a cor do traço ou contorno de um polígono ou de uma linha.
  • strokeOpacity: a opacidade do traço ou contorno do polígono ou da linha. Os valores precisam estar na faixa 0-1, em que 0 = transparente e 1 = opaco.
  • strokeWeight: a largura em pixels do traço ou contorno de um polígono ou de uma linha.
  • circleRadius: o raio, em pixels, do círculo que representa um ponto. Por exemplo, uma função "linear" pode ser usada para associar valores numéricos a tamanhos de ponto e criar um gráfico de dispersão.

Cada estilo pode receber um valor global, aplicado a todos os resultados, ou um valor orientado por dados, aplicado de maneiras diferentes dependendo dos dados de cada linha do resultado. Para valores orientados por dados, o resultado é determinado pelos seguintes elementos:

  • Função: uma função usada para calcular um valor de estilo a partir dos valores de um campo.
  • Identidade: o valor dos dados de cada campo é usado como o valor de estilo.
  • Categorização: os valores dos dados de cada campo listados no domínio são associados um a um aos estilos correspondentes da faixa.
  • Intervalo: os valores dos dados de cada campo são arredondados para o valor mais próximo no domínio, e o estilo correspondente da faixa é aplicado.
  • Linear: os valores dos dados de cada campo são interpolados linearmente entre os valores do domínio, e uma mistura dos estilos correspondentes da faixa é aplicada.
  • Campo: o campo especificado nos dados é usado como entrada para a função de estilo.
  • Domínio: uma lista ordenada de uma amostra dos valores de entrada de um campo. As entradas de amostra (domínio) são associadas a saídas de amostra (faixa) com base na função fornecida e são usadas para inferir valores de estilo para todas as entradas, mesmo as não listadas no domínio. Os valores no domínio precisam ser do mesmo tipo (texto, número etc.) dos valores do campo que você está visualizando.
  • Faixa: uma lista de uma amostra de valores de saída para a regra de estilo. Os valores da faixa precisam ser do mesmo tipo (cor ou número) da propriedade de estilo que você está controlando. Por exemplo, a faixa da propriedade fillColor precisa conter apenas cores.

Para formatar o mapa, siga estas etapas:

  1. Clique em Adicionar estilos na segunda etapa ou em Estilo, na terceira etapa.

  2. Altere a cor dos pontos. Clique em fillColor.

  3. No campo Valor, insira #0000FF, que é o código HTML para a cor azul.

    Cor de preenchimento

  4. Examine o mapa. Se você passar o cursor sobre um dos pontos, o valor será exibido.

    Detalhes dos pontos do mapa

  5. Clique em fillOpacity.

  6. No campo Valor, insira .5.

    Opacidade do preenchimento

  7. Examine o mapa. A cor de preenchimento dos pontos agora está semitransparente.

    Mapa com pontos semitransparentes

  8. Altere o tamanho dos pontos com base no número de bicicletas disponíveis. Clique em circleRadius.

  9. No painel circleRadius:

    1. Clique em Baseado em dados.
    2. Em Função, escolha linear.
    3. Em Campo, escolha num_bikes_available.
    4. Em Domínio, insira 30 na primeira caixa e 60 na segunda.
    5. Em Intervalo, insira 5 na primeira caixa e 20 na segunda.

      Raio do círculo

  10. Examine o mapa. O raio de cada círculo corresponde agora ao número de bicicletas disponíveis naquele local.

    Mapa final

  11. Feche o Geo Viz.

Limpeza

Para evitar cobranças dos recursos usados neste tutorial na conta do Google Cloud Platform:

  • exclua o projeto que você criou; ou
  • mantenha o projeto para uso futuro.

Para excluir o projeto, faça o seguinte:

  1. No Console do GCP, acesse a página Gerenciar recursos.

    Acessar a página Gerenciar recursos

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir