Przejdź do głównej zawartości

Oblicza, czy dany punkt leży wewnątrz wielokąta utworzonego przez połączenie wielu punktów. Wielokąt jest kształtem zamkniętym, łączącym pary współrzędnych w kolejności ich występowania. Zmiana kolejności par współrzędnych może dać inny kształt.

func.point_in_polygon((x,y), [(a,b), (c,d), (e,f) ... ])
func.point_in_polygon((3., 3.), [(6, 0), (8, 4), (5, 8), (0, 2)])
┌─────────────────────────────────────────────────────────────────┐
│ func.point_in_polygon((3, 3), [(6, 0), (8, 4), (5, 8), (0, 2)]) │
├─────────────────────────────────────────────────────────────────┤
│ 1 │
└─────────────────────────────────────────────────────────────────┘
POINT_IN_POLYGON((x,y), [(a,b), (c,d), (e,f) ... ])
SELECT POINT_IN_POLYGON((3., 3.), [(6, 0), (8, 4), (5, 8), (0, 2)]);
┌────────────────────────────────────────────────────────────┐
│ point_in_polygon((3, 3), [(6, 0), (8, 4), (5, 8), (0, 2)]) │
├────────────────────────────────────────────────────────────┤
│ 1 │
└────────────────────────────────────────────────────────────┘