在R中的点图层的Gadm地图

时间:2013-06-25 22:35:52

标签: r map cartography

have already asked关于绘制依赖于地区的点,但现在我的问题是关于通过gadm地图上的协调给出的重叠点。我想显示不同的meteostations,使用基于此site的数据或此处data used in code我尝试过使用此类代码:

require(ggplot2)
library(maptools)
library(rgdal)
library(RColorBrewer)
library(gpclib)
library(rgeos)
library(PBSmapping)
gpclibPermit()
rus<-load("C://RUS_adm1.RData")
proj4.str <- CRS("+init=epsg:3413 +lon_0=105")
gadm.prj <- spTransform(gadm, proj4.str)
rus<-gadm.prj

met <- read.csv2('C:\\meteo.txt')


cds <- data.frame(
                  Longitude=met$Long,
                  Latitude=met$Lat)

k<-as.matrix(cds)



popSP <- SpatialPointsDataFrame(coords=k,met["Elevation"], proj4string=proj4.str)

spplot(popSP, sp.layout=list('sp.polygons', gadm.prj))

,根据已经提到的问题的建议,但它最终得到了没有小图层enter image description here的绘图点,我想这是因为没有提及的区域

对不起,如果问题是愚蠢的,但我将不胜感激任何帮助

1 个答案:

答案 0 :(得分:0)

Here is the answer。感谢flowla

编辑了一点代码,我可以根据海拔绘制不同的情节。

library(rgdal)
library(raster)


rus <- load("C://RUS_adm1.RData")

popSP <- met <- read.csv2("C://meteo.txt")
for (i in c(3, 4)) 
  popSP[, i] <- popSP[, i] / 1000

coordinates(popSP) <- ~ Long + Lat
projection(popSP) <- projection(gadm)

# Reprojection to EPSG:3413 (see http://www.spatialreference.org/ref/epsg/3413/)
proj4.str <- CRS("+proj=stere +lat_0=90 +lat_ts=70 +lon_0=105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

gadm.prj <- spTransform(gadm, proj4.str)
popSP.prj <- spTransform(popSP, proj4.str)






col_no <- as.factor(as.numeric(cut(popSP.prj$Elevation,
                    c(0,2500,5000,10000,15000,20000,100000))))


levels(col_no) <- c("<2500", "2500-5000","5000-10000", "10000-15000","15000-20000",">20000" )
color = rainbow(6)
popSP.prj$col_no<-col_no



spplot(popSP.prj, "col_no", sp.layout=list('sp.polygons',cols="ID_0", gadm.prj), col.regions=color, main="Meteostations in Russia", key.space="right")

Plot