Cosa fa lo strumento di cancellazione
Erase (cancella) è l'opposto di Clip (ritaglia). Gli dai due layer. Il primo è il layer di input: i dati che vuoi tenere, per esempio particelle catastali, strade o edifici. Il secondo è il layer di cancellazione: poligoni che segnano le aree da togliere, per esempio zone di esondazione, aree protette o un lago. Lo strumento ritaglia i poligoni di cancellazione dall'input. Tutto ciò che sta fuori resta. Tutto ciò che sta dentro viene rimosso.
L'output ha lo stesso tipo di geometria dell'input. Una strada che attraversa una zona di esondazione viene tagliata al bordo della zona, e restano solo i tratti asciutti. Una particella per metà dentro la zona tiene solo la sua metà asciutta. Una fermata dell'autobus dentro la zona sparisce. La tabella degli attributi dell'input viene copiata senza modifiche, quindi ogni particella conserva il suo ID, il proprietario e la destinazione d'uso. Il layer di cancellazione fornisce solo la sua forma, e i suoi attributi non vengono aggiunti. ArcGIS Pro (Erase e Pairwise Erase) e QGIS (Differenza) seguono la stessa regola.
Ho creato questo strumento perché "togli tutto ciò che sta dentro queste aree" è una delle domande più comuni nel GIS, e non dovrebbe richiedere un GIS desktop con licenza avanzata. Trascina sulla mappa uno Shapefile compresso, GeoJSON, KML, KMZ, GPX o WKT, oppure disegna le tue forme e i tuoi rettangoli di cancellazione. Scegli il layer di input e quello di cancellazione, clicca su Erase e scarica il risultato. Tutto il calcolo geometrico avviene nel tuo browser, quindi i tuoi file restano sul tuo computer. La mappa parte senza mappa di base per essere veloce. Puoi attivare una mappa stradale o satellitare quando vuoi.
Erase, Clip, Intersect e Differenza: quale ti serve?
Questi quattro strumenti di sovrapposizione si confondono facilmente, perché tutti usano un layer per tagliarne un altro. La differenza sta nella parte che tengono e negli attributi che portano con sé. Questa tabella li confronta per un layer di input A e un layer di sovrapposizione B.
| Strumento | Tiene | Attributi nell'output |
|---|---|---|
| Erase (questo strumento) | Le parti di A fuori da B | Solo quelli di A |
| Clip | Le parti di A dentro B | Solo quelli di A |
| Intersect | Le parti di A dentro B | Quelli di A e B insieme |
| Differenza simmetrica | Le parti di A fuori da B e le parti di B fuori da A | Quelli di A e B |
| Differenza di poligoni (questo sito) | Un poligono meno un altro poligono | Pensato per due poligoni disegnati o caricati, non per un intero layer di dati |
Una prova veloce: se esegui Clip ed Erase sullo stesso input con la stessa sovrapposizione, i due output insieme restituiscono l'input originale. Clip tiene l'interno, Erase tiene l'esterno, e niente si perde o viene contato due volte.
Formati di file supportati
Puoi caricare più file insieme e mescolare i formati. Ogni file diventa un layer a sé nel pannello Layers. Un layer può contenere insieme punti, linee e poligoni, e ognuno viene cancellato con il metodo giusto.
Formati di input (cosa puoi caricare)
| Formato | Estensione | Note |
|---|---|---|
| GeoJSON | .geojson, .json | Una FeatureCollection, un singolo Feature o una geometria semplice. Una GeometryCollection viene divisa nelle sue parti. |
| Esri Shapefile | .zip | Comprimi insieme i file .shp, .shx e .dbf. Aggiungi il .prj e i dati proiettati vengono convertiti in WGS84 al caricamento. Un file .cpg imposta la codifica del testo. |
| KML | .kml | Segnaposti di Google Earth. MultiGeometry viene divisa nelle sue parti, ed ExtendedData diventa attributi. |
| KMZ | .kmz | Un file KML compresso. Viene letto il primo file .kml dell'archivio. |
| GPX | .gpx | File GPS. I waypoint diventano punti, tracce e percorsi diventano linee. I valori di quota restano. |
| WKT | .wkt, .txt | Well-Known Text. Una geometria per tutto il file o una geometria per riga. |
Formati di output (cosa puoi scaricare)
| Formato | Estensione | Note |
|---|---|---|
| GeoJSON | .geojson | Il formato web standard (RFC 7946) in WGS84. Tiene tutti gli attributi. Si apre in ArcGIS Pro, QGIS e quasi ogni libreria di mappe web. |
| KML | .kml | Si apre in Google Earth. Gli attributi sono scritti come ExtendedData su ogni segnaposto. |
| CSV (WKT) | .csv | Una riga per elemento. La prima colonna contiene la geometria in WKT, e ogni attributo ha la 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 Erase in ArcGIS Pro o Differenza in QGIS, quasi tutto ti sembrerà familiare.
- Tipi di geometria in input
- Point, MultiPoint, LineString, MultiLineString, Polygon e MultiPolygon. Un layer può mescolarli tutti.
- Tipi di geometria di cancellazione
- Polygon e MultiPolygon, con o senza buchi. Un layer senza poligoni non può essere scelto come layer di cancellazione.
- Più poligoni di cancellazione
- Tutti i poligoni del layer di cancellazione vengono uniti (dissolti) in una sola maschera prima di cancellare. Dove i poligoni di cancellazione si sovrappongono, l'area viene tolta una volta sola.
- Buchi nel layer di cancellazione
- Un buco in un poligono di cancellazione non fa parte dell'area da cancellare. Gli elementi dentro il buco restano. Per esempio, un'isola dentro un lago cancellato viene tenuta.
- Attributi
- Ogni attributo dell'elemento di input viene copiato senza modifiche. Gli attributi del layer di cancellazione non vengono aggiunti. Come opzione, lo strumento aggiunge
erase_status(outside o erased) eerase_area_m2,erase_length_moerase_pointsper ciò che resta. - Sistema di coordinate
- Longitudine e latitudine WGS84 (EPSG:4326), come GeoJSON. Uno Shapefile compresso con file .prj viene convertito in WGS84 al caricamento.
- Modello geometrico
- Il taglio avviene su un piano, in gradi, con 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 bordo
- Il bordo di un poligono di cancellazione conta come parte dell'area da cancellare. Un punto esattamente sul bordo viene cancellato, e così un tratto di linea che corre lungo il bordo. Così Erase è l'esatto opposto dello strumento di ritaglio di questo sito, che tiene questi elementi.
- 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 suoi due vicini.
- Output multiparte
- Se la cancellazione taglia un elemento in più pezzi, i pezzi restano insieme come un 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 autointerseca), quell'elemento viene saltato e contato, e il resto del layer viene elaborato comunque.
- Privacy
- Tutto gira nel tuo browser. Nessun file e nessuna geometria vengono inviati a un server.
Come usare lo strumento di cancellazione, passo dopo passo
Ecco tutto il flusso con i dati di esempio inclusi: un layer di città con particelle, strade e punti, e tre poligoni di zona di esondazione da cancellare. I tuoi file funzionano allo stesso modo.

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

Trascina i tuoi file sulla mappa o clicca su Upload. Qui ho cliccato su Sample Data. Aggiunge un layer di città con particelle, strade e punti, e un layer di zone di esondazione con un alveo di piena, una vasca di laminazione e uno sfioratore che si sovrappongono.

Nel pannello Erase, scegli il layer di input (i dati che restano) e il layer di cancellazione (le aree da togliere). Nella lista di cancellazione compaiono solo layer con poligoni. Decidi se vuoi i campi extra erase_status, area e lunghezza, e se i risultati multiparte vanno divisi.

Il risultato appare come un nuovo layer a colore pieno, e il layer di input viene nascosto. Le zone di esondazione ora sono vuoti nella città. Il riquadro dei risultati mostra quanti elementi sono rimasti intatti, cancellati in parte o cancellati del tutto, e l'area, la lunghezza e i punti rimasti e tolti.

Spunta "Show basemap" per vedere il risultato su una mappa stradale o satellitare. Clicca su un elemento per aprirne gli attributi. Ci sono tutti i campi originali, più i campi di cancellazione opzionali.

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 veloce in GeoJSON.
Come cancellare elementi in un GIS
Ogni GIS ha questo strumento, ma il nome cambia. ArcGIS lo chiama Erase, QGIS lo chiama Differenza, e PostGIS e GeoPandas chiamano la funzione difference. Ecco come usarlo in questo strumento, in ArcGIS Pro, in ArcMap e in QGIS, e come scriverlo in uno script.
In questo strumento
Carica il layer che vuoi tenere e i poligoni che vuoi togliere. Scegli il primo come layer di input e il secondo come layer di cancellazione, poi clicca su Erase Layer. Se devi togliere solo un'area rettangolare, clicca su Erase Rectangle e poi su due angoli opposti sulla mappa. Il rettangolo diventa subito il layer di cancellazione. Punti, linee e poligoni dello stesso layer di input vengono elaborati in un solo passaggio.
In ArcGIS Pro
Apri il pannello di geoelaborazione e cerca Erase. Troverai due strumenti. Pairwise Erase (toolbox Analysis > Pairwise Overlay) funziona a ogni livello di licenza e usa l'elaborazione parallela, quindi di solito è la scelta più veloce. Erase (Analysis > Overlay) è lo strumento classico. Per molto tempo ha richiesto la licenza Advanced, quindi controlla la pagina dello strumento per la tua versione. Imposta Input Features ed Erase Features, scegli un output e clicca su Run. Entrambi tengono solo gli attributi dell'input.
In ArcMap
In ArcMap lo strumento si trova in ArcToolbox > Analysis Tools > Overlay > Erase, e richiede la licenza Advanced (ArcInfo). I parametri sono gli stessi di ArcGIS Pro. Esri ha ritirato ArcMap a marzo 2026, quindi per i nuovi lavori consiglio ArcGIS Pro, QGIS o questo strumento. I vecchi script che chiamano Erase_analysis passano ad ArcGIS Pro con piccole modifiche, e PairwiseErase è un buon sostituto.
In QGIS
Vai su Vettore > Strumenti di geoprocessing > Differenza. Scegli il layer di input (i dati che restano) e il layer di sovrapposizione (i poligoni da togliere), poi clicca su Esegui. Il risultato è un layer temporaneo, che puoi salvare come GeoPackage o Shapefile. Il nome confonde molti utenti che arrivano da ArcGIS: Differenza in QGIS è la stessa operazione di Erase in ArcGIS.
Con arcpy (Python per ArcGIS)
In ArcGIS Pro le funzioni sono arcpy.analysis.PairwiseErase(in_features, erase_features, out_feature_class) e arcpy.analysis.Erase(...) con gli stessi parametri. I vecchi script di ArcMap usano arcpy.Erase_analysis. Un quarto parametro opzionale imposta la tolleranza XY. Il codice qui sotto mostra queste forme, e lo stesso lavoro in PyQGIS, GeoPandas e PostGIS.
La stessa cancellazione in codice
Se togli le stesse zone ogni settimana, uno script fa risparmiare tempo. Tutti questi esempi tolgono zone di esondazione da un layer di particelle.
import arcpy
arcpy.env.workspace = r"C:\data\city.gdb"
# ArcGIS Pro: Analysis toolbox > Pairwise Overlay > Pairwise Erase
arcpy.analysis.PairwiseErase("parcels", "flood_zones", "parcels_dry")
# ArcGIS Pro: Analysis toolbox > Overlay > Erase
arcpy.analysis.Erase("parcels", "flood_zones", "parcels_dry")
# Older ArcMap syntax (same tool, old name)
arcpy.Erase_analysis("parcels", "flood_zones", "parcels_dry")# QGIS Python console: Vector > Geoprocessing Tools > Difference
processing.run("native:difference", {
"INPUT": "C:/data/parcels.shp",
"OVERLAY": "C:/data/flood_zones.shp",
"OUTPUT": "C:/data/parcels_dry.gpkg",
})# GeoPandas (works for points, lines and polygons)
import geopandas as gpd
parcels = gpd.read_file("parcels.shp")
flood = gpd.read_file("flood_zones.shp").to_crs(parcels.crs)
parcels_dry = parcels.copy()
parcels_dry.geometry = parcels.geometry.difference(flood.union_all())
parcels_dry = parcels_dry[~parcels_dry.is_empty]
-- PostGIS
SELECT p.*, ST_Difference(p.geom, f.geom) AS geom_dry
FROM parcels p
CROSS JOIN (SELECT ST_Union(geom) AS geom FROM flood_zones) f
WHERE NOT ST_IsEmpty(ST_Difference(p.geom, f.geom));Il mio parere: per una cancellazione singola su un file di dimensioni normali, questo strumento è la strada più veloce dal file al risultato. In ArcGIS Pro, prova prima Pairwise Erase. Per i lavori che si ripetono, scrivi lo script una volta e riusalo.
Come funziona lo strumento, passo dopo passo
Questo è il percorso dei tuoi dati dal clic su Erase Layer. Ogni passo avviene nel tuo browser.
- 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 motore vede solo tipi di geometria semplici.
- Dissolvere il layer di cancellazione. Tutti i poligoni del layer di cancellazione vengono uniti in una geometria, la maschera
M, con un'unione di poligoni. I buchi restano buchi. I poligoni di cancellazione sovrapposti diventano una sola forma, quindi un'area coperta da due viene tolta una volta sola. - Test veloce con il 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ò perdere nulla, quindi viene copiato subito nell'output senza calcoli dettagliati. È il contrario di Clip, dove questi elementi vengono scartati. - Cancellare i punti. Ogni punto viene verificato con un test punto nel poligono contro
M. I punti chiaramente fuori daMrestano. I punti dentro o sul bordo vengono tolti. In un MultiPoint restano solo i punti esterni. - Cancellare le linee. Ogni segmento di linea viene confrontato con ogni lato di
Mche gli sta vicino. Lo strumento trova ogni punto in cui il segmento attraversa un lato e lo taglia lì. Poi verifica il punto medio di ogni piccolo pezzo. Se il punto medio è fuori daM, il pezzo resta. I pezzi che si toccano vengono riuniti in una linea. - Cancellare i poligoni. Da ogni poligono viene sottratta
Mcon una differenza booleana a linea di scansione (Martinez-Rueda). Il risultato può avere nuovi buchi, dove un poligono di cancellazione stava tutto dentro una particella, o più parti, dove un poligono di cancellazione l'ha divisa in due. - Copiare gli attributi e aggiungere campi. Ogni elemento di output riceve una copia di tutti gli attributi del suo elemento di input. Se l'hai chiesto, lo strumento aggiunge
erase_statuse l'area, la lunghezza o il numero di punti rimasti. Se hai spuntato l'opzione multiparte, i risultati multiparte vengono divisi qui in parti singole. - Riepilogo e disegno. Lo strumento conta gli elementi intatti, cancellati in parte, cancellati del tutto e saltati, somma l'area, la lunghezza e i punti rimasti e tolti, e disegna il risultato come un nuovo layer. Il layer di input viene nascosto perché tu veda bene il risultato.
Il codice delle linee è condiviso con lo strumento di ritaglio di questo sito, con un interruttore nella posizione opposta: Clip tiene i pezzi il cui punto medio è dentro la maschera, Erase tiene i pezzi il cui punto medio è fuori. Per questo i due strumenti combaciano sempre senza vuoti né sovrapposizioni.
La teoria e la matematica della cancellazione
Erase è la differenza tra insiemi applicata alla geometria. Ecco la matematica, dalla regola degli insiemi agli algoritmi e alle misure.
1. Erase come differenza tra insiemi
Nella teoria degli insiemi, cancellare è una differenza. Ogni elemento di input a viene sostituito dalla sua parte che non sta nella maschera M. Un elemento tutto dentro M diventa vuoto e sparisce. La maschera è l'unione di tutti i poligoni di cancellazione.
Erase(A, M) = { a \ M : a ∈ A e a \ M ≠ ∅ }
a \ M = { p ∈ a : p ∉ M }
M = M₁ ∪ M₂ ∪ … ∪ Mₖ (tutti i poligoni di cancellazione, uniti prima)Unire prima non cambia la risposta, perché togliere più aree una dopo l'altra è lo stesso che togliere la loro unione una volta: a \ (M₁ ∪ M₂) = (a \ M₁) \ M₂. Rende solo il lavoro più veloce ed evita che una sovrapposizione venga elaborata due volte.
2. Erase e Clip dividono un elemento in due parti
Clip ed Erase tagliano ogni elemento in due pezzi che non si sovrappongono e che insieme formano l'elemento intero. Per i poligoni le aree si sommano esattamente. Per le linee si sommano le lunghezze.
a = (a ∩ M) ∪ (a \ M) parte Clip + parte Erase (a ∩ M) ∩ (a \ M) = ∅ nessuna sovrapposizione area(a) = area(a ∩ M) + area(a \ M)
È un controllo utile su qualsiasi risultato. In questo strumento il riquadro dei risultati mostra l'area rimasta e l'area cancellata. Insieme dovrebbero dare l'area dei poligoni di input. Se non è così, probabilmente un poligono di input non era valido ed è stato saltato.
3. Punto nel poligono: la regola del raggio
Per capire se un punto è dentro la maschera, si traccia un raggio dal punto verso destra e si conta quante volte attraversa il bordo della maschera. Un numero dispari vuol dire dentro, un numero pari vuol dire fuori. I buchi non richiedono un caso speciale: i loro lati si contano come tutti gli altri, ed è per questo che un punto in un buco conta come fuori e resta.
Punto P = (x, y). Lato da (xi, yi) a (xj, yj). Il lato è attraversato quando: (yi > y) ≠ (yj > y) e x < xi + (y − yi) · (xj − xi) / (yj − yi) P è dentro ⇔ il numero di lati attraversati è dispari Erase tiene P ⇔ P non è dentro e non è su un lato
4. Un esempio svolto
Prendi una strada da (−5, 5) a (15, 5) e un poligono di cancellazione quadrato da 0 a 10 in entrambe le direzioni, con un buco quadrato (un'isola) da 4 a 6. La strada attraversa quattro lati, a t = 0,25, 0,45, 0,55 e 0,75. Lo strumento verifica il punto medio di ogni pezzo.
Strada: p = (−5, 5) q = (15, 5) lunghezza 20 Pezzo (t) Medio x Test Erase tiene 0.00 – 0.25 −2.5 fuori sì → (−5, 5) – (0, 5) 0.25 – 0.45 2.0 dentro no 0.45 – 0.55 5.0 nel buco sì → (4, 5) – (6, 5) 0.55 – 0.75 8.0 dentro no 0.75 – 1.00 12.5 fuori sì → (10, 5) – (15, 5) Risultato Erase: MultiLineString, 3 pezzi, 5 + 2 + 5 = 12 unità Risultato Clip: MultiLineString, 2 pezzi, 4 + 4 = 8 unità 12 + 8 = 20 (tutta la strada)
È proprio il caso che i test dello strumento verificano, insieme a punti sul bordo, punti nel buco, poligoni di cancellazione sovrapposti e valori Z sui nuovi vertici.
5. Differenza di poligoni con una linea di scansione
Le operazioni booleane sui poligoni hanno una lunga storia nella computer grafica. Sutherland e Hodgman (1974) sapevano ritagliare contro una finestra convessa. Weiler e Atherton (1977) gestirono forme concave e buchi. Vatti (1992) e Greiner e Hormann (1998) resero pratico il caso generale. I dati GIS hanno bisogno proprio 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 si muove da sinistra a destra sui due poligoni e si ferma solo nei vertici e negli incroci. A ogni fermata, ogni lato viene segnato come dentro o fuori dall'altro poligono. Per una differenza, il risultato tiene i lati dell'input che stanno fuori dalla maschera, più i lati della maschera che stanno dentro l'input, con la direzione invertita, così diventano il nuovo bordo o un nuovo buco. Con n lati e k incroci il costo è di circa O((n + k) · log n).
6. Misurare ciò che resta e ciò che è stato tolto
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 dell'anello (λ = longitudine, φ = latitudine, in radianti): A = (R² / 2) · | Σ (λ(i+1) − λ(i−1)) · sin φi | Lunghezza del 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 resta di solito sotto l'1 per cento. Basta per la pianificazione e per controllare un risultato. Per valori legali o di precisione topografica, misura di nuovo in un sistema di coordinate proiettato locale.
Erase in questo strumento, ArcGIS Pro e QGIS a confronto
Con dati normali, tutti e tre danno la stessa geometria. Cambiano costo, installazione e quantità di dati. Ecco un confronto fianco a fianco.
| Caratteristica | Questo strumento | ArcGIS Pro | QGIS |
|---|---|---|---|
| Nome dello strumento | Erase | Erase e Pairwise Erase | Differenza (Difference) |
| Prezzo | Gratis, senza account | Licenza ArcGIS a pagamento (l'Erase classico ha richiesto a lungo Advanced) | Gratis e open source |
| Installazione | Nessuna, gira nel browser | Applicazione desktop per Windows | Applicazione desktop per Windows, macOS e Linux |
| Formati di input | GeoJSON, Shapefile ZIP, KML, KMZ, GPX, WKT | Geodatabase, shapefile e molti altri | Tutto ciò che GDAL/OGR sa leggere |
| Cancella punti, linee e poligoni | Sì, anche mescolati in un layer | Sì | Sì |
| Attributi nell'output | Attributi di input, più campi di cancellazione opzionali | Attributi di input | Attributi di input |
| Automazione | Nessuna, un'esecuzione alla volta | arcpy e ModelBuilder | PyQGIS e il Modellatore grafico |
| Dataset molto grandi | Fino a 50 MB per file | Sì, Pairwise Erase usa più core della CPU | Sì |
| Dove vanno i tuoi dati | Restano nel tuo browser | Restano sul tuo computer | Restano sul tuo computer |
Il mio consiglio: se i tuoi dati stanno in una geodatabase ArcGIS, usa Pairwise Erase in ArcGIS Pro. È veloce, funziona a ogni livello di licenza, e arcpy ti permette di ripetere il lavoro. Se vuoi un GIS desktop completo senza costi, Differenza in QGIS fa lo stesso lavoro e legge quasi ogni formato.
Questo strumento vince quando ti serve un risultato in un minuto: qualcuno ti manda uno Shapefile compresso di particelle e un KML di zone non edificabili, e ti servono le particelle che restano. Non devi installare nulla, e nulla lascia il tuo computer. È anche un modo chiaro per capire come si comporta Erase, perché vedi ogni taglio sulla mappa.
10 casi d'uso reali
Erase risponde alla domanda "cosa resta dopo aver tolto queste aree?". Questi sono i lavori che vedo più spesso.
- Terreno edificabile dopo i vincoli. Un costruttore parte da un layer di particelle e cancella zone di esondazione, zone umide, aree protette e fasce di rispetto. Ciò che resta è il terreno davvero edificabile, con l'ID e il proprietario di ogni particella.
- Screening del rischio alluvione. Una pianificatrice cancella la zona di esondazione da un layer di edifici o strade e ottiene i beni che restano all'asciutto. Clip sugli stessi dati dà i beni a rischio. Insieme, i due output coprono ogni bene una sola volta.
- Copertura del suolo senza acqua. Un analista cancella laghi e fiumi dai poligoni di copertura o di suolo, così le statistiche di area contano solo la terra. Le isole dentro i laghi sono buchi nel layer dell'acqua, quindi restano in automatico.
- Campi senza fasce di non trattamento. Un'agronoma cancella le fasce attorno a fossi, pozzi e case dai confini dei campi. Il risultato è la superficie che si può trattare o concimare, pronta per la macchina o per il piano di distribuzione.
- Ricerca di siti eolici e solari. I pianificatori energetici cancellano le fasce attorno a case, aeroporti, strade e habitat protetti da un'area di studio. I poligoni che restano sono siti candidati, e la loro area indica la potenza possibile.
- Rete fuori da un'area di servizio esistente. Un'azienda dell'acqua o della fibra cancella la sua area di servizio attuale dalla rete stradale. Le strade che restano mostrano dove servirebbero nuovi tubi o cavi per raggiungere i prossimi clienti.
- Habitat fuori dalle aree di progetto. Un ecologo cancella le aree di progetto previste da una mappa degli habitat. Il risultato mostra quanto habitat resterebbe, e ogni area rimasta tiene il suo tipo di habitat e il suo punteggio di stato.
- Pulire le tracce GPS. Una runner o un ricercatore cancella le zone private, come l'area attorno a casa, dalle tracce GPX prima di condividerle. Il resto della traccia resta, con la quota su ogni punto.
- Campionamento fuori dalle aree escluse. I ricercatori sul campo cancellano strade, edifici e acque da un'area di studio prima di mettere punti di campionamento casuali. Così ogni punto cade in un posto che si può davvero rilevare.
- Insegnare l'analisi di sovrapposizione. Gli insegnanti mostrano Clip ed Erase fianco a fianco con gli stessi dati di esempio. Gli studenti vedono che i due risultati combaciano come pezzi di un puzzle, e così capiscono facilmente la differenza tra insiemi.
Domande frequenti
Diciotto domande sulla cancellazione (Erase) nel GIS, con risposte dirette.
1. Cosa fa lo strumento Erase nel GIS?
Erase toglie le parti di un layer di input che cadono dentro i poligoni di un layer di cancellazione. Tiene tutto ciò che sta fuori, e tiene gli attributi degli elementi di input. Puoi pensarlo come una perforatrice: i poligoni di cancellazione sono i fori, e il layer di input è il foglio.
2. Qual è la differenza tra Erase e Clip?
Sono opposti. Clip tiene le parti dell'input dentro i poligoni di sovrapposizione. Erase tiene le parti fuori. Se li esegui entrambi sugli stessi dati, i due output insieme restituiscono l'input originale, senza vuoti e senza sovrapposizioni.
3. Differenza in QGIS è uguale a Erase in ArcGIS?
Sì. QGIS chiama l'operazione Differenza (Vettore > Strumenti di geoprocessing > Differenza), ArcGIS la chiama Erase. Entrambi tolgono l'area di sovrapposizione dall'input e tengono solo gli attributi dell'input. Non confonderla con la Differenza simmetrica, che tiene anche le parti del layer di sovrapposizione fuori dall'input.
4. Qual è la differenza tra Erase e Pairwise Erase in ArcGIS Pro?
Con dati normali danno lo stesso risultato. Pairwise Erase usa l'elaborazione parallela su più core della CPU, quindi di solito è più veloce su dati grandi, e funziona a ogni livello di licenza. L'Erase classico ha richiesto a lungo la licenza Advanced. Controlla la pagina dello strumento per la tua versione.
5. Posso cancellare linee e punti, o solo poligoni?
Tutti e tre. I punti dentro i poligoni di cancellazione vengono tolti. Le linee vengono tagliate al bordo, e restano solo i pezzi esterni. I poligoni perdono l'area che condividono con i poligoni di cancellazione. Un layer di input può mescolare punti, linee e poligoni.
6. Quali attributi tiene il layer elaborato?
Ogni attributo dell'elemento di input viene copiato senza modifiche. Gli attributi del layer di cancellazione non vengono aggiunti. Come opzione, lo strumento aggiunge erase_status (outside o erased) e l'area in metri quadrati, la lunghezza in metri o il numero di punti rimasti.
7. Cosa succede a un elemento tutto dentro l'area di cancellazione?
Viene tolto dall'output. Il riquadro dei risultati conta questi elementi come "Fully erased". Un elemento che non tocca l'area di cancellazione viene copiato senza modifiche e contato come "Untouched".
8. Perché un poligono ha un buco dopo la cancellazione?
Quando un poligono di cancellazione sta tutto dentro un poligono di input, l'unico modo per toglierlo è aprire un buco. Per esempio, cancellando uno stagno da un parco, il parco resta con un buco dove c'era lo stagno. È corretto, e i software GIS leggono questi buchi senza problemi.
9. Perché il mio elemento è diventato una geometria Multi?
Quando un poligono di cancellazione taglia un elemento in più pezzi, per esempio una strada che attraversa un fiume, i pezzi restano insieme come un elemento multiparte, così gli attributi non vengono duplicati. ArcGIS Pro fa lo stesso. Spunta "Split multipart results into single parts" se vuoi un elemento per pezzo.
10. Cosa succede agli elementi esattamente sul bordo dell'area di cancellazione?
Il bordo conta come parte dell'area di cancellazione. Un punto esattamente sul bordo viene tolto, e così un tratto di linea che corre lungo il bordo. Un poligono che tocca il bordo solo da fuori non perde area, quindi resta uguale.
11. Il layer di cancellazione può avere più poligoni sovrapposti o con buchi?
Sì. Tutti i poligoni di cancellazione vengono prima uniti in una maschera, quindi un'area coperta da due poligoni viene tolta una volta sola. I buchi vengono rispettati: tutto ciò che sta dentro un buco di un poligono di cancellazione, come un'isola in un lago, resta nell'output.
12. Quali formati di file posso caricare e scaricare?
Puoi caricare GeoJSON, uno Shapefile Esri compresso (con .shp, .shx e .dbf, più .prj per i dati proiettati), KML, KMZ, GPX e WKT. Puoi scaricare GeoJSON, KML e CSV con una colonna di geometria WKT. GeoJSON è la scelta migliore per ArcGIS Pro o QGIS, perché tiene i tipi degli attributi.
13. I miei dati vengono caricati su un server?
No. Lettura dei file, cancellazione e scrittura dell'output avvengono nel tuo browser. I tuoi file non lasciano mai il tuo computer. Solo le tile della mappa di base opzionale arrivano da internet, e solo dopo che attivi la mappa di base.
14. Posso cancellare dati proiettati, come UTM?
Lo strumento lavora in longitudine e latitudine WGS84 (EPSG:4326). Uno Shapefile compresso in UTM o in una griglia nazionale viene convertito in WGS84 al caricamento, purché il suo file .prj sia nello ZIP. Il GeoJSON dovrebbe già essere in WGS84, come richiede lo standard GeoJSON.
15. Non è stato cancellato nulla. Cosa è andato storto?
La causa più comune è che i due layer non si sovrappongono. Attiva la mappa di base e fai zoom su ogni layer per vedere dove si trova. Uno Shapefile senza il suo file .prj finisce spesso nel posto sbagliato. Controlla anche di aver scelto il layer di poligoni come layer di cancellazione e non come input.
16. Come si cancella in QGIS?
Vai su Vettore > Strumenti di geoprocessing > Differenza, scegli il layer di input e il layer di sovrapposizione, e clicca su Esegui. Nella console Python lo stesso lavoro è processing.run("native:difference", ...) con i parametri INPUT, OVERLAY e OUTPUT.
17. Come si cancella con arcpy in uno script Python?
In ArcGIS Pro, chiama arcpy.analysis.PairwiseErase("parcels", "flood_zones", "parcels_dry"), oppure arcpy.analysis.Erase(...) con gli stessi parametri. La vecchia forma di ArcMap è arcpy.Erase_analysis(...). Un ciclo for su più layer o zone è il punto in cui arcpy fa risparmiare più tempo.
18. I valori di area e lunghezza sono precisi?
Sono misurati su una sfera di raggio 6.371.008,8 m, quindi sono metri quadrati e metri reali, non gradi. L'errore rispetto all'ellissoide reale resta di solito sotto l'1 per cento. Per valori legali o di precisione 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 curano questi progetti.
- Leaflet 1.9 · BSD-2-Clause · Volodymyr Agafonkin and contributorsDisegna la mappa interattiva, i layer, gli strumenti di disegno e i popup.
- Turf.js 7 (@turf/difference, @turf/union, @turf/area, @turf/boolean-point-in-polygon) · MIT · Turf authorsDifferenza di poligoni per cancellare i poligoni, unione per dissolvere il layer di cancellazione, area geodetica e il test punto nel poligono.
- polyclip-ts · MIT · Luiz Felipe Machado Barboza, based on polygon-clipping by Mike FogelIl motore booleano dei poligoni dietro difference e union di Turf. Usa l'algoritmo a linea di scansione di Martinez-Rueda con calcolo a precisione arbitraria.
- point-in-polygon-hao · MIT · Rowan WinsemiusIl test veloce punto nel poligono che decide quali punti e pezzi di linea cadono dentro l'area di cancellazione.
- shpjs · MIT · Calvin MetcalfLegge Shapefile Esri compressi (.shp, .shx, .dbf, .prj, .cpg) nel browser.
- proj4js · MIT · proj4js contributorsConverte gli Shapefile proiettati in WGS84 con il loro file .prj (usato da shpjs).
- @tmcw/togeojson · BSD-2-Clause · Tom MacWrightConverte file KML e GPX in GeoJSON.
- JSZip · MIT o GPL-3.0 · Stuart KnightleyApre gli archivi KMZ per leggere il file KML al loro interno.
- @terraformer/wkt · MIT · Terraformer contributorsLegge l'input WKT e scrive la colonna di geometria WKT nell'esportazione CSV.
- OpenStreetMap, Protomaps (hosted by KONAKTIVE), CARTO, Esri World Imagery · ODbL e condizioni del fornitore · OpenStreetMap contributors, Protomaps, KONAKTIVE, CARTO, EsriTile della mappa di base e immagini, mostrate solo quando attivi la mappa di base.
Il passo di taglio delle linee (dividere i segmenti negli incroci con il bordo e verificare ogni pezzo) è stato scritto per questo sito ed è condiviso con lo strumento di ritaglio. Il motore di cancellazione è verificato da test automatici: linee che attraversano buchi, punti sul bordo e nei buchi, poligoni che diventano una cornice attorno a un'isola, poligoni di cancellazione sovrapposti, interpolazione Z e la regola per cui Clip più Erase restituisce l'intero input.
Strumenti di geoelaborazione correlati
Tutta la cancellazione avviene nel tuo browser. Nessun file viene mai caricato su un server. Tessere della mappa © contributori di OpenStreetMap, disegnate con Protomaps (ospitato da KONAKTIVE), con CARTO come riserva. Immagini satellitari: Esri.
