2013-06-25 40 views
0

have already asked關於繪製點依賴於地區,但現在我的問題是關於疊加點協調在gadm地圖上給出。我想表現出不同的meteostations,使用基於此site或這裏的數據是data used in code我用這樣的代碼嘗試:Gadm地圖與點層在R

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

,以下從已經mentioneed問題的建議,但它與繪製點W/O結束gadm層enter image description here,我想這是因爲非提區

對不起,如果問題是愚蠢的,但我會任何幫助

+1

查看gis.stackexchange.com這個crosspost可行的解決方案:http://gis.stackexchange.com/questions/64448/overlay-points-over-gadm-map – fdetsch

回答

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