2017-06-13 168 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中找到。