簡體   English   中英

如何在正確的xy坐標中繪制提取的柵格?

[英]How to plot a extracted raster in proper xy coordinates?

我有一個ndvi柵格。 我必須使用閾值條件來提取值。當我繪制提取的柵格的圖時,協調的xy時間不長。

我嘗試了ggplot(),也使用了rastertopointsrasterfromXYZ來繪制柵格,但徒勞無功。 代碼如下。 無法繪制。 xy coordiantes的時間不長。

library(raster)
library(rgdal)
raster <- ("D:/Project/ndvisoybean.tif")
plot(ndvi)
ndvi[is.na(ndvi)] <-0
s <- ndvi[ndvi@data@values<maxValue(ndvi) & ndvi@data@values>0.3*maxValue(ndvi)]

我想要在x y中具有適當的經緯度坐標的提取柵格s的圖形。

據我所知,如果柵格不是WGS84投影,則沒有適當的情況來繪制lon / lat xy坐標圖。 一種方法是將柵格圖層轉換為WGS84投影,從而使坐標為lon / lat。 僅適用於小地圖或世界地圖。 另一種方法是在ggplot中使用coord_map函數,但是導入數據必須是lon / lat數據幀,而不是其他投影坐標。 因此繪制地圖效率低下。 更嚴重的是,將data.frame點坐標轉換為另一個坐標時非常慢。 這種方式僅適用於較小的寬度/高度柵格。 代碼示例:

首先,您應該將柵格轉換為WGS84 coordiante。

df=rasterToPoint(raster_WGS84)
ggplot(df, aes(y=lon, x=lat, color=values)) +
   geom_point(size=2, shape=15) +
   theme() + 
   scale_color_distiller(palette='Spectral') +
   coord_map('lambert', lat0=30, lat1=65, xlim=c(-20, 39), ylim=c(19, 75)) 

摘要:如果柵格是投影坐標,例如Alberslambert而不是lon / lat WGS84坐標,那么繪制帶有lon / lat xy coodiate的地圖將很不方便。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM