【发布时间】:2016-03-07 10:44:17
【问题描述】:
我需要在光栅图上绘制一个椭圆。我尝试使用简单的plot(r1)(r1 是栅格图层)绘制栅格,然后使用add=T 绘制椭圆,但它不起作用。然后我尝试axes=F 绘制栅格,再次尝试add=T 绘制椭圆。还是不行。
所以我尝试将椭圆数据转换为数据框并尝试添加到栅格图。
#Creating a raster
r <- matrix(sample(1:400),20,20)
r1<-raster(r)
#Creating ellipse with given mean and standard deviation values
theta <- seq(0, 2 * pi, length=(2000))
x <- 0.2 - 0.15 * cos(theta)
y <- 0.5 - 0.15 * sin(theta)
elp<- cbind(na.omit(x),na.omit(y))
#Converting ellipse data frame (elp) to SpatialDataFrame (ps)
ps <- SpatialPolygons(list(Polygons(list(Polygon(elp)),2)))
#Plotting raster with ellipse
plot(r1)
plot(ps, add=T)
理想情况下ps 应该显示为椭圆,但它是一个圆形。另一方面,如果我绘制elp(从中创建 ps 的数据框),我会得到一个椭圆。
plot(elp)
有人可以帮忙吗?
【问题讨论】: