【问题标题】:How to convert WGS84 to NAD83 using R?如何使用 R 将 WGS84 转换为 NAD83?
【发布时间】:2017-10-25 00:56:19
【问题描述】:

有没有办法“将 IMG 格式的图像从 WGS84 转换为 NAD83”使用 R 编程

输入图片:

姓名:LST_2011-03-30_WGS.img

格式:IMG (ERDAS)

投影:UTM, Zone 12

球体:WGS 84

基准:WGS 84


输出图像:

姓名:LST_2011-03-30_NAD.img

格式:IMG (ERDAS)

投影:UTM, Zone 12

球体:GRS 1980

基准:NAD 83

【问题讨论】:

  • 也许this 会有所帮助。

标签: r image wgs84


【解决方案1】:

您可以使用包gdalUtils,它假定用户在他们的系统上有一个工作的GDAL。如果已设置“gdalUtils_gdalPath”选项(通常由 gdal_setInstallation 设置),则将使用在该路径中找到的 GDAL。如果没有找到,gdal_setInstallation 将被执行以尝试找到一个工作 GDAL,它具有由“of”(输出格式)参数指定的正确驱动程序。

更多关于inside-r.org

这里的函数gdalwarp() 似乎可以完成这项工作:

gdalwarp(srcfile="/your/path/LST_2011-03-30_WGS.img", #source file
         dstfile="/your/path/LST_2011-03-30_NAD.img", #destination file
         s_srs="+proj=utm +zone=12 +datum=WGS84 +no_defs +ellps=WGS84", #input spatial reference
         t_srs="+proj=utm +zone=12 +datum=NAD83 +no_defs +ellps=GRS80") #output spatial reference

注意:由于我没有您的图片,我无法确定它是否真的适用于上述提供的参数。但是,我使用另一个 .tif 栅格和其他空间参考系统对其进行了测试,并且成功了。

【讨论】:

    【解决方案2】:

    你可以这样做

    library(raster)
    r <- raster('LST_2011-03-30_WGS.img')
    
    ## crs is normally defined, see
    r
    ## but if it is not, you can set it
    ## crs(r) <- "+proj=utm +zone=12 +datum=WGS84 +no_defs +ellps=WGS84"
    
    # set up an output RasterLayer
    x <- raster(r)
    crs(x) <- "+proj=utm +zone=12 +datum=NAD83 +no_defs +ellps=GRS80"
    
    # compute    
    x <- projectRaster(r, x)
    

    【讨论】:

    • 您真的必须指定所有参数,对吧?很惊讶没有像crs(map,name="NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet") 这样不需要我知道所有这些的更优雅的解决方案。
    • 知道"NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet" 有多容易?无论哪种方式,这个网站都很容易发现:spatialreference.org
    • 它确实很长。但至少对我来说,命名的 CRS 总是有很多锚点指向我的特定应用程序——当我在密歇根州制作地图时,它是 NAD_1983_StatePlane_Michigan...。这比提到的列表更直观(对我来说)。无论如何,您提供的链接是一个很好的参考;谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2016-05-25
    • 1970-01-01
    • 2018-05-20
    相关资源
    最近更新 更多