Ferramentas do usuário

Ferramentas do site


queries_uteis_em_spatialite

Essa é uma revisão anterior do documento!


Juntar duas camadas que se interseccionam

Essa query permite passar os atributos (colunas) de uma camada para outra com base na intersecção entre os elementos, isto é, os atributos de um elemento serão passadas para os elementos da outra camada (tabela) que eles interceptam.

Na janela SQL do Gerenciador DB executar a seguinte query, fazendo as devidas substituções dos elementos que estão entre colchetes (maiores explicações são dadas adiante):

SELECT -- determina os campos que se quer manter na nova camada
[nome do campo 1],
[nome do campo 2] ,
[nome do campo 3] , 
[nome do campo com a geometria que se deseja manter na nova camada ou tabela] -- inclui a geometria de uma das camadas
 
FROM
[nome da camada / tabela 1]
 
LEFT JOIN  [nome da camada / tabela 2]
 
ON ST_Intersects([nome da camada / tabela 1].[campo da geometria], [nome da camada / tabela 2].[campo da geometria]);

A query faz, em linhas gerais, o seguinte:

  1. Indica quais campos devem ser trazidos para a nova camada / tabela;
  2. Indica que devem ser consideradas duas tabelas, sendo que as mesmas devem ser unidas linha a linha (JOIN - ver abaixo);
  3. Determina que a união (JOIN) deve ser feita com base na intersecção entre as feições das duas camadas;

O JOIN compara linha a linha as tabelas e une as linhas que atendem a algum critério. Quando o JOIN não é espacial, o mais frequente é usar um campo em comum para orientar a união (linhas com o mesmo valor nesse campo em comum são consideradas como se fossem uma única linha na tabela de saída).

O INNER JOIN faz a união e mantém apenas as linhas que atendem ao critério indicado.

O LEFT JOIN faz a união e mantém todas as linhas da primeira tabela. No caso, as que não atendem ao critério terão valores nulos nas colunas que vêm da outra tabela.

O ST_Intersects indica qual é o critério para saber se duas linhas serão unidas em uma só ou não. Ele precisa de dois argumentos: o campo da geometria da camada 1 e o campo da geometria da camada 2. Veja algumas outras opções de análises espaciais aqui. (falta acrescentar)

Sobre o campo da geometria, ver a explicação contida aqui para saber qual nome subtituir na query acima: Spatialite - Campos da geometria

Depois que a query estiver pronta com os nomes dos campos corretos, é só clicar em “Executar”. Depois disso, clicar em “Criar uma vista”, selecionar a coluna de geometria, e depois clicar em “Garregar agora!”.

queries_uteis_em_spatialite.1525717147.txt.gz · Última modificação: 2018/06/14 14:57 (edição externa)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki