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