Есть ли другой вариант переписать этот код? - PullRequest
0 голосов
/ 20 января 2019

Я хотел использовать следующий код для моего исследования.Но всякий раз, когда я запускаю код, который включает over (), proj4string () и т. Д., Появляется следующая ошибка: «Ошибка в (function (classes, fdef, mtable)): невозможно найти унаследованный метод для функции 'proj4string <-' для подписи'"data.frame", "character"'. Итак, есть ли возможность написать этот код, избегая этих функций. Кажется, что-то не так с моим компьютером или программой R. </p>

require(sp)
require(rgdal)
require(maps)

# read in bear data, and turn it into a SpatialPointsDataFrame
bears <- read.csv("bear-sightings.csv")
coordinates(bears) <- c("longitude", "latitude")

# read in National Parks polygons
parks <- readOGR(".", "10m_us_parks_area")

# tell R that bear coordinates are in the same lat/lon reference system
# as the parks data -- BUT ONLY BECAUSE WE KNOW THIS IS THE CASE!
proj4string(bears) <- proj4string(parks)

# combine is.na() with over() to do the containment test; note that we
# need to "demote" parks to a SpatialPolygons object first
inside.park <- !is.na(over(bears, as(parks, "SpatialPolygons")))

# use 'over' again, this time with parks as a SpatialPolygonsDataFrame
# object, to determine which park (if any) contains each sighting, and
# store the park name as an attribute of the bears data
bears$park <- over(bears, parks)$Unit_Name

# draw a map big enough to encompass all points (but don't actually plot
# the points yet), then add in park boundaries superimposed upon a map
# of the United States
plot(coordinates(bears), type="n")
map("world", region="Spain", add=TRUE)
plot(parks, border="green", add=TRUE)
legend("topright", cex=0.85,
c("Bear in park", "Bear not in park", "Park boundary"),
pch=c(16, 1, NA), lty=c(NA, NA, 1),
col=c("red", "grey", "green"), bty="n")
title(expression(paste(italic("Ursus arctos"),
" sightings with respect to national parks")))

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

...