OnlineMapMaker logo

Strumento di Intersezione tra Poligoni: GeoJSON e Shapefile

Disegna o carica due layer di poligoni ed estrai solo l’area in cui si sovrappongono. Apri a schermo intero ↗

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

Cos’è l’Intersezione tra Poligoni nel GIS?

L’intersezione tra poligoni è un’operazione centrale di overlay vettoriale nei flussi di lavoro di intersezione della geoelaborazione GIS: partendo da due layer di poligoni, restituisce una nuova geometria contenente solo l’area comune a entrambi gli input. Ovunque tu debba trovare poligoni sovrapposti online, che siano due distretti di zonizzazione, un’area alluvionale rispetto a un layer di particelle, o due aree di servizio, è questa l’operazione che risponde alla domanda. Questo strumento esegue l’intero calcolo localmente nel tuo browser: disegna due forme direttamente sulla mappa, oppure carica un file GeoJSON o uno Shapefile compresso, e funziona come uno strumento autonomo di sovrapposizione GeoJSON KML senza inviare i tuoi dati da nessuna parte.

Come Funziona l’Algoritmo di Intersezione

Dietro le quinte, un’intersezione tra poligoni è un’operazione booleana su due anelli chiusi: l’output conserva ogni punto che si trova sia dentro il Poligono A SIA dentro il Poligono B, e scarta tutto il resto. Per due forme convesse sembra semplice, ma i confini amministrativi reali, i contorni dei bacini idrografici e le particelle catastali sono quasi sempre concavi e spesso contengono buchi, quindi un vero strumento di controllo topologico della sovrapposizione GIS ha bisogno di un algoritmo che gestisca correttamente forme poligonali arbitrarie, non solo poligoni convessi semplici.

I primi algoritmi di clipping non riuscivano a farlo in modo affidabile. Sutherland–Hodgman (1974) produce risultati corretti solo se il poligono di ritaglio è convesso, il che esclude la maggior parte dei dati cartografici reali. Weiler–Atherton (1977) ha migliorato la situazione percorrendo i contorni di entrambi i poligoni e alternandosi tra loro a ogni punto di intersezione, gestendo correttamente forme concave e più pezzi in output, ma con difficoltà su alcuni casi degeneri come bordi condivisi o anelli che si toccano da soli. L’algoritmo di Vatti (1992) ha generalizzato ulteriormente il clipping usando una tabella dei bordi attivi lungo scanline orizzontali, diventando la base di librerie di clipping molto diffuse come Clipper di Angus Johnson.

L’Approccio a Linea di Scansione (Sweep-Line) Usato da Questo Strumento

  1. Costruire una coda di eventi: Ogni vertice e ogni estremo di bordo di entrambi i poligoni viene raccolto in una coda e ordinato da sinistra a destra in base alla coordinata X.
  2. Far scorrere una linea verticale: Una linea immaginaria attraversa la coda da sinistra a destra, mentre una struttura di stato tiene traccia di quali bordi del Poligono A e del Poligono B sono attivi in quella posizione X.
  3. Rilevare gli incroci tra bordi: Ogni volta che un bordo di A incrocia un bordo di B, la scansione calcola il punto di intersezione esatto e divide entrambi i bordi in quel punto — questo è il nucleo matematico dell’analisi di sovrapposizione spaziale.
  4. Classificare ogni segmento: Usando regole di avvolgimento (winding rules), ogni segmento di bordo risultante viene etichettato come interno o esterno all’altro poligono, così da conservare solo i segmenti interni sia ad A sia a B.
  5. Ricostruire gli anelli in output: I segmenti conservati vengono ricomposti in anelli chiusi, gestendo correttamente in un solo passaggio più aree di sovrapposizione separate e buchi.

Il motore di questo strumento implementa un algoritmo booleano a linea di scansione in stile Martinez–Rueda, che gira in circa O((n + k) log n) per n vertici in input e k incroci, ed è robusto rispetto ai casi degeneri (bordi condivisi, vertici che si toccano, anelli auto-intersecanti) che mandano in crisi i clipper più semplici. Prima di eseguire la scansione completa su ogni coppia, lo strumento effettua anche un economico controllo preliminare tramite bounding box, così un’intersezione di geoelaborazione GIS su decine di feature non perde tempo a testare coppie che chiaramente non possono sovrapporsi.

Casi d’Uso Reali

📡
Pianificazione della copertura di telecomunicazioni
Confronta i poligoni di copertura di due operatori per trovare aree di copertura condivisa ai fini di accordi di roaming, o le lacune raggiunte da un solo operatore.
🏘️
Immobiliare e sottoscrizione assicurativa
Sovrapponi mappe delle aree alluvionali in stile FEMA a una particella catastale per determinare quale frazione del lotto si trova in una zona a rischio alluvionale prima di emettere una polizza.
🌾
Agricoltura e gestione dell’irrigazione
Sovrapponi zone di tipo di suolo ai confini di un campo per vedere quali tipi di suolo sono effettivamente presenti all’interno di un determinato campo prima di pianificare irrigazione o concimazione.
🚨
Risposta alle emergenze e pianificazione delle evacuazioni
Interseca una zona di evacuazione per alluvione o uragano con layer di popolazione o infrastrutture per stimare esattamente quanti beni ricadono nell’area a rischio.
🌿
Analisi ambientale e di conservazione
Interseca un buffer di habitat protetto con un’area proposta per un cambio di destinazione d’uso del suolo, per quantificare quanta parte del buffer sarebbe effettivamente interessata.
🏙️
Pianificazione urbanistica e verifica di zonizzazione
Sovrapponi una particella di sviluppo proposta ai confini dei distretti di zonizzazione per vedere esattamente quanta parte della particella ricade in una zona vincolata prima di presentare una richiesta di permesso.

Le Librerie GIS Dietro l’Overlay tra Poligoni

Ogni strumento GIS di overlay serio si basa su uno dei pochi motori di geometria computazionale esistenti, ed è utile sapere quale sta facendo il lavoro quando estrai l’area comune tra poligoni in un flusso di lavoro professionale.

  • Turf.js / polygon-clipping: Il motore proprio di questo strumento. La funzione @turf/intersect di Turf si appoggia al pacchetto npm polygon-clipping, un’implementazione in puro JavaScript dell’algoritmo a linea di scansione di Martinez–Rueda. Essendo puro JavaScript, gira interamente nella scheda del tuo browser, senza andata e ritorno verso un server.
  • GEOS (Geometry Engine, Open Source): Una libreria C/C++ che calcola ST_Intersection in PostGIS e alimenta l’algoritmo nativo di Intersezione nella Cassetta degli Strumenti di elaborazione di QGIS. Se hai mai eseguito un’intersezione tra layer vettoriali lato QGIS, è stata GEOS a fare i calcoli geometrici sotto il cofano.
  • JTS (Java Topology Suite): L’implementazione Java originale da cui GEOS è stata portata. JTS è alla base di GeoTools e del processo di Intersezione in GeoServer WPS, ed è l’implementazione di riferimento rispetto alla quale molte altre librerie vengono validate.
  • Shapely: La libreria di geometria di Python, che a sua volta si appoggia a GEOS. I data scientist che eseguono analisi di sovrapposizione spaziale in geopandas stanno, un livello più sotto, chiamando le stesse routine GEOS usate da QGIS e PostGIS.
  • shpjs: Gestisce il lato file piuttosto che la matematica geometrica: decodifica uno Shapefile compresso caricato (.shp/.dbf/.shx) in GeoJSON interamente lato client, il che permette a questo strumento di accettare come input un’esportazione di intersezione shapefile senza alcun caricamento su server.

Tutti e cinque questi strumenti concordano sulla matematica sottostante, poiché risolvono tutti lo stesso problema di overlay booleano. La differenza pratica sta in dove avviene il calcolo: GEOS/JTS/Shapely girano su un server o su un’installazione GIS desktop, mentre il motore di questo strumento, basato su Turf.js, funziona come un cercatore di sovrapposizioni tra poligoni sulla mappa direttamente sul tuo dispositivo, motivo per cui qui non è mai richiesto il caricamento di un file su un server remoto.

Personalizzare lo Stile dei Layer

Ogni layer, incluso il risultato dell’intersezione, può essere restilizzato in modo indipendente:

  • Selettore colore: Clicca sul campione di colore accanto a qualsiasi layer nella barra laterale per cambiarne istantaneamente il colore di riempimento e del contorno.
  • Attiva/disattiva visibilità: Deseleziona un layer per nasconderlo sulla mappa senza eliminarlo, utile per confrontare separatamente Layer A e Layer B con il risultato dell’intersezione.
  • Zoom sul layer: Clicca sull’icona a bersaglio accanto a un layer per adattare la vista della mappa ai suoi confini.

Nessuna di queste impostazioni di stile viene salvata al di fuori della tua sessione — controllano solo l’aspetto della mappa mentre lavori.

Advertisement

Come Aggiungere i Tuoi Layer di Poligoni

Ci sono due modi per portare i poligoni nello strumento prima di eseguire un’intersezione:

  • Disegnare sulla mappa: Clicca su "Draw Polygon", clicca sulla mappa per posizionare i vertici, poi fai doppio clic, premi Invio, o clicca su Finish per chiudere la forma. Ripeti per aggiungere un secondo poligono.
  • Caricare un file: Trascina e rilascia un file .geojson o uno Shapefile compresso (.zip con .shp/.dbf/.shx all’interno) in un punto qualsiasi della mappa, oppure usa il pulsante Upload. Vengono lette solo le feature di tipo Polygon e MultiPolygon; punti e linee vengono ignorati.

Una volta ottenuti almeno due layer di poligoni, scegline uno come Layer A e l’altro come Layer B nella barra laterale, poi clicca su "Find Intersection" per calcolare l’area condivisa.

Domande Frequenti

Quale algoritmo calcola la sovrapposizione, ed è accurato?
Lo strumento usa un algoritmo booleano a linea di scansione in stile Martinez–Rueda (tramite il motore polygon-clipping di Turf.js), la stessa famiglia di algoritmi usata dal software GIS di produzione. Gestisce correttamente poligoni concavi, più aree di sovrapposizione separate e poligoni con buchi.
Come trovo poligoni sovrapposti online gratuitamente?
Disegna due poligoni sulla mappa oppure carica un file GeoJSON o uno Shapefile compresso per ciascun layer, selezionali come Layer A e Layer B in questo strumento, e clicca su Find Intersection. L’intero calcolo viene eseguito nel tuo browser gratuitamente e senza registrazione.
Cos’è l’intersezione tra poligoni nel GIS?
L’intersezione tra poligoni è un’operazione di overlay vettoriale che prende due layer di poligoni e restituisce una nuova geometria contenente solo l’area comune a entrambi — la regione in cui si sovrappongono fisicamente sulla mappa, e nient’altro.
Posso estrarre solo l’area comune tra poligoni e ignorare il resto?
Sì — è esattamente questo il risultato dell’intersezione. Solo l’area condivisa viene conservata come nuovo layer; le parti non sovrapposte di Layer A e Layer B restano intatte nei rispettivi layer e non vengono unite al risultato.
Posso usarlo come strumento di sovrapposizione GeoJSON KML?
Sì, direttamente per il GeoJSON. I file KML devono prima essere convertiti in GeoJSON (il Visualizzatore KML/KMZ di questo sito può esportare dati KML come GeoJSON), dopodiché puoi caricare il risultato qui per verificare la sovrapposizione.
I miei dati vengono caricati da qualche parte? È un cercatore sicuro di sovrapposizioni tra poligoni su mappa?
Nessun file che disegni o carichi lascia mai il tuo dispositivo. Ogni calcolo, dalla lettura di uno Shapefile all’esecuzione dell’algoritmo di intersezione, avviene localmente nel tuo browser tramite JavaScript — niente viene inviato a un server.
Come si confronta questo strumento con l’esecuzione di un’intersezione tra layer vettoriali in QGIS?
L’algoritmo nativo di Intersezione di QGIS usa la libreria GEOS sul tuo desktop; questo strumento usa un motore a linea di scansione in JavaScript nel tuo browser. Entrambi implementano la stessa matematica di overlay booleano e dovrebbero produrre risultati coincidenti, ma questo strumento non richiede installazione e mantiene i tuoi dati locali nella scheda del browser.
È uno strumento completo di analisi della sovrapposizione spaziale, o solo un cercatore visivo di sovrapposizioni?
È uno strumento di analisi completo. Oltre a disegnare la sovrapposizione, calcola l’area esatta di sovrapposizione in ettari, chilometri quadrati e acri, e ti permette di esportare la geometria del risultato per ulteriori analisi in QGIS, ArcGIS o qualsiasi altro software GIS.
Questo strumento esegue un vero controllo topologico della sovrapposizione o solo un overlay visivo?
Esegue un vero controllo topologico della sovrapposizione: l’output è una geometria reale con coordinate e area precise, non solo due forme disegnate una sopra l’altra. Puoi esportarla e misurarla come qualsiasi altro layer di poligoni.
Posso fare un’esportazione di intersezione shapefile direttamente da uno shapefile compresso?
Sì. Carica uno Shapefile compresso (.zip contenente .shp, .dbf e .shx) per Layer A e/o Layer B, esegui l’intersezione, poi esporta il risultato come GeoJSON, leggibile praticamente da qualsiasi applicazione GIS desktop.

Gestire Più Layer

Il gestore layer nella barra laterale tiene in un unico elenco ogni layer di poligoni che aggiungi, oltre a ogni risultato di intersezione che generi. Puoi eseguire un’intersezione più volte con coppie di layer diverse, mantenere tutti i risultati sulla mappa contemporaneamente, ed eliminare qualsiasi layer non più necessario senza influenzare gli altri — utile quando devi verificare la sovrapposizione tra un layer di base e diversi layer candidati, uno alla volta.

Esportare i Risultati

Ogni layer può essere esportato singolarmente, oppure puoi esportare tutto in una volta:

  • Esportazione di un singolo layer: L’icona di download accanto a qualsiasi layer esporta solo le feature di quel layer come file .geojson autonomo.
  • Esporta tutto: Il pulsante "Download All Layers" combina Layer A, Layer B e ogni risultato di intersezione in un’unica FeatureCollection GeoJSON, contrassegnando ogni feature con il layer di provenienza.
  • Formato GeoJSON: I file in output sono GeoJSON standard secondo la RFC 7946, apribili direttamente in QGIS, ArcGIS, Google Earth, Mapbox e praticamente qualsiasi altro strumento GIS.

Poiché l’output è GeoJSON semplice, si reimporta senza problemi anche in seguito in questo stesso strumento, o in qualsiasi flusso di esportazione di intersezione shapefile che esegui successivamente in un software GIS desktop.

Advertisement

Passo dopo Passo: Trovare una Sovrapposizione tra Poligoni

Mappa vuota dello strumento di intersezione tra poligoni con i pulsanti per disegnare, caricare e i poligoni di esempio prima di aggiungere qualsiasi layer
1
Passo 1: Apri lo strumento e aggiungi il primo layer
Lo strumento vuoto: disegna un poligono, carica un file, oppure clicca su Sample Polygons per provarlo subito.
Due layer di poligoni sovrapposti caricati da Shapefile compressi, mostrati sulla mappa con l’elenco dei layer nella barra laterale
2
Passo 2: Aggiungi un secondo layer sovrapposto
Due layer caricati — la barra laterale mostra entrambi, e Layer A / Layer B sono già preselezionati per te.
Primo piano della barra laterale con i selettori a tendina Layer A e Layer B e il pulsante Find Intersection
3
Passo 3: Scegli Layer A e Layer B
Conferma Layer A e Layer B, poi clicca su Find Intersection per eseguire l’overlay.
L’intersezione tra poligoni calcolata, mostrata come forma di sovrapposizione color verde acqua sulla mappa con un riquadro dell’area totale nella barra laterale
4
Passo 4: Rivedi il risultato della sovrapposizione
Il risultato: l’area esatta di sovrapposizione, più la sua dimensione in ettari, km² e acri.
Pannello di gestione dei layer che elenca Layer A, Layer B e il layer di Intersezione con i controlli di esportazione e download
5
Passo 5: Esporta il layer di intersezione
Esporta solo l’intersezione, oppure tutti e tre i layer insieme, come GeoJSON.
Advertisement

Strumenti di Geoelaborazione Correlati

Map tiles © OpenStreetMap contributors and CARTO, Esri (satellite). Intersection math powered by Turf.js. Shapefile parsing by shpjs. Map rendering by Leaflet. All drawing, file reading and intersection calculation is local — no data is uploaded to any server.

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.

Advertisement