2016-10-14 22 views
1

我對編程非常不熟悉,我剛開始使用R 我想用下面的代碼在形狀文件中繪製幾行(只有2行,包括開始和結束座標在這裏用作示例)。在R中的shapefile中繪製多行文字

library(sp) 
library(raster) 

lat1<- c(-0.755488889, -0.724580556) 
long1<- c(36.44060833, 36.43528056) 
latlon1<- cbind(lat1,long1) 
crdref <- CRS('+proj=longlat +datum=WGS84') 
lns1_YGLV <- spLines(latlon1, crs=crdref) 
lns1_YGLV 
plot(lns1_YGLV) 

lat2<- c(-0.8396, -0.735166667) 
long2<- c(36.362475, 36.59591667) 
latlong2<- cbind(lat2,long2) 
crdref <- CRS('+proj=longlat +datum=WGS84') 
lns2_SUGT <- spLines(latlong2, crs=crdref) 
lns2_SUGT 
plot(lns2_SUGT) 

N<- shapefile("path\\file.shp") 
plot(N) 

(形狀文件只是編輯的文件路徑和名稱,使之簡單。)

然而,這整個代碼保持繪製只有一行,但如果我單獨運行的代碼,它繪製好了,並且shapefile和兩條線分別繪製並且不同。我可能做錯了什麼,請幫忙!

+0

是否有可能你有一個shape文件沒有與你的行位置相似的邊界?將我們指向該shapefile的可訪問版本。 –

回答

0

如果shape文件的座標是全等您已經構建了線,然後我嫌疑(但它是一個猜測),你需要首先繪製shape文件:

plot(N) 

然後用該加載= TRUE參數,其允許覆蓋:

plot(lns1_YGLV, add=TRUE) 
plot(lns2_SUGT, add=TRUE) 

另外也爲Raster*對象lines方法。見http://127.0.0.1:21396/library/raster/html/plot.html。在該頁面上還有一個Note,警告Windows用戶:「光柵使用圖形包中的rasterImage。由於未知原因,這在Windows Server和幾個Windows XP版本上無法使用。在該系統上,您可能需要使用參數useRaster =假得到一個陰謀。「