简体   繁体   English

如何在R中的栅格文件(landsat img)上绘制空间点(矢量)

[英]How to plot spatial points (vector) on a raster file (landsat img) in R

I want to plot spatial points (sp) on a landsat compository, plotting landsat works and plotting the sp as well, but it does not work together. 我想在landsat合成上绘制空间点(sp),绘制landsat作品并绘制sp,但是它不能一起工作。 I am quite sure that I somehow don't get the overwriting of the projection/coordinate system, but don't know what I am doing wrong. 我非常确定我不会以某种方式覆盖投影/坐标系,但是不知道我在做什么错。 Googleing didn't help, so I ask you. Googleing没有帮助,所以我问你。

Here is the code: 这是代码:

coords_glaciers <- data.frame(x = prec_year$latitude, y = prec_year$longitude)
head(coords_glaciers)

         x        y
1 30.69800 95.10474
2 30.69628 95.09544
3 30.69173 95.04394
4 30.68793 95.08615
5 30.68799 95.20155
6 30.68472 95.21425

pts_glaciers <- SpatialPoints(coords = coords_glaciers)
pts_glaciers

class       : SpatialPoints 
features    : 865 
extent      : 29.50121, 30.82512, 94.24684, 96.19304  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
proj <- projection(landsat)
proj
[1] "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"

pts_glaciers <- SpatialPoints(coords = coords_glaciers, proj4string = CRS(proj))
pts_glaciers

class       : SpatialPoints 
features    : 865 
extent      : 29.50121, 30.82512, 94.24684, 96.19304  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs 

plotRGB(landsat, r=5, g=4,b=3)
plot(pts_glaciers, add =TRUE)

I think the solution is: 我认为解决方案是:

coords_glaciers <- data.frame(x = prec_year$longitude, y = prec_year$latitude)

coordinates(coords_glaciers) <- c("x","y")

proj4string(coords_glaciers) <- CRS("+proj=longlat +datum=WGS84") 

pts_glaciers <- spTransform(coords_glaciers, CRS("+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM