OnlineMapMaker logo

Strumento di ritaglio GIS: ritaglia layer vettoriali su un confine

Ritaglia punti, linee e poligoni sulla forma di un poligono di ritaglio, mantieni ogni attributo e scarica il risultato come GeoJSON, KML o CSV. Funziona come lo strumento Ritaglia (Clip) di ArcGIS Pro e QGIS, gira nel tuo browser e non carica nulla. Apri a schermo intero ↗

Rate this tool:
Pubblicità
Pubblicità
Loading map…
Hai bisogno di aiuto con il tuo progetto GIS?Scopri i Nostri Servizi

Cosa fa lo strumento di ritaglio

Ritaglia (Clip) è uno degli strumenti più usati nei GIS. Gli dai due layer. Il primo è il layer di input: i dati che vuoi tagliare, per esempio strade, fiumi, fermate dell'autobus o particelle catastali. Il secondo è il layer di ritaglio: uno o più poligoni che descrivono la tua area di interesse, per esempio il confine di un comune o l'area di un progetto. Lo strumento funziona come una formina per biscotti. Tiene solo le parti dell'input che cadono dentro i poligoni di ritaglio e scarta tutto il resto.

L'output ha lo stesso tipo di geometria dell'input. Le strade ritagliate restano linee, le fermate ritagliate restano punti e le particelle ritagliate restano poligoni. Una strada che attraversa il confine viene tagliata esattamente nel punto in cui lo attraversa, e resta solo il tratto interno. La tabella degli attributi dell'input viene copiata senza modifiche, quindi una strada mantiene il nome, il tipo e ogni altro campo. Il layer di ritaglio dà solo la sua forma. I suoi attributi non vengono aggiunti. È la stessa regola che segue lo strumento Ritaglia in ArcGIS Pro, in ArcMap e in QGIS.

Ho creato questo strumento per i tanti piccoli ritagli che non giustificano l'apertura di un GIS desktop. Puoi trascinare sulla mappa uno Shapefile zippato, GeoJSON, KML, KMZ, GPX o WKT, oppure disegnare le tue forme e i tuoi rettangoli di ritaglio. Scegli il layer di input e quello di ritaglio, fai clic su Clip e scarica il risultato. Tutto il calcolo avviene nel tuo browser con librerie di geometria open source, quindi i tuoi file non lasciano mai il computer. La mappa parte senza mappa di base per restare veloce e tenere l'attenzione sui tuoi dati. Puoi attivare una mappa stradale o satellitare quando vuoi.

Pubblicità
Pubblicità

Formati di file supportati

Puoi caricare più file insieme e mescolare i formati. Ogni file diventa un layer nel pannello Layers. Un layer può contenere nello stesso momento punti, linee e poligoni, e ognuno viene ritagliato con il metodo giusto.

Formati di input (cosa puoi caricare)

FormatoEstensioneNote
GeoJSON.geojson, .jsonUna FeatureCollection, un singolo Feature o una geometria semplice. Le GeometryCollection vengono divise nelle loro parti.
Esri Shapefile.zipComprimi insieme i file .shp, .shx e .dbf. Se aggiungi il .prj, i dati proiettati vengono convertiti in WGS84 al caricamento. Un file .cpg imposta la codifica del testo.
KML.kmlSegnaposto di Google Earth. Le MultiGeometry vengono divise nelle loro parti, e ExtendedData diventa attributi.
KMZ.kmzUn KML zippato. Viene letto il primo file .kml dell'archivio.
GPX.gpxFile GPS. I waypoint diventano punti, tracce e percorsi diventano linee. Le quote vengono mantenute.
WKT.wkt, .txtWell-Known Text. Una geometria per tutto il file, oppure una geometria per riga.

Formati di output (cosa puoi scaricare)

FormatoEstensioneNote
GeoJSON.geojsonIl formato standard del web (RFC 7946) in WGS84. Mantiene tutti gli attributi. Si apre in ArcGIS Pro, QGIS e quasi ogni libreria di mappe web.
KML.kmlSi apre in Google Earth. Gli attributi vengono scritti come ExtendedData su ogni segnaposto.
CSV (WKT).csvUna riga per elemento. La prima colonna contiene la geometria in WKT, e ogni attributo ha una sua colonna. Si apre in Excel, e QGIS può leggere la colonna WKT come geometria.

Ogni file può arrivare a 50 MB. Per dataset nazionali molto grandi, un GIS desktop resta la scelta migliore. Vedi il confronto più in basso in questa pagina.

Dettagli tecnici

Ecco esattamente cosa fa lo strumento con i tuoi dati. Se conosci lo strumento Ritaglia di ArcGIS Pro o di QGIS, quasi tutto ti sembrerà familiare.

Tipi di geometria in input
Point, MultiPoint, LineString, MultiLineString, Polygon e MultiPolygon. Uno stesso layer può mescolarli tutti.
Tipi di geometria di ritaglio
Polygon e MultiPolygon, con o senza buchi. Un layer senza poligoni non può essere scelto come layer di ritaglio.
Più poligoni di ritaglio
Tutti i poligoni del layer di ritaglio vengono fusi (dissolti) in un'unica maschera prima del ritaglio. Dove i poligoni di ritaglio si sovrappongono, l'input viene tagliato una volta sola, quindi non ottieni elementi doppi.
Attributi
Ogni attributo dell'elemento di input viene copiato senza modifiche. Gli attributi del layer di ritaglio non vengono aggiunti (per quelli usa lo Strumento di Intersezione tra Poligoni). Come opzione, lo strumento aggiunge clip_status (inside o clipped), clip_area_m2, clip_length_m o clip_points.
Sistema di coordinate
Longitudine e latitudine WGS84 (EPSG:4326), come GeoJSON. Uno Shapefile zippato con file .prj viene convertito in WGS84 al caricamento.
Modello geometrico
Il taglio avviene su un piano in gradi, lo stesso modello di Turf.js e della maggior parte delle librerie GIS web. Aree e lunghezze nel pannello dei risultati sono misurate sulla sfera (geodetiche), in metri quadrati e metri.
Regola del confine
Un punto esattamente sul confine di ritaglio viene mantenuto. Anche un tratto di linea che corre lungo il confine viene mantenuto. ArcGIS e QGIS seguono la stessa regola.
Quota (Z)
I valori Z esistenti restano sui loro vertici. Un nuovo vertice creato dove una linea viene tagliata riceve un valore Z interpolato tra i due vicini.
Output multiparte
Se un elemento viene tagliato in più pezzi, i pezzi restano insieme in un unico elemento multiparte (MultiLineString, MultiPolygon o MultiPoint), come in ArcGIS Pro. Spunta "Split multipart results" per avere un elemento per pezzo.
Geometria non valida
Se un elemento di input ha una geometria rotta (per esempio un poligono che si interseca da solo), quell'elemento viene saltato e contato, e il resto del layer viene comunque ritagliato.
Limiti
50 MB per file. Puoi caricare più file insieme. La velocità dipende dal tuo dispositivo. Decine di migliaia di elementi si ritagliano di solito in circa un secondo.
Privacy
Tutto gira nel tuo browser. Nessun file e nessuna geometria vengono inviati a un server.

Come usare lo strumento di ritaglio, passo dopo passo

Ecco tutto il procedimento con i dati di esempio integrati. Con i tuoi file funziona allo stesso modo.

Mappa vuota dello strumento di ritaglio GIS senza mappa di base, con gli strumenti di disegno, il pulsante Upload e il pulsante Sample Data
1
Passo 1: Apri lo strumento

La mappa si apre vuota e senza mappa di base, quindi non viene caricato nulla che non ti serve. La barra degli strumenti ha gli strumenti di disegno Point, Line, Polygon e Clip Rectangle, un pulsante Upload e un pulsante Sample Data.

Layer di città di esempio con particelle, strade e punti, e un poligono verde di area di studio con un buco, su una mappa vuota
2
Passo 2: Aggiungi un layer di input e un layer di ritaglio

Trascina i tuoi file sulla mappa o fai clic su Upload. Qui ho fatto clic su Sample Data: aggiunge un layer di città con particelle, strade e punti, e un poligono di area di studio con un lago ritagliato al suo interno.

Pannello Clip con il layer di input e il layer di ritaglio selezionati e le due caselle delle opzioni
3
Passo 3: Scegli i layer e le opzioni

Nel pannello Clip, scegli il layer di input (i dati da tagliare) e il layer di ritaglio (il confine poligonale). Nella lista di ritaglio compaiono solo i layer con poligoni. Decidi se vuoi i campi aggiuntivi clip_status, area e lunghezza, e se i risultati multiparte vanno separati.

Risultato ritagliato sulla mappa: particelle, strade e punti tagliati sull'area di studio, con il lago vuoto, e il riepilogo dei risultati nella barra laterale
4
Passo 4: Fai clic su Clip Layer

Il risultato compare come nuovo layer a colore pieno, e il layer di input viene nascosto. Il riquadro dei risultati mostra quanti elementi sono entrati e usciti, quanti erano completamente dentro, tagliati sul confine o scartati, e l'area, la lunghezza e il numero di punti mantenuti.

Layer ritagliato sopra una mappa di base stradale, con un popup che mostra gli attributi di una strada ritagliata
5
Passo 5: Controlla il risultato con una mappa di base e gli attributi

Spunta "Show basemap" per vedere il risultato su una mappa stradale o satellitare. Fai clic su un elemento ritagliato per aprire i suoi attributi. Ci sono tutti i campi originali, più i campi di ritaglio opzionali.

Pannello Export con il layer ritagliato selezionato e i pulsanti di download GeoJSON, KML e CSV
6
Passo 6: Scarica il layer ritagliato

Nel pannello Export, scegli il layer e scaricalo come GeoJSON, KML o CSV con una colonna WKT. La piccola freccia accanto a ogni layer nel pannello Layers è un download GeoJSON rapido.

Pubblicità
Pubblicità

Come ritagliare un poligono (e linee e punti)

L'idea è la stessa in ogni programma GIS: un layer viene tagliato, un altro layer taglia. Ecco come ritagliare un layer di poligoni in questo strumento, in ArcGIS Pro, in ArcMap e in QGIS, e come farlo con uno script in arcpy.

In questo strumento

Carica i poligoni da tagliare e il poligono del confine. Scegli i poligoni come layer di input e il confine come layer di ritaglio, poi fai clic su Clip Layer. Se ti serve solo un'area rettangolare, fai clic su Clip Rectangle e poi su due angoli opposti della mappa. Il rettangolo diventa subito il layer di ritaglio. Linee e punti nello stesso layer di input vengono ritagliati nella stessa esecuzione.

In ArcGIS Pro

Apri il pannello Geoprocessing e cerca Ritaglia (Clip), oppure vai nel toolbox Analysis > toolset Extract > Clip. Imposta Input Features sul layer da tagliare e Clip Features sul tuo confine, scegli una feature class di output e fai clic su Esegui. ArcGIS Pro ha anche Pairwise Clip nel toolset Pairwise Overlay, che fa lo stesso lavoro con elaborazione in parallelo ed è più veloce su dati grandi. Entrambi mantengono solo gli attributi delle feature di input.

In ArcMap

In ArcMap lo strumento si trova in ArcToolbox > Analysis Tools > Extract > Clip, e anche nel menu Geoprocessing. I parametri sono gli stessi di ArcGIS Pro. Esri ha ritirato ArcMap a marzo 2026, quindi per i lavori nuovi ti consiglio ArcGIS Pro, QGIS o questo strumento. I vecchi modelli e script di ArcMap che chiamano Clip_analysis di solito passano ad ArcGIS Pro con poche modifiche.

In QGIS

Vai su Vettore > Strumenti di geoprocessing > Ritaglia (Clip). Scegli il layer di input e il layer di sovrapposizione (il confine poligonale), poi fai clic su Esegui. Il risultato viene aggiunto come layer temporaneo, che puoi salvare come GeoPackage o Shapefile. Se ti serve solo un rettangolo, apri gli Strumenti di Processing, esegui Extract/Clip by Extent dal gruppo Vector overlay e spunta "Clip features to extent".

Con arcpy (Python per ArcGIS)

In ArcGIS Pro la funzione è arcpy.analysis.Clip(in_features, clip_features, out_feature_class). I vecchi script di ArcMap usano il nome precedente arcpy.Clip_analysis, che funziona ancora. Un quarto parametro opzionale imposta la tolleranza di cluster (XY). Il codice qui sotto mostra entrambe le forme, più lo stesso lavoro in PyQGIS, GDAL e GeoPandas.

Lo stesso ritaglio in codice

Se ritagli lo stesso tipo di dati ogni settimana, uno script ti fa risparmiare tempo. Tutti questi esempi tagliano un layer di strade su un poligono di area di studio.

import arcpy

arcpy.env.workspace = r"C:\data\city.gdb"

# ArcGIS Pro: Analysis toolbox > Extract > Clip
arcpy.analysis.Clip("roads", "study_area", "roads_clip")

# Older ArcMap syntax (same tool, old name)
arcpy.Clip_analysis("roads", "study_area", "roads_clip")
# QGIS Python console: Vector > Geoprocessing Tools > Clip
processing.run("native:clip", {
    "INPUT": "C:/data/roads.shp",
    "OVERLAY": "C:/data/study_area.shp",
    "OUTPUT": "C:/data/roads_clip.gpkg",
})
# GDAL / OGR command line
ogr2ogr -clipsrc study_area.shp roads_clip.gpkg roads.shp

# GeoPandas
import geopandas as gpd
roads = gpd.read_file("roads.shp")
area = gpd.read_file("study_area.shp")
roads_clip = gpd.clip(roads, area)

Il mio parere: per un ritaglio singolo su un file di dimensioni normali, questo strumento è la via più rapida dal file al risultato. Per ritagli che si ripetono o fanno parte di un flusso più grande, scrivi una volta uno script arcpy o PyQGIS e riusalo.

Come funziona lo strumento, passo dopo passo

Questo è il percorso dei tuoi dati dal clic su Clip Layer in poi. Ogni passo gira nel tuo browser.

  1. Leggere e pulire l'input. Ogni file viene trasformato in elementi GeoJSON in WGS84. Una GeometryCollection viene divisa in elementi separati con gli stessi attributi, così il ritagliatore vede solo tipi di geometria semplici.
  2. Dissolvere il layer di ritaglio. Tutti i poligoni del layer di ritaglio vengono fusi in un'unica geometria, la maschera M, con un'unione di poligoni. I buchi restano buchi. Poiché i poligoni di ritaglio sovrapposti diventano una sola forma, una strada dentro due poligoni sovrapposti viene mantenuta una volta sola.
  3. Test rapido del riquadro di delimitazione. Lo strumento confronta il riquadro di delimitazione di ogni elemento di input con quello di M. Se i due riquadri non si toccano, l'elemento non può essere dentro e viene scartato subito, senza altri calcoli. Sui layer grandi questo evita la maggior parte del lavoro.
  4. Ritagliare i punti. Ogni punto passa un test di punto nel poligono contro M. I punti dentro o sul confine vengono mantenuti. In un MultiPoint restano solo i punti interni.
  5. Ritagliare le linee. Ogni segmento di linea viene confrontato con ogni lato di M che si trova vicino. Lo strumento trova ogni punto in cui il segmento attraversa un lato e lo taglia lì. Poi guarda il centro di ogni pezzetto: se il centro è dentro M, il pezzo resta. I pezzi che si toccano vengono riuniti in una sola linea.
  6. Ritagliare i poligoni. Ogni poligono viene intersecato con M tramite un algoritmo booleano a linea di scansione (Martinez-Rueda). Questo restituisce l'area comune esatta, compresi nuovi buchi dove M ha buchi.
  7. Copiare gli attributi e aggiungere campi. Ogni elemento di output riceve una copia di tutti gli attributi del suo elemento di input. Se lo hai chiesto, lo strumento aggiunge clip_status e l'area, la lunghezza o il numero di punti mantenuti. Se hai spuntato l'opzione multiparte, qui i risultati multiparte vengono divisi in parti singole.
  8. Riepilogare e disegnare. Lo strumento conta gli elementi completamente dentro, tagliati sul confine, scartati o saltati, somma l'area e la lunghezza mantenute e aggiunge il risultato come nuovo layer sulla mappa. Il layer di input viene nascosto perché tu veda bene il risultato.

I passi sono divisi così perché ogni tipo di geometria richiede calcoli diversi. Ai punti basta un test dentro o fuori. Le linee hanno bisogno dei punti di attraversamento. I poligoni hanno bisogno di una sovrapposizione booleana completa. Usare per ogni tipo il metodo corretto più economico mantiene lo strumento veloce.

La teoria e la matematica del ritaglio

Ritagliare sembra semplice su una mappa, ma si basa su alcuni risultati classici della geometria computazionale. Eccoli, nell'ordine in cui lo strumento li usa.

1. Il ritaglio come operazione sugli insiemi

Nella teoria degli insiemi, ritagliare è un'intersezione. Ogni elemento di input a viene sostituito dalla parte che condivide con la maschera M. Gli elementi che non hanno nulla in comune con M spariscono. La maschera è l'unione di tutti i poligoni di ritaglio.

Clip(A, M) = { a ∩ M  :  a ∈ A  e  a ∩ M ≠ ∅ }

M = M₁ ∪ M₂ ∪ … ∪ Mₖ     (tutti i poligoni di ritaglio, fusi prima)

La differenza rispetto a un'intersezione completa (Intersect) riguarda solo gli attributi: Clip mantiene gli attributi di a e ignora quelli di M. La geometria del risultato è la stessa.

2. Punto nel poligono: la regola del raggio

Per capire se un punto è dentro un poligono, si traccia un raggio dal punto verso destra e si conta quante volte attraversa il bordo del poligono. Un numero dispari vuol dire dentro, un numero pari vuol dire fuori. I buchi non richiedono un caso speciale: sono solo altri lati da contare.

Punto P = (x, y). Lato da (xi, yi) a (xj, yj).

Il lato viene attraversato quando:
  (yi > y) ≠ (yj > y)
  e  x < xi + (y − yi) · (xj − xi) / (yj − yi)

P è dentro  ⇔  il numero di lati attraversati è dispari

La libreria usata qui (point-in-polygon-hao) implementa una versione migliorata di questo test, di Hao e colleghi (2018). Riconosce anche i punti che stanno esattamente su un lato, così lo strumento può mantenere di proposito i punti sul confine.

3. Dove una linea attraversa il confine

Un segmento di linea da p a q e un lato del confine da a a b si scrivono in forma parametrica. Risolvendo le due equazioni con i prodotti vettoriali 2D si ottiene direttamente il punto di attraversamento.

Segmento: P(t) = p + t · r,   r = q − p,   0 ≤ t ≤ 1
Lato:     E(u) = a + u · s,   s = b − a,   0 ≤ u ≤ 1

cross(v, w) = v.x · w.y − v.y · w.x
w = a − p

t = cross(w, s) / cross(r, s)
u = cross(w, r) / cross(r, s)

Attraversamento reale  ⇔  0 < t < 1  e  0 ≤ u ≤ 1
cross(r, s) = 0  ⇔  segmento e lato sono paralleli

Quando segmento e lato sono paralleli, non c'è un unico punto di attraversamento. Lo strumento non ne ha bisogno: taglia in tutti gli altri attraversamenti e poi testa il centro di ogni pezzo con la regola del punto nel poligono. Un pezzo che corre esattamente lungo il confine ha il centro sul confine, quindi viene mantenuto.

4. Un esempio svolto

Prendi una strada da (−5, 5) a (15, 5), e un poligono di ritaglio quadrato da 0 a 10 in entrambe le direzioni, con un buco quadrato (un lago) da 4 a 6. La strada attraversa quattro lati, a t = 0,25, 0,45, 0,55 e 0,75.

Strada:  p = (−5, 5)   q = (15, 5)   r = (20, 0)

Pezzo (t)      Centro x   Test          Resta
0.00 – 0.25    −2.5       fuori         no
0.25 – 0.45     2.0       dentro        sì → (0, 5) – (4, 5)
0.45 – 0.55     5.0       nel buco      no
0.55 – 0.75     8.0       dentro        sì → (6, 5) – (10, 5)
0.75 – 1.00    12.5       fuori         no

Risultato: MultiLineString [ (0,5)–(4,5) , (6,5)–(10,5) ]

La strada è lunga 20 unità. Perde 5 unità per ogni lato del quadrato e altre 2 sopra il lago, quindi restano 8 unità, in due pezzi da 4 unità ciascuno. È proprio il caso che controllano i test dello strumento.

5. Ritaglio di poligoni: da Sutherland-Hodgman alla linea di scansione

Il ritaglio di poligoni è un vecchio problema della computer grafica. Sutherland e Hodgman pubblicarono nel 1974 il primo metodo molto diffuso. Ritaglia un poligono contro una finestra convessa, un lato alla volta. Weiler e Atherton (1977) riuscivano a gestire forme concave e buchi percorrendo entrambi i bordi. Poi arrivarono Vatti (1992) e Greiner-Hormann (1998). Un GIS ha bisogno del caso generale: qualsiasi forma, con buchi, molte parti e lati che si toccano.

Questo strumento usa polyclip-ts tramite Turf.js. Si basa sull'algoritmo a linea di scansione di Martínez, Rueda e Feito (2009). Una linea verticale immaginaria scorre da sinistra a destra sopra i due poligoni. Si ferma solo sui vertici e sui punti di attraversamento, e a ogni fermata decide quali lati fanno parte del risultato. Con n lati e k attraversamenti, il costo è circa O((n + k) · log n). La libreria esegue i confronti chiave con numeri a precisione arbitraria (bignumber.js), così gli errori di arrotondamento non rompono i casi limite come lati che si toccano o quasi paralleli.

6. Misurare ciò che resta

Il pannello dei risultati riporta aree e lunghezze sulla superficie terrestre, non in gradi. Le aree usano la formula sferica degli anelli di Chamberlain e Duquette (NASA JPL, 2007), la stessa di Turf.js. Le lunghezze usano la formula dell'haversine. Entrambe usano il raggio medio terrestre R = 6.371.008,8 m.

Area di un anello (λ = longitudine, φ = latitudine, in radianti):
A = (R² / 2) · | Σ (λ(i+1) − λ(i−1)) · sin φi |

Lunghezza di un segmento (haversine):
h = sin²(Δφ / 2) + cos φ1 · cos φ2 · sin²(Δλ / 2)
d = 2R · asin(√h)

R = 6 371 008.8 m

Una sfera è un buon modello della Terra. Per aree e lunghezze, l'errore di solito è inferiore all'1 per cento. Basta per controllare i risultati e per i report, ma se ti servono valori di qualità topografica, calcolali in un sistema di coordinate proiettato locale.

7. Una nota su lati dritti e curvi

Il taglio vero e proprio avviene su un piano in longitudine e latitudine, come in Turf.js, GeoPandas in EPSG:4326 e nella maggior parte degli strumenti web. Ogni lato è una linea dritta in gradi. Per dati grandi come una città, una provincia o un progetto, la differenza rispetto a un vero lato di cerchio massimo è molto più piccola della precisione dei dati. Con lati lunghi centinaia di chilometri, la linea dritta in gradi e quella di cerchio massimo possono allontanarsi in modo visibile. In quel caso, aggiungi vertici ai lati lunghi prima del ritaglio, oppure usa un GIS desktop in un sistema di coordinate proiettato.

Il miglior strumento di ritaglio GIS: questo strumento, ArcGIS Pro e QGIS a confronto

Mi chiedono spesso quale sia il miglior strumento di ritaglio nei GIS. La risposta onesta è che dipende dal lavoro. Ecco un confronto affiancato.

CaratteristicaQuesto strumentoArcGIS ProQGIS
PrezzoGratis, senza accountLicenza ArcGIS a pagamentoGratis e open source
InstallazioneNessuna, gira nel browserProgramma desktop per WindowsProgramma desktop per Windows, macOS e Linux
Formati di inputGeoJSON, Shapefile ZIP, KML, KMZ, GPX, WKTGeodatabase, shapefile e molti altriTutto ciò che GDAL/OGR sa leggere
Ritaglia punti, linee e poligoniSì, anche mescolati in un layerSìSì
Attributi nell'outputAttributi di input, più campi di ritaglio opzionaliAttributi di inputAttributi di input
Sistemi di coordinateWGS84 (il .prj dello Shapefile viene convertito al caricamento)Tutti, con tolleranza XY e impostazioni di ambienteTutti, con riproiezione al volo
AutomazioneNessuna, un'esecuzione alla voltaarcpy e ModelBuilderPyQGIS e il Modellatore grafico
Dataset molto grandiFino a 50 MB per fileSì, con Pairwise ClipSì
Dove restano i tuoi datiNel tuo browserSul tuo computerSul tuo computer

Il mio consiglio: se hai già ArcGIS Pro e i tuoi dati stanno in un geodatabase, usa lì Clip o Pairwise Clip. I risultati si integrano con il resto del progetto, e arcpy ti permette di ripetere il lavoro. Se vuoi un GIS desktop completo senza costi, QGIS ha un ottimo strumento Ritaglia e legge quasi ogni formato.

Questo strumento vince quando conta soprattutto andare veloce dal file al risultato: un collega ti manda un KML o uno Shapefile zippato, ti serve solo la parte dentro il confine di un sito e non vuoi installare o aprire nulla. È comodo anche su un computer dove non puoi installare programmi, ed è un modo chiaro per imparare cosa fa Clip, perché vedi ogni passo sulla mappa.

Pubblicità
Pubblicità

10 casi d'uso reali

Clip si usa in quasi ogni settore che lavora con le mappe. Questi sono i lavori che vedo più spesso.

  1. Strade dentro un confine comunale. Una pianificatrice dei trasporti ha la rete stradale nazionale, ma le servono solo le strade di una città. Ritagliare la rete sul confine comunale dà la lunghezza esatta delle strade in città, pronta per un report o un modello di traffico.
  2. Valutazione di impatto ambientale. I consulenti ritagliano carte degli habitat, aree protette e zone umide sull'impronta di un progetto o sul suo buffer. Il risultato mostra quali habitat tocca il progetto e quanti ettari di ciascuno verrebbero interessati.
  3. Pianificazione di aziende agricole e campi. Un agricoltore o un agronomo ritaglia una carta regionale dei suoli sui confini dei campi. Ogni campo ha così i suoi poligoni di suolo con gli attributi originali, la base per piani di concimazione o semina a rateo variabile.
  4. Reti di servizi per zona. Le aziende di acqua, energia e telecomunicazioni ritagliano tubazioni, cavi o fibra su un distretto di manutenzione o un'area di servizio. Ogni squadra riceve solo la sua parte di rete, e la lunghezza ritagliata aiuta a pianificare e a fare il budget.
  5. Particelle e zonizzazione di un'area di sviluppo. Urbanisti e analisti immobiliari ritagliano i layer catastali e di zonizzazione su un'area di sviluppo prevista. Gli attributi, come proprietario, uso del suolo e codice di zona, restano su ogni particella ritagliata.
  6. Emergenze nelle zone alluvionali. La protezione civile ritaglia edifici, scuole, ospedali e strade su una zona alluvionale o di evacuazione. L'output è l'elenco dei beni a rischio con i loro attributi, che può entrare direttamente in un piano di intervento.
  7. Tracce GPS dentro un parco. Guardiaparco ed escursionisti ritagliano tracce GPX sul confine di un parco nazionale o di una riserva naturale. Così vedono quanti chilometri di un percorso passano davvero nel parco, con la quota mantenuta su ogni punto.
  8. Selvicoltura e tagli boschivi. I forestali ritagliano i poligoni dei popolamenti su una particella di taglio o un'unità amministrativa. I popolamenti ritagliati mantengono specie, età e provvigione, e l'area ritagliata entra direttamente nel calcolo del taglio.
  9. File più leggeri per le mappe web. Gli sviluppatori web partono spesso da un grande GeoJSON o Shapefile nazionale. Ritagliarlo sulla regione mostrata dalla mappa può ridurre molto la dimensione del file, e la mappa web si carica molto più in fretta.
  10. Ricerca e didattica. I ricercatori ritagliano punti di rilievo, stazioni o traiettorie sulla loro area di studio prima delle statistiche. Gli insegnanti usano lo strumento nei corsi di GIS perché gli studenti vedono come funziona Clip senza installare programmi.

Domande frequenti

Venti domande comuni sul ritaglio nei GIS, con risposte dirette.

1. Cosa fa lo strumento Ritaglia (Clip) nei GIS?

Clip taglia un layer di input sulla forma di un layer di ritaglio. Mantiene solo le parti degli elementi di input che cadono dentro i poligoni di ritaglio, e mantiene gli attributi di quegli elementi. Pensa a una formina per biscotti: il poligono di ritaglio è la formina, il layer di input è l'impasto.

2. Come ritaglio un poligono con un altro poligono?

Carica i due layer, scegli il layer di poligoni da tagliare come layer di input e il poligono del confine come layer di ritaglio, poi fai clic su Clip Layer. In ArcGIS Pro usa Analysis > Extract > Clip, e in QGIS usa Vettore > Strumenti di geoprocessing > Ritaglia. In ogni caso i poligoni di input vengono tagliati lungo il bordo del poligono di ritaglio, e resta solo la parte interna.

3. Che differenza c'è tra Clip e Intersect?

Entrambi restituiscono la stessa geometria per l'area comune. La differenza sta negli attributi. Clip mantiene solo gli attributi del layer di input. Intersect unisce gli attributi dei due layer, quindi ogni elemento di output porta campi di entrambi. Usa Clip quando il confine serve solo a tagliare, e Intersect quando devi anche sapere in quale zona è finito ogni pezzo.

4. Che differenza c'è tra Clip ed Erase?

Sono opposti. Clip mantiene ciò che sta dentro i poligoni di ritaglio. Erase (chiamato Differenza in QGIS) mantiene ciò che sta fuori. Se li esegui entrambi sugli stessi dati, i due output insieme ridanno l'input originale.

5. Posso ritagliare linee e punti, o solo poligoni?

Tutti e tre. I punti dentro i poligoni di ritaglio vengono mantenuti, le linee vengono tagliate sul confine così restano solo i tratti interni, e i poligoni vengono tagliati sull'area comune. Un layer di input può anche mescolare punti, linee e poligoni, e ognuno viene trattato con il metodo giusto nella stessa esecuzione.

6. Quali attributi mantiene il layer ritagliato?

Ogni attributo dell'elemento di input viene copiato senza modifiche nella sua versione ritagliata. Gli attributi del layer di ritaglio non vengono aggiunti. Come opzione, lo strumento aggiunge clip_status (inside o clipped) e l'area mantenuta in metri quadrati, la lunghezza in metri o il numero di punti.

7. Il layer di ritaglio può avere più poligoni o poligoni con buchi?

Sì. Tutti i poligoni del layer di ritaglio vengono prima fusi in una maschera, quindi poligoni di ritaglio sovrapposti non creano mai output doppi. I buchi vengono rispettati: tutto ciò che sta dentro un buco, come un lago tolto da un'area di studio, viene rimosso dal risultato.

8. Quali formati di file posso caricare?

GeoJSON (.geojson o .json), uno Shapefile Esri zippato (.zip con .shp, .shx e .dbf, più .prj se i dati sono proiettati), KML, KMZ, GPX e WKT (.wkt o .txt). Puoi caricare più file insieme e mescolare i formati.

9. Quali formati posso scaricare?

GeoJSON, KML e CSV. Il CSV contiene la geometria in WKT nella prima colonna e una colonna per attributo. GeoJSON è la scelta migliore se vuoi aprire il risultato in ArcGIS Pro o QGIS, perché mantiene i tipi degli attributi.

10. I miei dati vengono caricati su un server?

No. La lettura dei file, il ritaglio e la scrittura dell'output avvengono nel tuo browser. I tuoi file non lasciano mai il computer. Solo le tessere opzionali della mappa di base vengono caricate da internet, e solo dopo che attivi la mappa di base.

11. Quale sistema di coordinate usa lo strumento? Posso ritagliare dati proiettati?

Lo strumento lavora in longitudine e latitudine WGS84 (EPSG:4326). Uno Shapefile zippato in un sistema proiettato come UTM o Gauss-Boaga viene convertito in WGS84 al caricamento, purché il file .prj sia nello ZIP. Un GeoJSON dovrebbe già essere in WGS84, come richiede lo standard GeoJSON.

12. Perché alcuni elementi mancano nell'output?

Gli elementi completamente fuori dai poligoni di ritaglio vengono rimossi. È proprio lo scopo di Clip. Il riquadro dei risultati mostra quanti sono stati scartati. Se manca un elemento che ti aspettavi, controlla che i due layer siano nel posto giusto sulla mappa. Uno Shapefile senza il suo file .prj finisce spesso nel posto sbagliato.

13. Cosa succede agli elementi esattamente sul confine?

Un punto esattamente sul confine viene mantenuto, come anche un tratto di linea che corre lungo il confine. Un poligono che tocca il confine solo dall'esterno non ha area in comune con il poligono di ritaglio, quindi viene rimosso. ArcGIS e QGIS seguono le stesse regole.

14. Quanto può essere grande il file?

Fino a 50 MB per file. Decine di migliaia di elementi si ritagliano di solito in circa un secondo su un normale portatile. Per dati molto grandi, come tutti gli edifici di un paese, un GIS desktop come ArcGIS Pro con Pairwise Clip, o QGIS, è lo strumento migliore.

15. Come ritaglio su un rettangolo o un bounding box?

Fai clic su Clip Rectangle nella barra degli strumenti e poi su due angoli opposti della mappa. Il rettangolo viene aggiunto come nuovo layer e scelto subito come layer di ritaglio. Se ti servono coordinate esatte, puoi anche caricare un poligono creato con lo Strumento Bounding Box di questo sito.

16. Perché la mia linea o il mio poligono è diventato una geometria Multi?

Quando il confine di ritaglio taglia un elemento in più pezzi, i pezzi restano insieme in un unico elemento multiparte (MultiLineString o MultiPolygon), per non duplicare gli attributi. ArcGIS Pro fa lo stesso. Spunta "Split multipart results into single parts" se vuoi un elemento per pezzo.

17. Come ritaglio in ArcGIS Pro?

Apri il pannello Geoprocessing, cerca Clip e apri Clip (Analysis Tools). Imposta Input Features e Clip Features, scegli l'output e fai clic su Esegui. Per dati grandi, Pairwise Clip nel toolset Pairwise Overlay fa lo stesso lavoro più in fretta, con elaborazione in parallelo.

18. Come ritaglio in QGIS?

Vai su Vettore > Strumenti di geoprocessing > Ritaglia, scegli il layer di input e il layer di sovrapposizione, poi fai clic su Esegui. Nella console Python, lo stesso lavoro è processing.run("native:clip", ...) con i parametri INPUT, OVERLAY e OUTPUT. Per un rettangolo, usa Extract/Clip by Extent dagli Strumenti di Processing.

19. Come ritaglio con arcpy in uno script Python?

In ArcGIS Pro, chiama arcpy.analysis.Clip("roads", "study_area", "roads_clip"). La vecchia forma di ArcMap arcpy.Clip_analysis(...) usa gli stessi parametri. Con un semplice ciclo for puoi scorrere molti layer o molti confini, ed è lì che arcpy fa risparmiare più tempo.

20. Le aree e le lunghezze nel risultato sono precise?

Sono misurate su una sfera di raggio 6.371.008,8 m, quindi sono veri metri quadrati e metri, non gradi. L'errore rispetto al vero ellissoide di solito è inferiore all'1 per cento. Basta per la pianificazione e i report. Per valori legali o di qualità topografica, misura di nuovo in un sistema di coordinate proiettato locale.

Librerie usate e ringraziamenti

Questo strumento è costruito su software open source. Grazie di cuore alle persone che scrivono e mantengono questi progetti.

  • Leaflet 1.9 · BSD-2-Clause · Volodymyr Agafonkin and contributors
    Disegna la mappa interattiva, i layer, gli strumenti di disegno e i popup.
  • Intersezione di poligoni per ritagliare i poligoni, unione per dissolvere il layer di ritaglio, area geodetica e test di punto nel poligono.
  • polyclip-ts · MIT · Luiz Felipe Machado Barboza, based on polygon-clipping by Mike Fogel
    Il motore booleano per poligoni dietro intersect e union di Turf. Usa l'algoritmo a linea di scansione di Martinez-Rueda con aritmetica a precisione arbitraria.
  • point-in-polygon-hao · MIT · Rowan Winsemius
    Il test veloce di punto nel poligono che decide quali punti e tratti di linea sono dentro l'area di ritaglio.
  • shpjs · MIT · Calvin Metcalf
    Legge gli Shapefile Esri zippati (.shp, .shx, .dbf, .prj, .cpg) nel browser.
  • proj4js · MIT · proj4js contributors
    Converte gli Shapefile proiettati in WGS84 grazie al loro file .prj (usato da shpjs).
  • @tmcw/togeojson · BSD-2-Clause · Tom MacWright
    Converte i file KML e GPX in GeoJSON.
  • JSZip · MIT or GPL-3.0 · Stuart Knightley
    Apre gli archivi KMZ per leggere il file KML che contengono.
  • @terraformer/wkt · MIT · Terraformer contributors
    Legge l'input WKT e scrive la colonna di geometria WKT nell'esportazione CSV.
  • OpenStreetMap, Protomaps (hosted by KONAKTIVE), CARTO, Esri World Imagery · ODbL / provider terms · OpenStreetMap contributors, Protomaps, KONAKTIVE, CARTO, Esri
    Tessere e immagini della mappa di base, mostrate solo quando attivi la mappa di base.

Il passo di ritaglio delle linee (dividere i segmenti agli attraversamenti del confine e testare ogni pezzo) è stato scritto per questo strumento. Il motore di ritaglio è verificato da test automatici che coprono linee che attraversano buchi, linee lungo il confine, punti sul bordo, poligoni sopra buchi, poligoni di ritaglio sovrapposti e l'interpolazione di Z.

Strumenti di geoelaborazione correlati

Tutto il ritaglio avviene nel tuo browser. Nessun file viene mai caricato su un server. Map tiles © OpenStreetMap contributors, Protomaps (hosted by KONAKTIVE), CARTO, Esri.

Muhammad Gulraiz Khan, esperto GIS e fondatore di KONAKTIVE e OnlineMapMaker.com

Informazioni sull’Autore

Muhammad Gulraiz Khan

Esperto e Consulente GIS · Fondatore di KONAKTIVE

Muhammad Gulraiz Khan è un esperto GIS con oltre dieci anni di esperienza professionale nella fornitura di soluzioni geospaziali per il settore energetico, tra cui progetti per la Banca Mondiale, l’International Finance Corporation (IFC) e USAID. Ha creato OnlineMapMaker.com per rendere gli strumenti di mappatura professionali gratuiti e accessibili a tutti.

Pubblicità
Pubblicità