17.6. SRCs. Reprojetando

Nota

Nesta lição discutiremos como o processamento usa os Sistemas de Referências de coordenadas (SRCs). Também veremos um algoritmo muito útil: reproject.

SRCs são uma grande fonte de confusão para os usuários do processamento QGIS, então aqui estão algumas regras sobre como eles são manipulados por algoritmos quando criada uma nova camada.

  • Se houver camadas de entrada, será usado o SRC da primeira camada. Este é considerado como o SRC de todas as camadas de entrada, uma vez que todos devem ter o mesmo. Se você usar camadas com SRC diferentes entre si o QGIS irá avisá-lo sobre isso. Observe que o SRC de camadas de entrada é mostrada junto com o seu nome na caixa de diálogo de parâmetros.

../../../_images/crs_layer.png
  • Se não houver camada de entrada, ele usará o SRC do projeto, a menos que o algoritmo contenha um campo SRC específico (como aconteceu na última lição com o algoritmo da retícula)

Abra o projeto correspondente a esta lição e você vai ver duas camadas nomeadas 23030 e 4326. Ambas contêm os mesmos pontos, mas em diferentes SRC (EPSG: 23030 e EPSG: 4326). Elas aparecem no mesmo lugar porque o QGIS está reprojetando automaticamente para o CRS do projeto(EPSG: 4326), mas elas não são realmente a mesma camada.

Abra o algoritmo Export/Add geometry columns.

../../../_images/add_geom.png

Esse algoritmo adiciona novas colunas na tabela de atributos de uma camada vetorial. O conteúdo das colunas depende do tipo de geometria da camada. No caso de pontos, ele adiciona novas colunas com as coordenadas X e Y de cada ponto.

Na lista de camadas disponíveis que você vai encontrar no campo de camada de entrada, você verá cada um com seu SRC correspondente. Isso significa que, apesar de aparecerem no mesmo lugar em sua tela, eles serão tratados de forma diferente. Selecione a camada 4326.

O outro parâmetro permite definir a forma como o algoritmo usa coordenadas para calcular o novo valor que irá adicionar às camadas resultantes. A maioria dos algoritmos não têm uma opção assim e só usam as coordenadas diretamente. Selecione a opção Layer CRS para apenas usar coordenadas como coordenadas. Essa é a forma como quase todos os geoalgoritmos trabalham.

Você deve obter uma nova camada com exatamente os mesmos pontos que as outras duas camadas. Se você clicar com o botão direito sobre o nome da camada e abrir suas propriedades, você vai ver que ele compartilha o mesmo SRC da camada de entrada, ou seja, o EPSG:4326. Quando a camada é carregado no QGIS, você não será solicitado a inserir o SRC da camada, uma vez que QGIS já sabe qual é.

Se você abrir a tabela de atributos da nova camada, irá ver que ela contém dois novos campos com as coordenadas X e Y de cada ponto.

../../../_images/attribs2.png

Esses valores de coordenadas são fornecidos na camada SRC, pois escolhemos essa opção. No entanto, mesmo se você escolher outra opção, o SRC de saída da camada teria sido o mesmo, pois o SRC de entrada é usado para definir o SRC da camada de saída. Escolher outra opção fará com que os valores sejam diferentes, mas não com que o ponto resultante seja alterado ou que o SRC da camada de saída seja diferente do SRC da camada de entrada.

Agora faça o mesmo cálculo usando a outra camada. Você deve encontrar a camada resultante renderizada exatamente no mesmo lugar das outras, e ela terá o SRC EPSG:23030, uma vez que era o da camada de entrada.

Se você for para a tabela de atributos da camada resultante, você verá valores diferentes dos da primeira camada que criamos.

../../../_images/attribs.png

Isto é porque o dado original é diferente (utiliza um outro SRC) e essas coordenadas são geradas a partir dele.

O que você deve aprender com isso? A principal ideia por trás desses exemplos é que geoalgoritmos usam a camada como ela é em sua fonte de dados original e ignoram completamente os reprojeções que o QGIS pode estar fazendo antes da renderização. Em outras palavras, não confie no que você vê na tela e sempre tenha em mente que os dados originais serão utilizados. Isso não é tão importante neste caso, uma vez que estamos usando apenas uma única camada de cada vez, mas em um algoritmo que precisa de várias delas (como um algoritmo de corte), camadas que parecem coincidir ou se sobrepor podem estar muito longe uma das outras, uma vez que elas podem ter diferentes SRCs.

Algoritmos não executam nenhuma reprojeção (exceto o algoritmo reprojection que veremos a seguir), por isso você é que deve certificar-se de que as camadas têm SRCs que combinem.

Um módulo interessante que lida com SRCs é o da reprojeção. Ele representa um caso particular, uma vez que tem uma camada de entrada (que será reprojetada), mas não usará o SRC dela para a saída.

Ara o algoritmo Reproject layer.

../../../_images/reprojection.png

Selecione qualquer uma das camadas como entrada e selecione o EPSG: 23029 como o SRC de destino. Execute o algoritmo e você terá uma nova camada, idêntica a da entrada, mas com outro SRC. Ela aparecerá na mesma região da tela, como as outras, uma vez que o QGIS irá reprojetá-la dinamicamente, mas suas coordenadas originais serão diferentes. Você pode ver isso executando o algoritmo Export/Add geometry columns usando essa nova camada como entrada e verificando que as coordenadas adicionadas são diferentes das que estão nas tabelas de atributos de ambas as camadas que havíamos processado anteriormente.