Arquitetura de análise geoespacial

Last reviewed 2024-03-25 UTC

Neste documento, você entenderá os recursos geoespaciais do Google Cloud e como usá-los em aplicativos de análise geoespacial. Este documento destina-se a profissionais de sistemas de informações geográficas (GIS, na sigla em inglês), cientistas de dados e desenvolvedores de aplicativos que querem saber como usar os produtos e serviços disponíveis no Google Cloud para fornecer insights geoespaciais para partes interessadas na empresa.

Visão geral

O Google Cloud oferece um conjunto abrangente de recursos de análise geoespacial e machine learning que ajudam a desenvolver insights para entender melhor o mundo, o ambiente e os negócios. Os insights geoespaciais que você aproveita desses recursos do Google Cloud podem ajudar a tomar decisões de negócios mais precisas e sustentáveis sem a complexidade e as despesas do gerenciamento da infraestrutura tradicional de SIG.

Casos de uso de análise geoespacial

Muitas decisões essenciais de negócios giram em torno dos dados de local. Os insights coletados de análises geoespaciais são aplicáveis a vários setores, empresas e mercados, conforme descrito nos exemplos a seguir:

  • Avaliação de risco ambiental. Entender os riscos apresentados pelas condições ambientais prevendo desastres naturais, como inundações e incêndios, o que ajuda a prever o risco com mais eficiência e se planejar para ele.
  • Otimização da seleção de sites. Combine as métricas reservadas do site com dados disponíveis publicamente, como padrões de tráfego e mobilidade geográfica, e use a análise geoespacial para encontrar os locais ideais para seus negócios e prever resultados financeiros.
  • Planejamento de logística e transporte. Gerencie melhor as operações de frotas, como a logística de última milha, analise os dados de veículos autônomos, gerencie a ferrovia de precisão e melhore o planejamento de mobilidade incorporando dados geoespaciais para a tomada de decisões nos negócios.
  • Entender e melhorar a saúde e o rendimento do solo. Analise milhões de hectares de terra para entender as características do solo e ajudar os agricultores a analisar as interações entre as variáveis que afetam a produção da planta.
  • Gerenciamento do desenvolvimento sustentável. Mapeie as condições econômicas, ambientais e sociais para determinar as áreas de foco para proteger e preservar o ambiente.

Elementos básicos da nuvem geoespacial

Sua arquitetura de análise geoespacial pode consistir em um ou mais componentes de nuvem geoespaciais, dependendo do caso de uso e dos requisitos. Cada componente oferece diferentes recursos, e eles trabalham juntos para formar uma arquitetura unificada e escalonável de análise de nuvem geoespacial.

Os dados são a matéria pura para fornecer insights geoespaciais. Os dados geoespaciais de qualidade estão disponíveis em várias fontes públicas e reservadas. As fontes de dados públicas incluem conjuntos de dados públicos do BigQuery, o catálogo do Google Earth Engine e o Serviço Geológico dos Estados Unidos (USGS, na sigla em inglês). As fontes de dados reservadas incluem sistemas internos, como SAP e Oracle, e ferramentas internas de SIG, como Esri ArcGIS Server, Carto e QGIS. É possível agregar dados de vários sistemas comerciais, como gerenciamento de inventário, análise de marketing e logística da cadeia de suprimentos, e combinar esses dados com os dados de origem geoespacial e enviar os resultados para seu armazenamento de dados geoespaciais.

Dependendo do tipo e do destino dos dados de uma origem, talvez seja possível carregar fontes de dados geoespaciais diretamente no armazenamento de dados de análise. Por exemplo, o BigQuery tem suporte integrado para carregamento de arquivos GeoJSON delimitados por nova linha, e o Earth Engine tem um catálogo de dados integrado com uma coleção abrangente de conjuntos de dados prontos para análise. É possível carregar outros dados em outros formatos por meio de um pipeline de dados geoespaciais, que pré-processa os dados geoespaciais e os carrega no armazenamento de dados da empresa no Google Cloud. É possível criar pipelines de dados prontos para produção usando o Dataflow. Outra opção é usar uma solução de parceiro como o FME Spatial ETL.

O armazenamento de dados corporativo é o núcleo da sua plataforma de análise geoespacial. Depois que os dados geoespaciais são carregados no armazenamento de dados, é possível começar a criar aplicativos e insights geoespaciais usando alguns dos seguintes recursos:

Sua arquitetura serve como um sistema único que pode ser usado para armazenar, processar e gerenciar dados em grande escala. A arquitetura também permite criar e implantar soluções avançadas de análise que podem produzir insights que não são viáveis em sistemas que não incluem esses recursos.

Tipos de dados geoespaciais, formatos e sistemas de coordenadas

Para agregar seus dados geoespaciais em um armazenamento de dados como o BigQuery, é preciso entender os formatos de dados geoespaciais que você provavelmente encontrará em sistemas internos e de fontes públicas.

Tipos de dados

Os tipos de dados geoespaciais se enquadram em duas categorias: vetoriais e raster.

Os dados vetoriais são compostos por vértices e segmentos de linha, conforme mostrado no diagrama a seguir.

Exemplos de imagens vetoriais (ponto, LineString, polígono, multipolígonos e coleções).

Exemplos de dados vetoriais incluem limites de parcelas, direitos de vias públicos (vias) e locais de recursos. Como os dados vetoriais podem ser armazenados em formato tabular (linha e coluna), os bancos de dados geoespaciais, como BigQuery e PostGIS no Cloud SQL, são excelentes para armazenar e indexar. e analisar dados vetoriais.

Os dados de rasterização são compostos de grades de pixels. Exemplos de dados rasterizados incluem medidas atmosféricas e imagens de satélite, conforme mostrado nos exemplos a seguir.

Exemplos de imagens rasterizadas mostrando fotos aéreas de áreas geográficas.

O Earth Engine foi projetado para análise e armazenamento em escala planetária de dados rasterizados. O Earth Engine inclui a capacidade de vetorizar os rasters, o que pode ajudar a classificar regiões e entender os padrões nos dados rasterizados. Por exemplo, ao analisar dados de rasterização atmosférica ao longo do tempo, é possível extrair vetores que representam correntes de vento predominantes. Carregue cada pixel de rasterização individual no BigQuery usando um processo chamado polígonos, que converte cada pixel diretamente em uma forma vetorial.

Os aplicativos em nuvem geoespaciais geralmente combinam os dois tipos de dados para produzir insights holísticos que aproveitam os pontos fortes das fontes de dados de cada categoria. Por exemplo, um aplicativo imobiliário que ajuda a identificar novos locais de desenvolvimento pode combinar dados vetoriais, como limites de lotes, com dados de elevação, como dados de elevação, para reduzir o risco de enchentes e custos de seguro.

Formatos de dados

Veja na tabela a seguir os formatos de dados geoespaciais conhecidos e as maneiras de usá-los na sua plataforma de análise.

Formato da fonte de dados Descrição Exemplos
Shapefile Formato de dados vetoriais que foi desenvolvido pela Esri. Ele permite que você armazene locais geométricos e associe atributos. Geometrias da quantidade populacional, pegadas de construção
WKT É um formato de dados vetoriais legível publicado pelo OGC. A compatibilidade com esse formato é integrada ao BigQuery. Representação de geometrias em arquivos CSV
WKB Um equivalente binário de armazenamento econômico do WKT. A compatibilidade com esse formato é integrada ao BigQuery. Representação de geometrias em arquivos CSV e bancos de dados
KML Um formato vetorial compatível com XML usado pelo Google Earth e outras ferramentas para computador. O formato é publicado pelo OGC. Formas de construção em 3D, estradas, elementos terrestres
Geojson Um formato de dados vetoriais aberto baseado em JSON. Recursos em navegadores da Web e aplicativos para dispositivos móveis
GeoTIFF Um formato de dados raster amplamente usado. Esse formato permite mapear pixels em uma imagem TIFF para coordenadas geográficas. Modelos de elevação digital, Landsat

Coordenar sistemas de referência

Todos os dados geoespaciais, independentemente do tipo e do formato, incluem um sistema de referência de coordenadas que permite às ferramentas de análise geoespacial, como o BigQuery e o Earth Engine, associar coordenadas a um local físico no superfície da Terra. Há dois tipos básicos de sistemas de referência de coordenadas: geodésica e plana.

Os dados geodésicos consideram a curvatura da Terra e usam um sistema de coordenadas baseado em coordenadas geográficas (longitude e latitude). As formas geodésicas são comumente chamadas de geografias. O WGS 84, um sistema de referência de coordenadas usado pelo BigQuery, é um sistema de coordenadas geodésicas.

Os dados planos são baseados em uma projeção de mapa, como o Mercator, que mapeia coordenadas geográficas em um plano bidimensional. Para carregar dados planos no BigQuery, é necessário reprojetá-los no sistema de coordenadas WGS 84. É possível fazer essa reprojeção manualmente usando as ferramentas existentes do SIG ou um pipeline de dados de nuvem geoespacial. Consulte a próxima seção.

Considerações para criar um pipeline de dados de nuvem geoespacial

Conforme observado acima, é possível carregar alguns dados geoespaciais diretamente no BigQuery e no Earth Engine, dependendo do tipo de dado. O BigQuery permite carregar dados vetoriais nos formatos de arquivo WKT, WKB e GeoJSON caso os dados usem o sistema de referência do WGS84. O Earth Engine se integra diretamente aos dados disponíveis no catálogo do Earth Engine e é compatível com o carregamento de imagens rasterizadas diretamente no formato de arquivo GeoTIFF.

Você pode encontrar dados geoespaciais armazenados em outros formatos e que não podem ser carregados diretamente no BigQuery. Ou os dados podem estar em um sistema de referência de coordenadas que precisa ser reprojetado primeiro no sistema de referência do WGS 8 Da mesma forma, você pode encontrar dados que precisam ser pré-processados, simplificados e corrigidos para erros.

É possível carregar dados geoespaciais pré-processados no BigQuery criando pipelines de dados geoespaciais usando o Dataflow. O Dataflow é um serviço de análise gerenciado compatível com streaming e processamento em lote de dados em escala.

É possível usar a biblioteca de Python geobeam, que estende o Apache Beam e adiciona recursos de processamento geoespacial ao Dataflow. Ela permite ler dados geoespaciais de várias fontes. A biblioteca também ajuda a processar e transformar os dados e carregá-los no BigQuery para usar como armazenamento de dados na nuvem geoespacial. A biblioteca geobeam tem código aberto, então é possível modificá-la e estenda-a para oferecer compatibilidade com outros formatos e tarefas de pré-processamento.

Usando o Dataflow e a biblioteca geobeam, é possível ingerir e analisar grandes quantidades de dados geoespaciais em paralelo. A biblioteca geobeam implementa conectores de E/S personalizados. A biblioteca geobeam inclui GDAL, PROJ e outras bibliotecas relacionadas para facilitar o processamento de dados geoespaciais. Por exemplo, o geobeam reprojeta automaticamente todas as geometrias de entrada para o sistema de coordenadas WGS84 usado pelo BigQuery para armazenar, agrupar e processar dados espaciais.

A biblioteca geobeam segue os padrões de design do Apache Beam. Portanto, os pipelines espaciais funcionam de maneira semelhante aos pipelines não espaciais. A diferença é que você usa as classes FileBasedSource personalizadas geobeam para ler arquivos de origem espaciais. Também é possível usar as funções de transformação geobeam integradas para processar os dados espaciais e implementar as próprias funções.

O exemplo a seguir mostra como criar um pipeline que lê um arquivo de varredura, polígono a varredura, o reprojeta no WGS 84 e grava os polígonos no BigQuery.

with beam.Pipeline(options=pipeline_options) as p:
  (p
   | beam.io.Read(GeotiffSource(known_args.gcs_url))
   | 'MakeValid' >> beam.Map(geobeam.fn.make_valid)
   | 'FilterInvalid' >> beam.Filter(geobeam.fn.filter_invalid)
   | 'FormatRecords' >> beam.Map(geobeam.fn.format_record,
       known_args.band_column, known_args.band_type)
   | 'WriteToBigQuery' >> beam.io.WriteToBigQuery('DATASET.TABLE'))

Análise de dados geoespaciais no BigQuery

Quando os dados estão no BigQuery, é possível transformar, analisar e modelar os dados. Por exemplo, você pode consultar a elevação média de um lote de terra por calcular a interseção dessas regiões e mesclar as tabelas usando SQL padrão de dados. O BigQuery oferece muitas funções que permitem criar novos valores geográficos, calcular as medidas das regiões geográficas, explorar a relação entre duas regiões geográficas e muito mais. É possível fazer a indexação geoespacial hierárquica com células de grade S2 usando as funções do BigQuery S2. Além disso, é possível usar os recursos de machine learning do BigQuery ML para identificar padrões nos dados, como criar um modelo de k-means para agrupar dados geoespaciais.

Visualização geoespacial, relatórios e implantação

O Google Cloud oferece várias opções para visualizar e gerar relatórios sobre seus dados e insights espaciais a fim de enviá-los aos usuários e aplicativos. Os métodos que você usa para representar seus insights espaciais dependem dos requisitos e dos objetivos de negócio. Nem todos os insights espaciais são representados graficamente. Muitos insights são mais bem fornecidos por um serviço de API como o Apigee ou salvando-os em um banco de dados de aplicativos como o Firestore para que os insights podem potencializar recursos em aplicativos voltados para o usuário.

Ao testar e prototipar suas análises geoespaciais, é possível usar o BigQuery GeoViz como uma maneira de validar suas consultas e gerar um resultado visual do BigQuery. Para gerar relatórios de Business Intelligence, use o Looker Studio ou o Looker para se conectar ao BigQuery e combinar suas visualizações geoespaciais com uma grande variedade de outros tipos de relatório para oferecer uma visão unificada dos insights que você precisa.

Também é possível criar aplicativos que permitam aos usuários interagir com dados e insights geoespaciais e incorporá-los aos aplicativos da empresa. Por exemplo, usando o Plataforma Google Maps, você pode combinar análises geoespaciais, aprendizado de máquina e dados das API Maps em um único aplicativo baseado em mapa. Ao usar bibliotecas de código aberto como deck.gl, é possível incluir visualizações e animações de alto desempenho para informar ao mapa- histórias com base em dados e representar melhor seus dados.

O Google também tem um ecossistema robusto e crescente de ofertas de parceiros que pode ajudar você a aproveitar ao máximo os insights geoespaciais. Carto, NGIS, Climate Engine e outros têm recursos e ofertas especializados que você pode personalizar para seu setor e sua empresa.

Arquitetura de referência

O diagrama a seguir mostra uma arquitetura de referência que ilustra como os componentes da nuvem geoespacial interagem. A arquitetura tem dois componentes principais: o pipeline de dados geoespaciais e a plataforma de análise geoespacial.

Arquitetura que mostra o fluxo de uma fonte de dados (Earth Engine ou Cloud Storage) por meio de um pipeline baseado no Dataflow e a colocação dos resultados no BigQuery.

Conforme mostrado no diagrama, os dados de origem geoespacial são carregados no Cloud Storage e no Earth Engine. Qualquer um desses produtos pode ser carregado por meio de um pipeline do Dataflow usando geobeam para executar operações comuns de pré-processamento, como validação de recursos e reprojeção de geometria. O Dataflow grava a saída do pipeline no BigQuery. Quando os dados estão no BigQuery, eles podem ser analisados no local usando análise de BigQuery e machine learning ou podem ser acessados por outros serviços, como Looker Studio, Looker, Vertex AI e Apigee.

A seguir