Calcola l'area dei poligoni che si intersecano in QGIS


10

Ho due raccolte di shapefile:

1 - codici postali, aree amministrative e politiche

2 - varie categorie di uso del suolo come parchi e assegnazioni e punti come alberi

Voglio produrre statistiche sull'area di quelle categorie di uso del suolo suddivise per codice postale, amministrazione e area politica e il numero di punti con lo stesso mezzo. Ad esempio, ci sono 4,1 ettari di parco in SE15, 879 alberi in SE22 e così via.

Sto usando QGIS. Ho elaborato i miei dati non elaborati per preparare tutti gli shapefile, ma dopo molte ricerche infruttuose su questo e altri siti Web non riesco a vedere un modo per farlo.


1
si tratta di trovare punti all'interno di poligoni o poligoni all'interno di poligoni? in tal caso è possibile utilizzare gli strumenti di ricerca.
Ger,

Da Livermore circa 1962 ...: cap-lore.com/MathPhys/IP
Norman Hardy

Risposte:


6

Il "Join Attributes by Location"è molto adatto a questo scopo.

Supponiamo di avere uno shapefile Parks e PostCodes nella mappa come mostrato nel display. I parchi hanno un campo "Area" e i codici postali hanno un campo "ZipCode". I valori sono secondo le etichette visualizzate nella mappa. Cercheremo di trovare la somma dell'area dei parchi in ogni poligono zip.

inserisci qui la descrizione dell'immagine

Da Vettore> Strumenti di gestione dati> Seleziona lo strumento "Unisci attributi per posizione"

Imposta i parametri come mostrato in figura in modo da poter trovare la somma dell'area dei Parchi in ogni poligono PostCode e trovare anche la somma dei Parchi in ogni poligono.

vedi la struttura del campo qui sotto ..

inserisci qui la descrizione dell'immagine

Da Vettore> Strumenti di gestione dati> Seleziona lo strumento "Unisci attributi per posizione"

fornire gli attributi come mostrato in figura in modo da poter trovare la somma dell'area dei parchi in ogni poligono PostCode e anche la somma dei parchi in ogni poligono.

inserisci qui la descrizione dell'immagine

L'output sarà un file di forma identico al file di forma PostCodes nella geometria, ma gli attributi rifletteranno l'output dell'operazione precedente.

inserisci qui la descrizione dell'immagine


1
Cosa succede se i parchi non sono interamente contenuti all'interno di ciascun poligono di codice postale?
Simbamangu

2
Lo strumento di geoprocessing dell'Unione è la risposta, quindi ... Vedi la seguente risposta di @Simbamangu!
Wiltomap

6

Per calcolare l'area dei poligoni che si intersecano:

  1. Vector | Geoprocessing Tools | Union e selezionare i due layer e il nome del file di output, quindi OK per calcolare. Conferma "sì" per aggiungere il nuovo livello al sommario.
  2. Il nuovo livello mostrerà tutte le aree di ogni livello, tagliate da tutti i bordi sovrapposti, e tutti gli attributi di ciascun livello saranno inclusi dove si sovrappongono (e NA dove no).
  3. Calcola le aree dei poligoni - potresti dover usare UTM o un'altra proiezione appropriata - usando il calcolatore di campo ( $area / 1000000).
  4. Quindi aprirei il file DBF in un foglio di calcolo e utilizzerei un pivottabile per esaminare la somma delle aree per ciascuna delle caratteristiche che ti interessano, ad esempio, usando i codici postali come colonne e l'uso del territorio come righe, con "somma dell'area" 'come valore.

inserisci qui la descrizione dell'immagine

Per ottenere punti contenuti nei poligoni:

  1. Effettua un join spaziale - Vector | Strumenti di gestione dei dati | Unisci per posizione, selezionando il livello punti come target e i poligoni come livello vettoriale join;
  2. Il livello risultante collegherà gli attributi dei poligoni ai punti che si sovrappongono;
  3. Ancora una volta, apri in un foglio di calcolo e usa un pivottabile, usando 'conta' invece di 'somma' per uno qualsiasi degli attributi dei punti per mostrare quanti punti si trovano all'interno di ciascun tipo di area.
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.