Как я могу наложить данные Sentinal 2 на шейп-файлы в R? - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно извлечь данные Sentinal 2 для NDVI для конкретных c участков исследования. Я использовал инструменты RGIS и следовал справочному руководству https://cran.r-project.org/web/packages/RGISTools/RGISTools.pdf. Я смог получить и построить временной ряд для NDVI.

Теперь я должен сделать ту же процедуру для моей учебной области. У меня есть шейп-файл для моей области, доступный здесь: https://gis.utah.gov/data/boundaries/zip-codes/. Похоже, что шейп-файл необходимо преобразовать в растровый или sf-объект перед его использованием. Я использовал st_as_sf для преобразования шейп-файла в sf, но я получаю следующую ошибку в функции senSearch,

Ошибка в if (as.integer (json $ feed $ opensearch:totalResults)> 0) {: аргумент имеет нулевую длину

Я впервые работаю с такими данными, любая помощь приветствуется.

1 Ответ

0 голосов
/ 14 февраля 2020

Похоже, вы пытаетесь искать, используя аргумент экстента. Этот аргумент принимает только пространственные объекты, спроецированные как лонлат-проекции. Вы можете использовать аргумент region с любым пространственным объектом (sp, sf или растр).

Вот пример с вашим регионом:

library(RGISTools)
library(rgdal)
shp<-readOGR("ZipCodes_shp/ZipCodes")
plot(shp)

senres<-senSearch(startDate = as.Date("2018210", "%Y%j"),
                  endDate = as.Date("2018215", "%Y%j"),
                  platform = "Sentinel-2",
                  region = shp,
                  product = "S2MSI1C",
                  username="user",
                  password="pass")
...