o ponto no polígono bem torneado e o matplotlib não são precisos com a geolocalização

Estou testando a função point-in-polygon com matplotlib e bem torneada.

Aqui está ummapa contém um polígono do triângulo das Bermudas.

Google mapsAs funções point-in-polygon dotestingPoint etestingPoint2 estão dentro do polígono, o que é um resultado correto.

se eu testar os dois pontos emmatplotlib e bem torneado, apenas o point2 passa no teste.

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

bem torneado mostra o mesmo resultado que o 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

O que realmente está acontecendo aqui? O algoritmo do Google é melhor que os dois?

obrigado

questionAnswers(4)

yourAnswerToTheQuestion