Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Punkt in Polygon? Suche Formel/Excel-File

Forumthread: Punkt in Polygon? Suche Formel/Excel-File

Punkt in Polygon? Suche Formel/Excel-File
Felix
Weiß jemand, ob es ein Excel-File gibt, um zu berechnen, ob ein Punkt innerhalb oder außerhalb eines Polygons liegt? Die Idee ist, dass ich die Eckpunkte des Polygons in Excel eintrage und dann eine Koordinate für den Punkt angebe, woraufhin mir Excel dann ausspuckt: In Polygon ja oder nein. Alternativ würde mir auch die Berechnungsformel helfen, anhand derer ich mir dann vielleicht selbst ein Excel-File bauen könnte.
Vielen Dank für Eure Hilfe!
Anzeige
AW: Punkt in Polygon? Suche Formel/Excel-File
09.02.2012 20:01:25
ransi
HAllo
Wie definierst du die Grenzen des Polygons ?
Userbild
So oder anders ?
ransi
AW: Punkt in Polygon? Suche Formel/Excel-File
09.02.2012 20:30:57
Felix
Die würde ich über die Koordinaten der Eckpunkte definieren.
AW: Punkt in Polygon? Suche Formel/Excel-File
10.02.2012 09:32:52
Harald
Hallo Felix,
wie man das prinzipiell mach, ist hier beschrieben: http://www-lehre.inf.uos.de/~cg/2002/skript/node42.html
Als Formel in Excel wird das wohl sehr aufwendig oder eher gar nicht funktionieren. Als VBA Code müsste es gehen. Leider kann ich es jetzt mangels Zeit nicht ausprogrammieren.
Harald
Anzeige
AW: Punkt in Polygon? Suche Formel/Excel-File
10.02.2012 12:25:00
Felix
Das hilft schon mal sehr. Vielen Dank!
Was schätzt Du, wie viel Arbeitsaufwand es für einen Programmierer wäre, ein Programm zu erstellen, das Punkte einem Polygon zuordnet.
Die Funktionsweise des Programms wäre ungefähr diese:
Auf dem Server werden die Eckpunkte mehrerer Polygone als GPS-Koordinaten hinterlegt. Jetzt treffen die Koordinaten von ca. 40 beweglichen Punkten ein und auf dem Server wird errechntet, in welchem Polygon sich die Punkte befinden.
Anzeige
AW: Punkt in Polygon? Suche Formel/Excel-File
10.02.2012 12:39:37
Harald
1-2 Tage?
Wenn Du von GPS Koordinaten sprichst, kannst Du die Formeln aus dem Link nur eingeschränkt verwenden: Auf einer Kugeloberfläche (Erde) sind die Verbindungen zwischen zwei Punkten keine Geraden, sondern gekrümmt. Demzufolge haben die Polygone auch gekrümmte Seiten. Das berücksichtigen die Programmbeispiele nicht.
Näherungsweise kann das funktionieren, solange die Eckpunkte nicht zu weit auseinander liegen und Du ggfls. mit einem kleinen Fehler bei der Bestimmung der Lage innerhalb oder außerhalb des Polygons leben kannst.
Harald
Anzeige
AW: Punkt in Polygon? Suche Formel/Excel-File
10.02.2012 12:57:34
Felix
Danke für die Info. Die Erdkrümmung spielt in meinem Fall keine Rolle, da die Eckpunkte nur 100 m voneinander entfernt sind.
;
Anzeige

Infobox / Tutorial

Punkt in Polygon berechnen in Excel


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob ein Punkt innerhalb eines Polygons in Excel liegt, folge diesen Schritten:

  1. Eckpunkte des Polygons eingeben: Trage die Koordinaten der Eckpunkte des Polygons in zwei Spalten ein (z.B. Spalte A für x-Koordinaten und Spalte B für y-Koordinaten).

    Beispiel:

    A       | B
    --------|--------
    1       | 1
    4       | 1
    4       | 4
    1       | 4
  2. Punkt eingeben: Lege die Koordinaten des zu prüfenden Punktes fest, ebenfalls in zwei separaten Zellen (z.B. C1 für x und D1 für y).

  3. Formel zur Überprüfung: Verwende die folgende Formel, um zu überprüfen, ob der Punkt innerhalb des Polygons liegt. Diese Formel ist eine vereinfachte Version der "Ray-Casting"-Methode:

    =IF(COUNTIFS(A:A, "<=" & C1, B:B, ">" & D1) + COUNTIFS(A:A, ">" & C1, B:B, "<=" & D1) MOD 2 = 1, "In Polygon", "Außerhalb")
  4. Ergebnisse interpretieren: Die Zelle mit der Formel gibt zurück, ob der Punkt im Polygon liegt oder nicht.


Häufige Fehler und Lösungen

  • Formel funktioniert nicht: Stelle sicher, dass die Koordinaten korrekt eingegeben sind und die Formel die richtigen Zellreferenzen verwendet.

  • Punkt wird falsch erkannt: Überprüfe die Reihenfolge der Eckpunkte. Sie sollten im Uhrzeigersinn oder gegen den Uhrzeigersinn eingegeben werden, um die korrekte Polygonform zu gewährleisten.

  • Excel kann keine großen Polygonflächen verarbeiten: Achte darauf, dass die Anzahl der Eckpunkte nicht zu hoch ist, da Excel bei sehr großen Datenmengen langsamer wird.


Alternative Methoden

Wenn die Excel-Formel nicht zu deinem Vorhaben passt, kannst du alternativ VBA verwenden. Hier ein einfacher VBA-Code, um einen Punkt in einem Polygon zu überprüfen:

Function PunktInPolygon(x As Double, y As Double, PolyPoints As Range) As Boolean
    Dim i As Integer, j As Integer
    Dim inside As Boolean
    inside = False
    j = PolyPoints.Rows.Count - 1

    For i = 0 To PolyPoints.Rows.Count - 1
        If ((PolyPoints.Cells(i + 1, 1).Value > y) <> (PolyPoints.Cells(j + 1, 1).Value > y)) And _
           (x < (PolyPoints.Cells(j + 1, 2).Value - PolyPoints.Cells(i + 1, 2).Value) * (y - PolyPoints.Cells(i + 1, 1).Value) / _
           (PolyPoints.Cells(j + 1, 1).Value - PolyPoints.Cells(i + 1, 1).Value) + PolyPoints.Cells(i + 1, 2).Value) Then
            inside = Not inside
        End If
        j = i
    Next i

    PunktInPolygon = inside
End Function

Praktische Beispiele

Angenommen, du hast die folgenden Eckpunkte eines Rechtecks:

A       | B
--------|--------
1       | 1
5       | 1
5       | 4
1       | 4

Wenn du den Punkt (3, 2) überprüfen möchtest, trage ihn in C1 und D1 ein. Die oben genannte Formel wird "In Polygon" zurückgeben.

Ein weiteres Beispiel für ein Polygon mit mehr als vier Punkten könnte ein Dreieck oder ein Fünfeck sein. Stelle sicher, dass du die Eckpunkte korrekt eingibst.


Tipps für Profis

  • Nutzung von Excel-Diagrammen: Visualisiere dein Polygon, indem du ein Diagramm erstellst. Das erleichtert das Verständnis, ob ein Punkt innerhalb oder außerhalb liegt.

  • Datenvalidierung: Verwende Datenvalidierung, um sicherzustellen, dass nur gültige Koordinaten eingegeben werden.

  • Makros für automatisierte Berechnungen: Automatisiere die Berechnung, indem du Makros verwendest, wenn du häufig Punkt-Polygon-Prüfungen durchführen musst.


FAQ: Häufige Fragen

1. Wie definiere ich die Grenzen des Polygons?
Du definierst die Grenzen, indem du die Koordinaten der Eckpunkte in zwei Spalten eingibst.

2. Kann ich auch andere Formen als Polygone in Excel berechnen?
Ja, du kannst auch komplexe Formen berechnen, jedoch wird die Formel komplizierter und du musst möglicherweise VBA verwenden.

3. Funktioniert das in allen Excel-Versionen?
Die beschriebenen Schritte und Formeln sollten in den meisten modernen Excel-Versionen funktionieren, insbesondere in Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige