Polygonize área cercada por buffer no QGIS

Oct 16 2020

Eu tenho um sistema automatizado em QGIS que separa loops de traços GPX e calcula seu centróide usando 'Polygonize' >> 'Manter N partes maiores' >> 'Centroids'.

No entanto, muitas vezes inclui parte da 'abordagem de loop' no polígono:

Isso distorce o cálculo do centróide.

Acho que pode haver uma maneira de usar um buffer de linha para separar o loop do rastreamento GPX. Eu não me importo em preservar os dados GPX, mas quero evitar 'oscilações'.

Posso usar um buffer para fazer um polígono em torno do traço GPX:

Mas não consigo descobrir como transformar a área dentro do 'polígono de buffer' (mostrado em amarelo) em um polígono separado que posso usar para calcular o centróide.

É essencial que o processo seja automatizado. Tenho centenas de arquivos que precisam ser processados.

Buffers negativos não ajudam:

Eles mudam o buffer, mas não fazem um polígono da área cercada pela linha do buffer.

Mas talvez eu esteja faltando alguma coisa.

aqui está o traço GPX do quadrado simples para que você possa testá-lo:

<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="Open GPX Tracker for iOS">
    
        <trk>
        <trkseg>
            <trkpt lat="100.000" lon="100.000">
                
            </trkpt>
            
            <trkpt lat="100.000" lon="200.000">
                
            </trkpt>

            <trkpt lat="200.000" lon="200.000">
                
            </trkpt>

            <trkpt lat="200.000" lon="100.000">
                
            </trkpt>

            <trkpt lat="100.000" lon="100.000">
                
            </trkpt>
            
        </trkseg>
    </trk>  
</gpx>

Respostas

3 Peqi Oct 17 2020 at 11:13
  1. 'Polygonize' a linha primeiro
  2. 'Buffer negativo' esta camada poligonal