Was ist eine Polygon-Intersection in der GIS?
Die Polygon-Intersection ist eine zentrale Vektor-Overlay-Operation bei GIS-Geoverarbeitungs-Intersection-Workflows: Aus zwei Polygon-Layern wird eine neue Geometrie erzeugt, die nur die Fläche enthält, die beide Eingaben gemeinsam haben. Überall dort, wo Sie überlappende Polygone online finden müssen, etwa bei zwei Zonierungsbezirken, einer Hochwasserzone gegenüber einem Flurstücks-Layer oder zwei Einzugsgebieten, liefert genau diese Operation die Antwort. Dieses Tool führt die gesamte Berechnung lokal in Ihrem Browser aus: Zeichnen Sie zwei Formen direkt auf der Karte oder laden Sie eine GeoJSON-Datei oder ein gezipptes Shapefile hoch — es funktioniert als eigenständiges GeoJSON-KML-Overlay-Tool, ohne dass Ihre Daten irgendwohin gesendet werden.
Praxisbeispiele
Wie der Intersection-Algorithmus funktioniert
Im Kern ist eine Polygon-Intersection eine boolesche Mengenoperation auf zwei geschlossenen Ringen: Die Ausgabe behält jeden Punkt, der sowohl in Polygon A ALS AUCH in Polygon B liegt, und verwirft alles andere. Bei zwei konvexen Formen klingt das einfach, aber reale Verwaltungsgrenzen, Einzugsgebiete und Flurstücke sind fast immer konkav und enthalten oft Löcher. Ein korrektes topologisches Überlappungs-Check-GIS-Tool braucht daher einen Algorithmus, der beliebige Polygonformen korrekt verarbeitet, nicht nur einfache konvexe.
Frühe Clipping-Algorithmen konnten das nicht zuverlässig leisten. Sutherland–Hodgman (1974) liefert nur dann korrekte Ergebnisse, wenn das Clipping-Polygon konvex ist, was die meisten realen Kartendaten ausschließt. Weiler–Atherton (1977) verbesserte dies, indem es die Ränder beider Polygone abläuft und an jedem Schnittpunkt zwischen ihnen wechselt — das behandelt konkave Formen und mehrere Ausgabestücke korrekt, hat aber Schwierigkeiten mit bestimmten Sonderfällen wie gemeinsamen Kanten oder sich selbst berührenden Ringen. Vattis Algorithmus (1992) verallgemeinerte das Clipping weiter mithilfe einer Active-Edge-Table über horizontale Scanlinien und wurde zur Grundlage weit verbreiteter Clipping-Bibliotheken wie Angus Johnsons Clipper.
Der Sweep-Line-Ansatz dieses Tools
- Ereigniswarteschlange aufbauen: Jeder Eckpunkt und jeder Kantenendpunkt beider Polygone wird in einer Warteschlange gesammelt und nach der X-Koordinate von links nach rechts sortiert.
- Eine vertikale Linie durchlaufen lassen: Eine gedachte Linie wandert von links nach rechts durch die Warteschlange, während eine Statusstruktur verfolgt, welche Kanten von Polygon A und Polygon B an dieser X-Position gerade aktiv sind.
- Kantenkreuzungen erkennen: Immer wenn eine Kante von A eine Kante von B kreuzt, berechnet der Sweep den exakten Schnittpunkt und teilt beide Kanten dort — das ist der mathematische Kern der räumlichen Überlappungsanalyse.
- Jedes Segment klassifizieren: Mithilfe von Winding-Regeln wird jedes entstandene Kantensegment als innerhalb oder außerhalb des anderen Polygons markiert, sodass nur Segmente innerhalb von A UND B erhalten bleiben.
- Ausgabe-Ringe rekonstruieren: Die behaltenen Segmente werden wieder zu geschlossenen Ringen zusammengefügt, wobei mehrere getrennte Überlappungsflächen und Löcher in einem einzigen Durchgang korrekt behandelt werden.
Die Engine dieses Tools implementiert einen booleschen Sweep-Line-Algorithmus nach Martinez–Rueda, der für n Eingabe-Eckpunkte und k Kreuzungen in etwa O((n + k) log n) läuft und robust gegenüber den Sonderfällen ist (gemeinsame Kanten, sich berührende Eckpunkte, sich selbst schneidende Ringe), an denen einfachere Clipper scheitern. Bevor der vollständige Sweep für jedes Paar ausgeführt wird, führt das Tool zusätzlich eine günstige Bounding-Box-Vorprüfung durch, damit eine GIS-Geoverarbeitungs-Intersection über Dutzende Features keine Zeit mit Paaren verschwendet, die sich offensichtlich nicht überlappen können.
Häufig gestellte Fragen
Die GIS-Bibliotheken hinter dem Polygon-Overlay
Jedes ernstzunehmende GIS-Overlay-Tool basiert auf einer von wenigen Bibliotheken der Computergeometrie, und es lohnt sich zu wissen, welche davon die Arbeit übernimmt, wenn Sie in einem professionellen Workflow die gemeinsame Fläche zweier Polygone extrahieren.
- Turf.js / polygon-clipping: Die Engine dieses Tools. Die Funktion @turf/intersect von Turf verwendet das npm-Paket polygon-clipping, eine reine JavaScript-Implementierung des Martinez–Rueda-Sweep-Line-Algorithmus. Da es sich um reines JavaScript handelt, läuft es vollständig in Ihrem Browser-Tab, ohne Server-Roundtrip.
- GEOS (Geometry Engine, Open Source): Eine C/C++-Bibliothek, die ST_Intersection in PostGIS berechnet und den nativen Intersection-Algorithmus in der Processing-Toolbox von QGIS antreibt. Wenn Sie schon einmal eine Vektor-Layer-Intersection in QGIS ausgeführt haben, hat GEOS die Geometriemathematik im Hintergrund erledigt.
- JTS (Java Topology Suite): Die ursprüngliche Java-Implementierung, aus der GEOS portiert wurde. JTS ist die Grundlage von GeoTools und des Intersection-Prozesses in GeoServer WPS und dient vielen anderen Bibliotheken als Referenzimplementierung.
- Shapely: Pythons Geometriebibliothek, die selbst an GEOS bindet. Data Scientists, die räumliche Überlappungsanalysen in geopandas durchführen, rufen eine Ebene tiefer dieselben GEOS-Routinen auf, die auch QGIS und PostGIS verwenden.
- shpjs: Übernimmt die Dateiseite statt der Geometriemathematik: Es dekodiert ein hochgeladenes, gezipptes Shapefile (.shp/.dbf/.shx) vollständig clientseitig in GeoJSON — dadurch kann dieses Tool einen Shapefile-Intersection-Export als Eingabe akzeptieren, ohne dass ein Server-Upload nötig ist.
Alle fünf Werkzeuge stimmen in der zugrunde liegenden Mathematik überein, da sie alle dasselbe boolesche Overlay-Problem lösen. Der praktische Unterschied liegt darin, wo die Berechnung stattfindet: GEOS/JTS/Shapely laufen auf einem Server oder einer Desktop-GIS-Installation, während die Turf.js-basierte Engine dieses Tools direkt auf Ihrem Gerät als Karten-Polygon-Overlay-Finder läuft — deshalb ist hier niemals ein Datei-Upload auf einen entfernten Server nötig.
Ihre Layer gestalten
Jeder Layer, einschließlich des Intersection-Ergebnisses, kann unabhängig neu gestaltet werden:
- Farbauswahl: Klicken Sie auf das Farbfeld neben einem Layer in der Seitenleiste, um Füll- und Umrissfarbe sofort zu ändern.
- Sichtbarkeit umschalten: Deaktivieren Sie einen Layer, um ihn auf der Karte auszublenden, ohne ihn zu löschen — nützlich, um Layer A und Layer B einzeln mit dem Intersection-Ergebnis zu vergleichen.
- Auf Layer zoomen: Klicken Sie auf das Zielsymbol neben einem Layer, um die Kartenansicht auf dessen Ausdehnung einzupassen.
Keine dieser Gestaltungseinstellungen wird außerhalb Ihrer Sitzung gespeichert — sie bestimmen nur, wie die Karte während Ihrer Arbeit aussieht.
Ergebnisse exportieren
Jeder Layer kann einzeln exportiert werden, oder Sie exportieren alles auf einmal:
- Export eines einzelnen Layers: Das Download-Symbol neben einem Layer exportiert nur dessen Features als eigenständige .geojson-Datei.
- Alles exportieren: Die Schaltfläche „Download All Layers“ fasst Layer A, Layer B und jedes Intersection-Ergebnis in einer einzigen GeoJSON-FeatureCollection zusammen und kennzeichnet jedes Feature mit seinem Ursprungs-Layer.
- GeoJSON-Format: Die Ausgabedateien sind Standard-GeoJSON nach RFC 7946 und lassen sich direkt in QGIS, ArcGIS, Google Earth, Mapbox und praktisch jedem anderen GIS-Tool öffnen.
Da die Ausgabe reines GeoJSON ist, lässt sie sich später auch wieder sauber in dieses Tool importieren oder in jeden Shapefile-Intersection-Export-Workflow, den Sie anschließend in einer Desktop-GIS-Software ausführen.
Mehrere Layer verwalten
Der Layer-Manager in der Seitenleiste sammelt jeden hinzugefügten Polygon-Layer sowie jedes erzeugte Intersection-Ergebnis in einer Liste. Sie können eine Intersection mehrfach mit unterschiedlichen Layer-Paaren ausführen, alle Ergebnisse gleichzeitig auf der Karte behalten und jeden nicht mehr benötigten Layer löschen, ohne die anderen zu beeinflussen — praktisch, wenn Sie die Überlappung zwischen einem Basis-Layer und mehreren Kandidaten-Layern nacheinander prüfen.
Schritt für Schritt: eine Polygon-Überlappung finden





So fügen Sie Ihre Polygon-Layer hinzu
Es gibt zwei Wege, Polygone in das Tool zu laden, bevor Sie eine Intersection ausführen:
- Auf der Karte zeichnen: Klicken Sie auf „Draw Polygon“, klicken Sie auf die Karte, um Eckpunkte zu setzen, und schließen Sie die Form dann per Doppelklick, Enter-Taste oder Klick auf „Finish“. Wiederholen Sie dies für ein zweites Polygon.
- Eine Datei hochladen: Ziehen Sie eine .geojson-Datei oder ein gezipptes Shapefile (.zip mit .shp/.dbf/.shx darin) irgendwo auf die Karte, oder nutzen Sie die Upload-Schaltfläche. Es werden nur Polygon- und MultiPolygon-Features eingelesen; Punkte und Linien werden übersprungen.
Sobald mindestens zwei Polygon-Layer vorhanden sind, wählen Sie in der Seitenleiste einen als Layer A und den anderen als Layer B aus und klicken Sie auf „Find Intersection“, um die gemeinsame Fläche zu berechnen.
Verwandte Geoverarbeitungswerkzeuge
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.
