Ошибка печати при использовании функции ppp

Я планирую расположение нефтеперерабатывающих заводов в Хьюстоне, штат Техас. Я определил область исследования с помощью следующего кода.

 P4S.latlon <- CRS("+proj=longlat +datum=WGS84 ")
 county.lines <-readShapePoly("tl_2017_us_county/tl_2017_us_county.shp", verbose = T, proj4string = P4S.latlon)

 harris <- subset(county.lines, county.lines$GEOID == 48201)
 brazoria <- subset(county.lines, county.lines$GEOID == 48039)
 galveston <- subset(county.lines, county.lines$GEOID == 48167)
 chambers <- subset(county.lines, county.lines$GEOID == 48071)
 liberty <- subset(county.lines, county.lines$GEOID == 48291)
 all.counties <- rbind(harris, brazoria, galveston, chambers, liberty)

 ShapePoly <- as(all.counties, "SpatialPolygons")
 study.area <- as(ShapePoly, "owin")

Построение участка исследования работает как задумано.

Для построения данных НПЗ я использовал следующий код

refinery <- data.frame(refinery)
attach(refinery)
refinery <- ppp(coords.x1, coords.x2, window = study.area)

Данные завода изначально были шейп-файлом. Я преобразовал его в фрейм данных, чтобы я мог использовать ppp().

Возникает вопрос, когда я строю план нефтеперерабатывающего завода, нет точек, только файлы форм.

plot(refinery, pch = 20, col = "firebrick1")

Это результирующий сюжет

Я пишу этот скрипт для проекта класса и обычно использую ArcGIS для своих пространственных проектов. Я не уверен, что может быть причиной этого, поскольку я провел обширные исследования функции ppp и скопировал этот код с другим набором данных. Я хотел бы, чтобы нефтеперерабатывающие заводы были нанесены в виде точек на шейп-файлы графства.

2 ответа

Решение

Я не могу сказать наверняка, так как вы не предоставили воспроизводимый пример (нет ссылки на загрузку данных, нет загрузки используемых пакетов R и т. Д.), Но я думаю, что это просто из-за окраски: Аргумент col контролирует цвет исследуемой области (окно). Для построения точек данного цвета используйте colsнапример, cols = "firebrick1",

ПРИМЕЧАНИЕ: вы работаете непосредственно в lon, lat, так что ваши точки действительно находятся на сфере (эллипсоиде), и для этих координат непосредственно можно провести очень небольшой анализ в R (даже построение графика немного неверно, так как 1 градус отличается от 1 град. лат). Если вы продолжите анализ, вам действительно нужно спроецировать ваши координаты на плоское пространство (используйте, например, sf::st_transform() или же sp::spTransform()).

Когда вы строите объект класса ppp, функция plot.ppp выполнен. Файл справки для plot.ppp объясняет, что цвета точек контролируются аргументом cols,

Другие вопросы по тегам