Rimuovere piccoli poligoni "sale e pepe" dallo strato in QGIS?


11

Ho una mappa composta da più poligoni, con alcune centinaia di migliaia di punti poligonali al suo interno.

Ho bisogno dei poligoni più grandi, ma non dei piccoli poligoni a punti . Come seleziono e rimuovo tutti i punti piccoli poligoni, preservando i poligoni più grandi? (Ovviamente non voglio farlo manualmente - ci sono troppi punti per quello!)

Sono totalmente nuovo in QGIS e ho cercato su Google ampiamente senza fortuna. Probabilmente perché non sono sicuro di quale sia la terminologia corretta da utilizzare in una ricerca su Google!

I file che sto usando sono un .dbf, .prj, .qpj, .shp e .shx. Sto semplicemente trascinando il file .shp su QGIS e la mappa appare come un livello. Fondamentalmente una mappa del Regno Unito divisa in regioni (che voglio) e trattata in punti (che non vogliono).

Vista mappa vista tabella

Ecco come appare da vicino. Mi sono sciolto per vedere se sarebbero entrati nello strato circostante, senza fortuna:

vista ravvicinata di poligoni


4
Sembra che tu stia usando shapefile (.shp). Ogni shapefile può contenere solo uno di punti, linee o poligoni. Quindi uno (o più) dei tuoi file di forma conterrà le regioni del Regno Unito come poligoni e 1 (o più) dei tuoi file di forma conterrà solo punti. Se attivi / disattivi gli shapefile nel sommario (la casella accanto a loro) vedrai quali dati sono conservati in ogni file. È quindi possibile rimuovere solo i file che contengono i punti.
Dan_h_b

1
Chi ha creato i dati o da dove li hai ottenuti? Sembra che (in base all'immagine) ci siano poligoni con buchi.
Heikki Vesanto,

1
Concordo con Vesanto che se questo è solo uno strato potrebbe essere uno strato poligonale con buchi o poligoni molto piccoli. In questo caso potresti unirli con i poligoni più grandi. Ad esempio, selezionare i poligoni all'interno di quello grande, quindi unire. Potresti ingrandire e fornire una schermata di primo piano dei "punti" sulla tua mappa?
Chris P

1
Qualche possibilità che tu possa allegare al file shp?
Dan_h_b

1
Ok, quindi, suppongo, dirò che hai poligoni in più parti (in base al fatto che ci sono solo 17 righe nella tabella degli attributi). Se esplodi i tuoi dati in poligoni a parte singola, finirai con centinaia di poligoni. (Vettore> Strumenti geometria> Da multipart a singleparts). Dovresti quindi essere in grado di effettuare una selezione in base all'area (ovvero selezionare le aree veramente piccole) ed eliminarle per sbarazzarti di tutti questi piccoli poligoni, o in modo simile dovresti essere in grado di dissolverli in qualsiasi poligono di grandi dimensioni che cadono entro.
Dan_h_b

Risposte:


22

Sembra che tu stia lavorando con i dati Code-Point di Ordnance Survey , che è un set di dati delle aree di codice postale in Gran Bretagna e Irlanda del Nord.

I "punti" a cui ti riferisci sono piccoli poligoni quadrati che rappresentano le cosiddette "strade verticali": pile di più di un codice postale, che non possono essere rappresentate utilizzando poligoni "convenzionali" (vedi il commento di Andy Harfoot per maggiori dettagli ). Potresti pensare due volte alla rimozione di questi poligoni se hai bisogno dei codici postali interessati per la tua analisi.

Detto questo, ecco come è possibile rimuovere questi poligoni:

  1. Seleziona tutti i poligoni stradali verticali facendo clic su "Seleziona funzionalità utilizzando un'espressione" e inserendo "POSTCODE" LIKE 'V%'. Questo selezionerà tutte le funzioni che iniziano con un codice postale V, che sono le strade verticali.

  2. La semplice eliminazione delle funzionalità non aiuta, poiché i poligoni lasceranno dei buchi alle spalle, come hai già notato. Invece, puoi unire le strade verticali con un grande poligono vicino usando "Strumenti vettoriali / Geoprocessing / Elimina poligoni del nastro", salvando il risultato in un nuovo file.

  3. È possibile che venga visualizzato il messaggio di avviso che alcune funzioni non possono essere dissolte, insieme a un elenco di ID funzionalità. Se vuoi anche sbarazzarti di queste funzioni, seleziona le strade verticali nel nuovo livello usando l'espressione di prima, quindi esegui una delle seguenti operazioni:

    1. Se vuoi una soluzione automatica, puoi dissolvere le strade verticali insieme a tutti i poligoni vicini. Salvare la selezione su un nuovo livello utilizzando "Livello / Salva selezione come file vettoriale", quindi utilizzare "Vettore / Strumenti di ricerca / Seleziona per posizione" per selezionare le funzioni nel livello unito che si intersecano con le strade verticali offensive, creando una nuova selezione . Quindi dissolvi questa selezione usando "Strumenti vettoriali / Geoprocessing / Dissolvi", scegliendo --- Dissolve all ---nel campo "Dissolvi". Si noti che questo approccio può portare alla dissoluzione indesiderata di poligoni "corretti" se la strada verticale offensiva si trova sul confine di altri due poligoni o se vi sono strade verticali offensive all'interno di due poligoni vicini.

    2. Se si desidera evitare di dissolvere altri poligoni, è possibile selezionare manualmente le strade verticali e un poligono adiacente, facendo attenzione a non selezionare due poligoni vicini e quindi a dissolverli come sopra.


3
Eccellente walk-through della fonte, dei rischi, delle opzioni e del processo che l'OP inizialmente richiesto!
RyanKDalton,

1
Punto minore: esistono strade verticali in cui è presente una pila verticale di più di un codice postale, impedendo la loro rappresentazione come un poligono "convenzionale" nel set di dati. Ciò si verifica comunemente in palazzi residenziali o edifici per uffici. Viene fornito un elenco come compagno del set di dati poligono punto di codice principale che espande il codice stradale verticale (che inizia con V) nei codici postali multipli che lo compongono.
Andy Harfoot,

@AndyHarfoot: Ah sì, grazie per il chiarimento! Ho modificato la mia risposta
Jake,

È geniale, grazie. Solo una cosa: non riesco a trovare Seleziona funzionalità utilizzando un'espressione o Strumenti vettoriali / Geoprocessing / Elimina poligoni del nastro. Sono su 1.8.0 Lisbona. Devo aggiornare?
Stordito e confuso il

2

Prova a invertire la tua metodologia. Invece di provare a selezionare ed eliminare migliaia di punti, hai provato a selezionare i poligoni e creare un nuovo livello da quella selezione? Questo non sarebbe troppo noioso se avessi un metodo per eliminare manualmente tutti i punti, basta selezionare le funzionalità poligonali e creare un livello o esportarli. Se questi punti sono piccoli poligoni, come altri hanno commentato, puoi comunque selezionare solo i poligoni che desideri conservare ed esportare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.