0

已经询问过取决于区域的绘图点,但现在我的问题是关于在 gadm 地图上的协调给出的重叠点。我想显示不同的气象站,使用基于此站点的数据,或者这里是 我尝试使用此类代码的代码中使用的数据:

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))

,遵循已经提到的问题的建议,但最终以没有 gadm 层的绘图点结束在此处输入图像描述,我想这是因为未提及区域

抱歉,如果问题很愚蠢,但我将不胜感激

4

1 回答 1

0

这是答案。感谢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")

阴谋

于 2013-06-26T14:22:22.203 回答