Супер полезно! Спасибо за погоню и обмен информацией - после стольких лет доверия к «внутренней» опции Arc я с удивлением увидел, что это просто случайная точка!

их программах, как ArcMap, можно создавать центроиды для полигонов.в полигон В случаях, подобных показанному ниже, это необходимо.

ВR можно вычислить центроиды пространственных многоугольников сrgeos::gCentroid(), Однако нет способа форсировать расчет центроидов внутри многоугольника.

library(rgdal)
library(rgeos)

x <- readWKT("POLYGON ((1441727.5096940901130438 6550163.0046194596216083, 
             1150685.2609429201111197 6669225.7427449300885201, 
             975398.4520359700545669 6603079.7771196700632572, 
             866257.6087542800232768 6401334.5819626096636057, 
             836491.9242229099618271 6106985.0349301798269153, 
             972091.1537546999752522 5835786.5758665995672345, 
             1547561.0546945100650191 5782869.8033663900569081, 
             1408654.5268814601004124 5600968.3978968998417258, 
             720736.4843787000281736 5663807.0652409195899963, 
             598366.4479719599476084 6001151.4899297598749399, 
             654590.5187534400029108 6341803.2128998702391982, 
             869564.9070355399744585 6784981.1825891500338912, 
             1451649.4045378800947219 6788288.4808704098686576, 
             1441727.5096940901130438 6550163.0046194596216083))")
plot(x)

Это многоугольникx

gCentroid() создает центроид, который в данном конкретном случае находится за пределами многоугольника. Несмотря на геометрическую правильность, некоторым приложениям требуются центроиды внутри многоугольника, так как они могут быть рассчитаны с помощью ArcMap.

xCent <- gCentroid(x, byid = TRUE)
points(xCent, col = "red", pch = 16)

Желаемый вывод (из ArcMap) выглядит следующим образом:

Есть ли возможность создать центроиды в R?

РЕДАКТИРОВАТЬ:

После некоторогорытьеполучается, что ArcMap выбирает случайную точку внутри полигона:

Msgstr "Для входного многоугольника: выходная точка будет внутри многоугольника."

Таким образом, вопрос должен быть: есть ли функция, которая создает точку в любой случайной позиции внутри многоугольников?

Ответы на вопрос(1)

Ваш ответ на вопрос