Importar CSV como polígono no QGIS

Oct 31 2020

Tenho um arquivo CSV com as coordenadas dos vértices dos meus polígonos (na imagem correspondem a "esquerda", "direita", "topo", "fundo"). Na verdade, é uma grade de polígonos. Como posso importar o arquivo no QGIS como polígonos e não como pontos?

Respostas

4 Houska Oct 31 2020 at 18:16

Estou assumindo que você deseja os retângulos com diagonal (esquerda, topo) e (direita, base) como os polígonos necessários.

Você pode importar o CSV como pontos, digamos x = esquerda , y = topo , e então usar o processamento (ou mesmo expressões) que acessam a direita e a base como atributos e se transformam nos retângulos desejados.

No entanto, será mais rápido pré-processar no Excel (ou qualquer que seja o seu programa de planilha) combinando os atributos em uma string WKT Polygon, que especifica inequivocamente os polígonos em um formato padrão.

Na célula G2 (ou linha 2 de uma nova coluna se G for usado), coloque ="POLYGON(("&B2&" "&C2&", "&D2&" "&C2&", "&D2&" "&E2&", "&B2&" "&E2&", "&B2&" "&C2&"))"e copie. Ele gera uma string WKT poligonal que circunda os pontos no sentido horário. Você pode então importar o CSV tomando a geometria desta coluna e o QGIS irá interpretá-lo como um polígono (retângulo) para cada linha.

6 LuisPerez Oct 31 2020 at 20:04

Você pode fazer isso com expressões, até mesmo carregando seu arquivo excel, sem converter para .csv, carregue seu arquivo excel como se fosse uma camada vetorial

Na caixa de ferramentas do processo > geometria vetorial > geometria por expressão .

A expressão, embora pareça um pouco longa, serve simplesmente para escrever um polígono wkt usando os campos e depois convertê-lo em geometria.

Basta executar esta expressão

 geom_from_wkt( concat('POLYGON((',to_string("left")+' '+to_string("top")+',',to_string("right")+' '+to_string("top")+', ', to_string("right")+' '+to_string("bottom")+',', to_string("left")+' '+to_string("bottom"),'))

Você obterá um resultado como este: