Ob sich ein Objekt an einem bestimmten Ort aufhält können in der Geometrie als die Frage umformuliert werden, ob sich ein Punkt in einem Polygon befindet.
Ob sich ein Objekt an einem bestimmten Ort aufhält können in der Geometrie als die Frage umformuliert werden, ob sich ein Punkt in einem Polygon befindet.
Dies kann bspw. mit dem Modul `shapely` einfach überprüft werden.
Dies kann bspw. mit dem Modul `shapely` einfach überprüft werden.
Weitere geometrische Figuren und Methoden sind in der [Dokumentation von shapely](https://shapely.readthedocs.io/en/stable/manual.html) nachlesbar.
Weitere geometrische Figuren und Methoden sind in der [Dokumentation von shapely](https://shapely.readthedocs.io/en/stable/manual.html) nachlesbar.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
fromshapely.geometryimportPoint
fromshapely.geometryimportPoint
fromshapely.geometryimportPolygon
fromshapely.geometryimportPolygon
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Einführendes Beispiel
## Einführendes Beispiel


Zunächst wird ein Punkt und ein Polygon definiert.
Zunächst wird ein Punkt und ein Polygon definiert.
Das Polygon entspricht einem Quadrat, der `point_1` liegt genau in der Mitte.
Das Polygon entspricht einem Quadrat, der `point_1` liegt genau in der Mitte.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
point_1=Point((.5,.5))
point_1=Point((.5,.5))
polygon=Polygon(((0,0),(0,1),(1,1),(1,0)))
polygon=Polygon(((0,0),(0,1),(1,1),(1,0)))
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Ob sich der Punkt im Polygon befindet, kann über die Methode `contains` abgefragt werden.
Ob sich der Punkt im Polygon befindet, kann über die Methode `contains` abgefragt werden.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
polygon.contains(point_1)
polygon.contains(point_1)
```
```
%% Output
%% Output
True
True
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Der nächste Punkt liegt nun eindeutig außerhalb des Quadrats.
Der nächste Punkt liegt nun eindeutig außerhalb des Quadrats.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
point_2=Point((2,2))
point_2=Point((2,2))
polygon.contains(point_2)
polygon.contains(point_2)
```
```
%% Output
%% Output
False
False
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Polygone auf Karten
Polygone können auch mithilfe von Geo-Koordinaten erstellt werden.
Dafür wird anstellen mit eines Ellipsoiden mit einem 2d-Rechteck gearbeitet.