2017-06-13 118 views
0

我有一个shapefile,我使用rgdal包中的readOGR导入到R中。我对它做了一些工作,比如添加属性信息等,然后再以一个新名称将它作为ESRI shapefile导出。但是,当我将原始和新的shapefile都放入ArcGIS中时,它会告诉我CRS不匹配。proj4string似乎没有完全定义ESRI投影信息

所以,指出所有的投影参数保持不变,但在投影和坐标系的名称不同,并且基准 名被丢弃,我questionas是:

  1. 是第二CRS的与第一个相同?

  2. 如果是这样,为什么名称会更改,为什么ArcGIS不再将其识别为相同?

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

  4. proj4string是否可以修改为更具体,如果是的话,为什么readOGR不能保存所有的信息?

我可以使用新的shape文件就好了,但它会很高兴地知道, 的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给出的proj4string同意:3071,也为SR-ORG:7396。

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

当我使用writeOGR到SpatialPolygonsDataFrame上述proj4string导出,然后把它放回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 
+0

相关 - 这可能有所帮助 - https://gis.stackexchange.com/questions/151029/selecting-the-correct-projection-for-nad-1983-harn-wiscrs-bayfield-county-feet/151037。如果你需要进一步的帮助,你更有可能在gis.stackexchange.com上比这里更容易获得它,因为这是一个比编程问题更多的投影 – dww

回答

0

也许没有一个明确的答案,但我张贴的R-SIG-地理名单在这个问题上发球,并获得了一些可能的解决方案。就目前而言,我只是用一个R脚本来覆盖原始副本的.prj文件,这似乎工作正常。还有人建议使用名为arcgisbinding的软件包来桥接ArcGIS和R(也许类似的解决方案可用于QGIS?)。我还没有验证arcgisbinding解决方案,但更多信息可以在博客文章here和包文档here中找到。