Mientras trazo el gadm
mapa de Rusia R
, tengo un problema en el meridiano de 180 grados, donde parte de la región rusa se traza por separado. Puede verlo en el diagrama usando el siguiente código (es el borde izquierdo y la parte está a la derecha). ¿Alguien puede sugerir cómo evitar este problema?
Aquí hay una versión corta del código para mi pregunta:
require(sp)
rus<-url("http://www.gadm.org/data/rda/RUS_adm1.RData")
print(load(rus))
gadm$regions = as.factor(1:88)
spplot(gadm,"regions")
fuente
sp
menciona que esta clase admite "métodos que incluyen print / show, plot, subset, [, [[, \ $, names, dim, summary, ..." La página de ayuda parasubset
muestra su sintaxis. ¡El truco es saber qué campo usar para encontrar Moscú! Lo encontré mirando a valores únicos de todos los campos, finalmente posándose enlevels(gadm$NAME_1)
. Esto llevó aspplot(subset(gadm.prj, subset=(NAME_1=="Moskva")),"regions")
, lo que hace el truco.Veo que Whuber ya me ganó, pero publicaré mi respuesta de todos modos.
Si desea mantener los datos en la proyección longlat, puede agregar el parámetro " Ajuste longitudinal " a la cadena Proj4.
Esto centrará su mapa en longitud 105 grados este.
fuente
spTransform
.