Только чтение определенного диапазона координат из файла TIF в растре - R - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь прочитать большой пространственный TIF-файл с растром (около 460 МБ). Цель состоит в том, чтобы отобразить значения из TIF в определенные города, границы которых я определил с помощью шейп-файлов. Единственная проблема заключается в том, что мой TIF-файл слишком велик, чтобы поместиться в память, когда я пытаюсь преобразовать его в DF. Учитывая, что мне нужны только значения TIF из одной страны (где находятся города), есть ли способ извлечь из файла TIF только выбранный диапазон широты / долготы из этой страны? Таким образом, я могу просто иметь дело с меньшим диапазоном значений и затем создать фрейм данных из них.

Это мой текущий код. Растр, кажется, читает TIF в, но быстрый inMemory (файл) показывает, что его нет в памяти.

# file is a 460 mb tif file

distances_raster <- raster(file)
inMemory(file) # returns false
# can't convert data it into a DF since doesn't fit in memory
distances_df <- as.data.frame(distances_raster,xy=TRUE)
coordinates(dist_df)<- ~x +y
proj4string(dist_df) <- proj4string(cities_polygon)
extracted_data <- over(dist_df, cities_polygon)

Спасибо!

...