Я новый пользователь пакета R ppptstat, и у меня возникают проблемы с созданием многоугольного окна наблюдения с owin() , Код следующим образом:Как обеспечить, чтобы многоугольник в flostat :: owin (poly = <polygon>) не имел «отрицательной области»
library("maps")
library ("sp")`
library("spatstat")
mass.map <- map("state", "massachusetts:main", fill=T) # This returns a data frame includding x and y components that form a polygon of massachusetts mainland`
mass.win <- owin(poly=data.frame(x=mass.map$x, y=mass.map$y)
Ошибка если (w.area < 0) остановки (паста ("Площадь многоугольника отрицательна -") "может быть пройдено в> неправильного направление?"): отсутствующего значения где требуется TRUE/FALSE
Я пробовал такие вещи, как реверсирование порядка многоугольника и получил такую же ошибку.
mass.win <- owin(poly=data.frame(x=rev(mass.map$x), y=rev(mass.map$y)))
Многоугольник содержит дублированные вершины
многоугольник самопересекающегося Ошибки в Owin (поли = data.frame (х = обороты (mass.map $ х), у = Rev (mass.map $ у))): данных Polygon продублированы вершины и самопересечение
Тогда я понял, что, возможно, многоугольник г eturned by map() не предназначен для подачи в owin(). Так что я попытался загрузки файла Массачусетского форму (я полностью принимая догадки в этой точке) .:
x <- readShapePoly("../Geog/OUTLINE25K_POLY") ## The shape file for MASS, loaded from MassGIS website
mass.poly <- x <- readShapePoly("../Geog/OUTLINE25K_POLY", force_ring=T, delete_null_obj=T) ## I got following error whether or not I used force_ring
< mass.owin - в (mass.poly, "Owin") Проверка 1006 многоугольники .. .1, Polygon 1 содержит дублированные вершины [Проверка полигона с краями 91844 ...] 2, 3, .. [etd 1:21:52] .... 10 [etd 36:12] ..... [etd 23:10] .... 20 [etd 16:59] ..... [etd 13:22] .... 30 [etd 11:01] ..... [etd 9:21] .... 40 [etd 8:06] ..... [etd 7:09] .... 50 [etd 6:23] ..... [etd 5:46] .... 60 [etd 5:15] ... [Проверка полигона с 2449 краями ...] .. [etd 4:49] .... 70 [etd 4:27] ..... [etd 4:07] , ... 80 [etd 3:50] ..... [etd 3:36] .... 90 [etd 3:22] ..... [etd 3:11] .... 100 [ и т. Д.
У меня есть сообщения, жалующиеся на пересекающиеся вершины и т. Д., И он не смог построить многоугольник.
Некоторые проблемы, связанные с проблемой: Я пытаюсь использовать функции в spartstat для вычисления пространственного относительного риска, т. Е. Пространственного отношения толерантности случаев против контролей. Для этого мне нужно окно наблюдения и точечный сюжет в этом окне. Я мог обмануть и сделать окно наблюдения прямоугольником вокруг massachusetts, но это, вероятно, исказило бы ценности вблизи побережья. В любом случае, я хотел бы узнать, как сделать это правильно для любой будущей работы, которую я делаю с этим пакетом. Спасибо за любую помощь, которую вы можете предоставить.
Ну, первое сообщение об ошибке на самом деле говорит вам, что он терпит неудачу чтобы получить значение вообще. Это, как и другие сообщения, почти наверняка объясняется тем, что ваш многоугольник имеет самопересечения и/или обманки. Похоже, вам нужен более чистый (возможно, менее подробный) многоугольник для представления вашего географического региона. –