繁体   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