Processing math: 100%

4 votos

Añadir un punto en un spplot en R

Tengo que añadir un punto sobre un existente spplot en R. Lo necesito sólo para un propósito visual. Tengo las coordenadas del punto, pero no sé cómo cambiar el código para añadir el punto.

Este es el código del spplot :

spplot(pioggiaTP[1])

Y este es el mapa que se obtiene al ejecutar el comando: spplot

Las coordenadas del punto son X=720731,8704 e Y=4861300,795 en el sistema de referencia WGS 84 / UTM zona 32N EPSG:32632, el mismo sistema de la parcela.

¿Alguien puede ayudarme?

6voto

fastcall Puntos 874

spplot devuelve un celosía parcela de la clase "trellis". Puede utilizar el layer de la función latticeExtra para actualizar este objeto.

Ejemplo:

library("sp")
library("latticeExtra")

data(meuse)
data(meuse.grid)

coordinates(meuse.grid) <- ~x+y
proj4string(meuse.grid) <- CRS("+init=epsg:28992")

p <- spplot(meuse.grid, "dist")
print(p)

spplot

p + layer(panel.points(x, y, col="green", pch=19), data=meuse)

spplot update

4voto

Tilo Wiklund Puntos 741

Otra opción sería utilizar el argumento 'sp.layout' que viene con spplot . Tenga en cuenta que, a diferencia del enfoque sugerido por @rcs, es necesario suministrar un objeto "sp" (que puede tener ya disponible, ya que está trabajando con spplot ). Utilizando el conjunto de datos "meuse.grid", su código podría ser aproximadamente el siguiente.

## sample point
test <- data.frame(x = 180000, y = 331500)
coordinates(test) <- ~ x + y
proj4string(test) <- "+init=epsg:28992"

## display gridded data including sample point
spplot(meuse.grid, "dist", scales = list(draw = TRUE),
       sp.layout = list("sp.points", test, pch = 16, cex = 2, col = "black"))

sp.layout

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X