Я пытаюсь вычислить площадь многоугольника, определенного в виде широты и долготы:
example_polygon <- data.frame(
lat = c(42.7093213,42.7079761,42.7093941,42.7080938,42.7093213),
lon = c(23.3194939,23.3194379,23.3194379,23.3182881,23.3194939)
) # last point equals first point
с использованием функции areaPolygon
из пакета geosphere
:
geosphere::areaPolygon(cbind(example_polygon$lon, example_polygon$lat))
[1] 350.9063
Тем не менее, я заметил, что если я переставлю точки в многоугольнике, я получу другой результат:
example_scrambled <- example_polygon[c(2,1,3,4,2),]
geosphere::areaPolygon(cbind(example_scrambled$lon, example_scrambled$lat))
[1] 7780.469
Мой вопрос заключается в том, что является причиной такого несоответствия в результатах (документация по функции неупомянуть, что порядок имеет значение)? Есть ли правильный способ упорядочить точки в многоугольнике и что это?