Formschönes und matplotlib Point-in-Polygon, das bei der Geolokalisierung nicht genau ist

Ich teste die Point-in-Polygon-Funktion mit matplotlib und shapely.

Hier ist einKarte enthält ein Bermuda-Dreieck-Polygon.

Google MapsDie Point-in-Polygon-Funktionen von werden deutlich angezeigttestingPoint undtestingPoint2 befinden sich innerhalb des Polygons, was ein korrektes Ergebnis ist.

wenn ich die beiden punkte in testematplotlib und formschön besteht nur point2 den test.

In [1]: from matplotlib.path import Path

In [2]: p = Path([[25.774252, -80.190262], [18.466465, -66.118292], [32.321384, -64.75737]]) 

In [3]: p1=[27.254629577800088, -76.728515625]

In [4]: p2=[27.254629577800088, -74.928515625]

In [5]: p.contains_point(p1)
Out[5]: 0

In [6]: p.contains_point(p2)
Out[6]: 1

wohlgeformt zeigt dasselbe Ergebnis wie matplotlib.

In [1]: from shapely.geometry import Polygon, Point

In [2]: poly = Polygon(([25.774252, -80.190262], [18.466465, -66.118292], [32.321384, -64.75737]))

In [3]: p1=Point(27.254629577800088, -76.728515625)

In [4]: p2=Point(27.254629577800088, -74.928515625)

In [5]: poly.contains(p1)
Out[5]: False

In [6]: poly.contains(p2)
Out[6]: True

Was ist hier eigentlich los? Ist Googles Algorithmus besser als diese beiden?

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage