Невозможно преобразовать объект sf в объект sp из-за ошибки с неиспользуемым аргументом (SRS_string = из $ wkt)

#r #geospatial #spatial #sf #sp

#r #геопространственный #пространственный #sf #sp

Вопрос:

В настоящее время я работаю над набором данных точек sf в R, и я хочу преобразовать этот набор данных в SpatialPointsDataFrame для некоторого последующего анализа. Это кажется достаточно простым, поэтому я использую as_Spatial() функцию, но она выдает ошибку, которую я никогда раньше не видел:

Error in sp::CRS(SRS_string = from$wkt) : unused argument (SRS_string = from$wkt)

Объект, который я пытаюсь преобразовать, немного велик для меня, чтобы добавить к вопросу, но основная информация об объекте выглядит следующим образом:

 Simple feature collection with 1357 features and 10 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: 2.763816 ymin: 4.292756 xmax: 13.66089 ymax: 13.76644
geographic CRS: WGS 84 
  

Я попытался преобразовать код CRS объекта, думая, что он может содержать строку, которую функция as_Spatial не распознает. Но когда я попытался использовать st_transform() функцию, не похоже, что она обновила географические кредиты. Я предполагаю, что одним из обходных путей является изменение моего рабочего процесса вверх по течению, чтобы я не использовал объекты sf, но это означало бы выбросить много предыдущей работы и использовать менее эффективную intersect() функцию вместо st_join() функции. Если у кого-нибудь есть идеи, где я могу найти решение этой проблемы, это было бы здорово. Спасибо вам всем.

Комментарии:

1. Посмотрите здесь gis.stackexchange.com/questions/372692 /…

Ответ №1:

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