почему шейп-файлы, созданные с помощью пакета sf, не отображают тот же CRS в ArcMap? - PullRequest
1 голос
/ 02 апреля 2019

Я создал шейп-файл многоугольника в ArcMap, используя 7 точек (широта, долгота), затем прочитал этот шейп-файл в R, чтобы получить CRS.Затем я создал файл формы в R с использованием пакета sf (и 7 точек) и использовал CRS, полученный из шейп-файла ArcMap.Когда я помещаю шейп-файл, созданный в R, в ArcMap, я получаю предупреждение о различных системах координат.Почему это произошло ??

Мои шаги:

  1. 7 точек (вдоль и поперек), где точка 1 = точка 7 (замкнутый контур).Создайте шейп-файл полигона в ArcMap и отобразите.Свойства в ArcMap показывают: Географическая система координат: GCS_North_American_1983 Datum: D_North_American_1983

  2. В R я использую rgdal для чтения в шейп-файле и получения CRS

cashes <- rgdal::readOGR(dns="path",layer="shapefile") 
cashes@proj4string 

В результате получается: "+ proj = longlat + datum = NAD83 + no_defs + ellps = GRS80 + towgs84 = 0,0,0"

Теперь я создаю шейп-файл в R, используя пакет sf (я мог бы использовать%>%)
Rshapefile <- readxl::read_xlsx(path,sheet="cashes")
Rshapefile <- sf::st_as_sf(Rshapefile,coords=c("lon","lat"),crs="+proj=longlat +datum=NAD83 +no_defs +ellps=GRS80 +towgs84=0,0,0 ")
Rshapefile <- dplyr::summarize(Rshapefile,geometry = sf::st_combine(geometry))
Rshapefile <- sf::st_cast(Rshapefile,"POLYGON")

sf::st_write(Rshapefile,dns=path,layer="Rshapefile",driver="ESRI Shapefile")

Затем я перенес этот Rshapefile в ArcMap, и системы кордината отличаются.Когда я просматриваю свойства в ArcMap, они показывают: Географическая система координат: GRS 1980 (IUGG, 1980) Datum: D_unknown

Почему это так?Должно быть, я что-то делаю не так, но не могу понять, что!

...