proj4string似乎并没有完全定义ESRI投影信息

时间:2017-06-13 15:38:36

标签: r shapefile rgdal

我有一个shapefile,我使用rgdal包中的readOGR导入到R中。我做了一些工作,比如添加属性信息等,然后再用新名称将其导出为ESRI shapefile。但是,当我将原始和新的shapefile都带入ArcGIS时,它告诉我CRS不匹配。

因此,注意到所有投影参数保持不变,但投影和坐标系名称不同,并且基准面 名称被删除,我的问题是:

  1. 第二个CRS与第一个CRS相同吗?

  2. 如果是这样,为什么名称会发生​​变化,为什么ArcGIS不再将其识别为相同的名称?

  3. 如果没有,它是如何改变的?

  4. 可以将proj4string修改为更具体,如果是,为什么readOGR还没有这样做以保留所有信息?

  5. 我可以很好地使用新的shapefile,但知道这样会很好 CRS与原始版本相同。而且,我当然可以在ArcGIS中再次定义它,但是在R中工作的动机的一部分 是为了避免点击和点击许多文件的需要。

    我感谢任何见解或启发。

    以下是ArcGIS的原始投影信息:

    Projected Coordinate System:    NAD_1983_HARN_Transverse_Mercator
    Projection: Transverse_Mercator
    False_Easting:  520000.00000000
    False_Northing: -4480000.00000000
    Central_Meridian:   -90.00000000
    Scale_Factor:   0.99960000
    Latitude_Of_Origin: 0.00000000
    Linear Unit:    Meter
    Geographic Coordinate System:   GCS_North_American_1983_HARN
    Datum:  D_North_American_1983_HARN
    Prime Meridian:     Greenwich
    Angular Unit:   Degree
    

    这是来自R的proj4string,它也同意在www.spatialreference.org上针对epsg:3071以及SR-ORG:7396的投影给出的proj4string。

    +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs
    

    当我使用writeOGR导出带有上述proj4string的SpatialPolygonsDataFrame时,将其带回ArcGIS, 投影信息如下所示,不再被识别为原始信息。

    Projected Coordinate System:    Transverse_Mercator
    Projection: Transverse_Mercator
    false_easting:  520000.00000000
    false_northing: -4480000.00000000
    central_meridian:   -90.00000000
    scale_factor:   0.99960000
    latitude_of_origin: 0.00000000
    Linear Unit:    Meter
    Geographic Coordinate System:   GCS_GRS 1980(IUGG, 1980)
    Datum:  D_unknown
    Prime Meridian:     Greenwich
    Angular Unit:   Degree
    

1 个答案:

答案 0 :(得分:0)

也许不是一个明确的答案,但我在R-sig-Geo列表服务上发布了这个问题,并获得了一些可行的解决方案。现在,我只是使用一个R脚本用原始副本覆盖.prj文件,这似乎工作正常。还建议使用一个名为arcgisbinding的包来桥接ArcGIS和R(也许类似的解决方案可用于QGIS?)。我尚未验证arcgisbinding解决方案,但可以在博文here和包文档here中找到更多信息。