Come posso calcolare le aree di uno shapefile di area in metri quadrati o in acri (ha)?
Non ho trovato quella funzionalità negli strumenti vettoriali.
Come posso calcolare le aree di uno shapefile di area in metri quadrati o in acri (ha)?
Non ho trovato quella funzionalità negli strumenti vettoriali.
Risposte:
Rendi modificabile il livello, quindi usa la calcolatrice di campo (Livello> Apri tabella attributi> Calcolatrice di campo / Ctrl + I o fai clic con il pulsante destro del mouse su Shapefile> Apri tabella di attributi> Calcolatrice di campo / Ctrl + I). Esiste un "area $" dell'operatore che calcolerà l'area di ciascuna riga della tabella. Tutte le unità verranno calcolate nelle unità della proiezione, quindi probabilmente vorrai proiettarla su una proiezione che utilizza piedi o metri prima di farlo, piuttosto che lat / lon.
area(transform($geometry, 'EPSG:4326','EPSG:3763'))
?
Questo può essere fatto anche con Vector | Strumenti geometria | Aggiungi / esporta colonne geometriche, che crea un nuovo file di forma con l'aggiunta di colonne di area e perimetro (o lunghezza).
Modifica: (usando lo strumento sopra, puoi anche deselezionare "salva come nuovo file di forma" in V1.8, lo shapefile ora è solo aggiornato!)
L'uso del calcolatore di campo è probabilmente un'idea migliore, poiché non richiede la creazione di un nuovo shapefile.
Ho scritto una sceneggiatura specifica per questo. Se non si desidera riproiettare i dati, è possibile calcolare l'area utilizzando la matematica ellissoidale.
Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area
Troverai lo script installato in
Processing Toolbox -> Utils -> Ellipsoidal area
Lo strumento dovrebbe essere autoesplicativo e ti permetterà di calcolare l'area in unità di tua scelta indipendentemente dalla proiezione.
Se le aree che stai guardando possono cambiare, come ad esempio layout di infrastrutture, bacini idrografici, aree di studio ecc., Trovo utile etichettare semplicemente le aree, invece di aggiungerle come attributi.
Label-> round($area/10000,2)||' ha'
In questo modo non è necessario ricordare di aggiornare spesso le aree di raccolta nelle tabelle degli attributi.