Calcolare la Lunghezza Lineare e le Statistiche (QGIS3)¶
QGIS ha funzioni e algoritmi incorporati per calcolare varie proprietà in base alla geometria degli oggetti, come lunghezza, area, perimetro ecc. Questo esercizio mostrerà come utilizzare lo strumento ** Aggiungi attributi della geometria ** per aggiungere una colonna con un valore che rappresenta la lunghezza di ciascuna caratteristica.
Panoramica dell’esercizio¶
Dato lo strato lineare delle ferrovie nel Nord America, determineremo la lunghezza totale delle ferrovie negli Stati Uniti.
Altre abilità che imparerai¶
Utilizzo di espressioni per filtrare le geometrie
Utilizzo del pannello: Statistiche per calcolare e visualizzare le statistiche sulle colonne.
Ottieni i dati¶
Natural Earth <http://www.naturalearthdata.com/downloads/10m-cultural-vectors/railroads/> `_ ha un dataset di ferrovie di pubblico dominio.
Download the North America supplement zip file from the portal.
Per comodità, è possibile scaricare direttamente una copia del set di dati dal link sottostante:
ne_10m_railroads_north_america..zip
Dati in [NATURALEARTH]
Procedura¶
Trovare il file `` ne_10m_railroads_north_america.zip`` scaricato nel pannello: Browser ed espanderlo. Trascinare il file `` ne_10m_railroads_north_america.shp`` sull’area di mappa.
Si vedrà un nuovo layer `` ne_10m_railroads_north_america`` caricato nel pannello: Layers. Si vedrà che il livello ha linee che rappresentano le ferrovie per tutto il Nord America. Ora calcoleremo le lunghezze di ogni linea. Selezionare il menu: Elaborazione -> Toolbox.
Cercare e trovare la voce del menu: `Geometria vettoriale -> Aggiungere algoritmo attributi geometria. Fare doppio clic per avviarlo.
Nella finestra di dialogo: Aggiungi attributi geometrici, selezionare ` ne_10m_railroads_north_america` nella voce:` Inserisci livello`. Il sistema di riferimento di coordinate (CRS) del livello di input è * EPSG: 4326 WGS84 *. Questo è un * CRS * Geografico con Latitudine e Longitudine come coordinate, WGS84 come ellissoide e gradi come unità. Poiché latitudine e longitudine non hanno una lunghezza standard, non è possibile misurare accuratamente le distanze o le aree utilizzando le funzioni della geometria planare. Fortunatamente, QGIS fornisce un modo migliore per calcolare le distanze utilizzando la geometria ellissoidale, che rappresenta il metodo più accurato per i layer che coprono grandi aree come in questo caso. Scegliere `` Ellipsoidal`` nella voce di menù: “Calcola usando” opzione. Cliccare la voce: Esegui. Al termine del processo, fare clic sulla voce: Chiudi.
Nota
If your input layer is in a Projected CRS, you may choose Layer CRS
option for calculation. Local or Regional projected coordinate systems are designed to minimize distortions over their region of interest, and thus are more accurate for such computation. Ellipsoidal
is preferred for layers in a Geographic CRS (i.e. Lat/Lon). The default unit for ellipsoidal length calculation is **Meters* and can be changed by going to .
Si vedrà un nuovo layer `` Added geom info`` caricato nel pannello: Layers. Questa è una copia del livello di partenza con una nuova colonna aggiunta per l’archiviazione del valore della distanza. Fare clic con il tasto destro del mouse sul layer `` Added geom info`` e selezionare: Open Attribute Table.
Nota
Lo strumento * Aggiungi attributo geometria * aggiunge diversi set di attributi a seconda che il livello di input sia punti, linee o poligoni. Vedere Documentazione QGIS <https://docs.qgis.org/testing/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html#add-geometry-attributes> _ per maggiori dettagli.
In the Attribute Table, you will see a new column called length. This contains the length of each line feature in meters. Also note that the sov_a3 attribute which contains the country code for each feature. Close the Attribute Table window.
Ora che abbiamo le lunghezze dei singoli segmenti di linee ferroviarie, possiamo aggiungerli per trovare la lunghezza totale delle ferrovie. Ma poiché la questione posta richiede la lunghezza totale della ferrovia negli Stati Uniti, dobbiamo utilizzare solo i segmenti contenuti negli USA. Possiamo usare il valore del codice paese nella colonna ** sov_a3 ** per filtrare il livello. Fare clic con il tasto destro del mouse sul layer `` Added geom info`` e selezionare la voce di menù: Filter.
Nella finestra di dialogo: Query Builder, inserire la seguente espressione e quindi fare clic su:` OK`.
"sov_a3" = 'USA'
Comparirà l’icona Filter accanto al layer` Added geom info` nel pannello:` Layers` che indica che un filtro è applicato al layer. E” possibile verificare visivamente che il livello ora contenga segmenti di linea solo per gli Stati Uniti. Ora siamo pronti per calcolarne la somma. Fare clic sul pulsante: Mostra il riepilogo statistico e quindi:` Barra degli strumenti Attributi`.
Una nuova voce: il pannello `Statistiche si aprirà. Selezionare il layer `` Added geom info`` e la colonna `` length``.
Saranno visibili varie statistiche visualizzate nel pannello. L’unità delle statistiche è uguale alle unità della colonna `` length`` - ** metri **. Cambiamo il calcolo per utilizzare ** chilometri **. Fare clic sull’icona: Expression accanto al menu a discesa dei campi nel pannello :` Statistiche`.
Immettere la seguente espressione in: Expression Dialog che convertirà la lunghezza in chilometri.
length / 1000
Il valore di Sum visualizzato rappresenta la lunghezza totale delle ferrovie negli Stati Uniti.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)