Pular para o conteúdo

Análise geoespacial

O PlaidCloud trata a geometria como parte integrante de um fluxo de trabalho: importa ficheiros espaciais, constrói geometria a partir de coordenadas, remodela-a e faz a correspondência, e publica o resultado — sem sair da plataforma e sem uma ferramenta SIG separada.

Este guia é o percurso por essas capacidades. Para o detalhe de referência de qualquer passo, consulte Passos geoespaciais.

Todos os passos espaciais leem e escrevem geometria como WKT (well-known text) numa coluna de texto vulgar. Isto tem três consequências que convém conhecer desde já:

  • Sem declaração de tipo. Uma coluna de geometria é uma coluna de texto. Nada para configurar, nada para migrar.
  • Os passos combinam-se livremente. A saída de qualquer passo espacial alimenta a entrada de qualquer outro, por qualquer ordem.
  • SQL e geometria misturam-se. Uma coluna de geometria fica ao lado das suas medidas, pelo que pode filtrar, agrupar e juntar por ambas no mesmo passo.

Tem duas vias de entrada, consoante a origem da geometria.

A partir de um ficheiro espacial. Utilize Spatial File Import para MapInfo .TAB, ESRI .shp, .kml ou .geojson. Carregue o ficheiro e os respetivos ficheiros auxiliares para a mesma pasta de documentos — o passo lê os ficheiros associados (.shx/.dbf/.prj para um shapefile, .dat/.map/.id para um .TAB) automaticamente. Resulta uma linha por elemento, com uma coluna de geometria WKT e os atributos do ficheiro.

A partir de coordenadas que já tem. Se os seus dados incluem colunas de longitude e latitude, construa pontos com uma expressão de Table Extract — esta é executada na base de dados, pelo que nenhuma linha sai do armazém de dados:

func.geom_as_wkt(
func.geom_point(
get_column(table, 'Longitude'),
get_column(table, 'Latitude'),
)
)

A partir de moradas — geocodificação. O passo geocode transforma colunas de morada em coordenadas (direta), e o passo geocode reverse transforma um par latitude/longitude novamente numa morada (inversa), através do serviço de geocodificação do PlaidCloud. A geocodificação direta acrescenta GeocodeLat / GeocodeLon (além de GeocodeStatus, GeocodeConfidence e da etiqueta correspondente); a inversa acrescenta os componentes da morada resolvida.

Ambos os passos de geocodificação também podem acrescentar a cada linha um código de localização compacto, calculado localmente a partir da coordenada devolvida — sem chamadas adicionais a serviços e sem dependências externas:

  • Geohash (GeocodeGeohash) — emitido por predefinição. Um geohash é a convenção da análise de dados (Elasticsearch, Redis, Lucene): a sua propriedade de prefixo faz com que um código mais curto seja prefixo de um mais longo para o mesmo ponto, pelo que GROUP BY LEFT(GeocodeGeohash, n) é uma segmentação espacial instantânea e uma junção por prefixo é uma proximidade barata.
  • Plus Code (GeocodePlusCode) — opcional, desativado por predefinição. Um Open Location Code é a forma de morada partilhável por pessoas utilizada pelo Google Maps e por alguns sistemas de endereçamento governamentais.

Controle as colunas emitidas com a definição location_codes do passo:

location_codes Colunas acrescentadas
none Nenhum código de localização
geohash (predefinido) GeocodeGeohash
geohash+pluscode GeocodeGeohash e GeocodePlusCode

Duas definições opcionais ajustam os códigos: geohash_precision (predefinição 9 ≈ uma célula de 4,8 m; limitada a 12) e pluscode_length (predefinição 10 ≈ uma célula de 14 m). Uma linha de geocodificação direta que não tenha resolvido para uma coordenada deixa as colunas de código em branco; uma linha de geocodificação inversa codifica a coordenada consultada mesmo quando não é encontrada nenhuma morada.

Com a geometria numa coluna, remodele-a para responder à pergunta que realmente tem.

Pergunta Passo
O que está a menos de n milhas de cada loja? Spatial Trade Area
O que está a uma distância fixa desta forma? Spatial Buffer
Qual é a área combinada de cada região? Spatial Combine
Que área envolvem estes pontos? Spatial Poly-Build
Onde se sobrepõem, ou diferem, estas duas áreas? Spatial Process
Como tornar estes limites mais baratos de desenhar? Spatial Generalize
Como dividir esta área em células iguais? Spatial Make Grid
Como decompor um polígono nas suas partes? Spatial Poly-Split

O Trade Area é normalmente o ponto de partida de uma análise de retalho ou de territórios de serviço: dê-lhe uma tabela de localizações e um conjunto de raios, e devolve anéis concêntricos com os quais pode fazer corresponder clientes.

3. Fazer corresponder localizações a territórios

Seção intitulada “3. Fazer corresponder localizações a territórios”

Os dois passos de correspondência respondem a perguntas diferentes e são executados por vias diferentes.

Em que território está cada cliente? Utilize Spatial Match. É executado como uma junção por predicado espacial na base de dados, pelo que escala com a tabela. Escolha a relação — intersects, within ou contains — e emite uma linha por cada par correspondente.

Quais são as lojas mais próximas de cada cliente? Utilize Spatial Find Nearest. Mantém as N linhas mais próximas por destino e acrescenta uma coluna de distância calculada na unidade que escolher. Também segue a via SQL, pelo que escala da mesma forma.

Que clientes ficaram fora de todos os territórios? Utilize Spatial Match (Intersect / Unmatched) no modo Unmatched. O mesmo passo também emite a própria geometria de sobreposição quando precisa da interseção em vez do emparelhamento.

Spatial Info acrescenta colunas de área, comprimento, centroide e retângulo delimitador. Estas são medições geodésicas WGS84, pelo que as milhas quadradas são milhas quadradas reais e não uma aproximação planar — o que importa assim que se comparam territórios a latitudes diferentes.

Para uma distância direta ponto a ponto entre duas colunas da mesma linha, uma expressão SQL é mais barata do que um passo.

A geometria que fica numa tabela não é uma resposta que alguém possa pôr em prática.

  • Report Map apresenta a geometria num relatório PDF, juntamente com gráficos e tabelas do mesmo fluxo de trabalho.
  • A tabela de resultados alimenta painéis de controlo como qualquer outra tabela — a coluna de geometria é mantida, e as medidas que a acompanham são o que a maioria dos painéis de controlo realmente representa em gráficos.
  • Os passos de exportação escrevem a tabela em CSV, Excel ou numa base de dados externa quando uma ferramenta SIG a jusante precisa dela.

Todas as ferramentas espaciais do Alteryx têm uma via no PlaidCloud. Os fluxos de trabalho convertidos escolhem-na automaticamente; a matriz de conversão do Alteryx lista o mapeamento ferramenta a ferramenta, e Migrar fluxos de trabalho espaciais do Alteryx explica como empacotar os ficheiros e validar o resultado.