【问题标题】:How to get point coordinates in same projection as raster如何在与栅格相同的投影中获取点坐标
【发布时间】:2017-05-20 15:32:26
【问题描述】:

我正在尝试在栅格(具有 OSGB36 投影)上绘制一些点,但点 x 和 y 位置与绘制的栅格的范围不同。如何使点与栅格处于相同的坐标系/范围内,以便它们出现在栅格上。

栅格图层crs:

extent      : 420000, 480000, 440000, 5e+05  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +datum=OSGB36 +units=m +no_defs +ellps=airy +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894 

绘制的栅格:

然而点的 x/y 位置(也在 OSGB6 中)是:

54, -1.3

关于我可能做错了什么/如何解决它的任何想法?

谢谢!

【问题讨论】:

  • 只看你的栅格范围:420000、480000、440000、5e+05 和你的点坐标:54、-1.3 你可以看到这里有问题,因为值范围不匹配全部。在桌面 GIS 软件中,这两层是否重叠?
  • 是的。我有正确叠加的点和栅格。但是,当我在 ArcGIS 中使用几何计算创建点的坐标时,它会计算 54,-1.3 x/y 坐标,它不在同一个投影中。栅格的绘制方式有问题吗?范围是如何计算的?来自 CRS?

标签: r spatial raster r-raster


【解决方案1】:

您的观点似乎在 wgs84 地理坐标中,而不是在预计的 Osgb6 中。您可能错误地指定了 Arcgis 中的 crs。您需要修改您的点的crs。我假设您的栅格被称为r:

pt <- data.frame(x=54,y= -1.3)
coordinates(pt) <- ~x+y
projection(pt) <- "+init:epsg=4326"
pt_osgb <- spTransform(pt, CRS(projection(r)))

顺便说一句,你知道你可以在使用函数locator(sp=TRUE)时获取R中一个点的坐标。

抱歉,我使用的是智能手机,无法测试此脚本,但我认为这可能是原因...

【讨论】:

  • 谢谢!我已经使用栅格作为坐标说明符完成了 spTransform。现在工作!我不知道定位器,所以我会确保记住这一点。解决了!
猜你喜欢
  • 2018-12-19
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2021-12-25
  • 1970-01-01
相关资源
最近更新 更多