преобразование объекта sf в растр

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

Simple feature collection with 33901 features and 1 field
geometry type:  POINT
dimension:      XY
bbox:           xmin: 63.42624931 ymin: -18.21972306 xmax: 175.2237467 ymax: 58.60000076
geographic CRS: WGS 84
First 10 features:
     df$prhmax                       geometry
1  24.46245324 POINT (77.57315415 -17.2288...
2  24.48866948 POINT (77.97969243 -17.1712...
3  24.51029786 POINT (78.38618742 -17.1142...
4  24.51992770 POINT (78.79264389 -17.0577...
5  24.52394288 POINT (79.199056 -17.00185241)
6  24.53245239 POINT (79.60542849 -16.9464...
7  24.56160049 POINT (80.01176604 -16.8915...
8  24.60146712 POINT (80.41806278 -16.8372...
9  24.62994385 POINT (80.82432335 -16.783531)
10 24.65465755 POINT (81.23055239 -16.7303...

Я изо всех сил пытался решить эту проблему. Если я просто делаю plot(sf.object), он работает нормально, но я не могу создать растр.


person Riccardo    schedule 12.11.2020    source источник
comment
Вы можете использовать ?raster::rasterize (или просто отображать точки?)   -  person Robert Hijmans    schedule 12.11.2020


Ответы (1)


Создайте растровый слой и растрируйте точки на нем.

# Load packages
packs <- list("tidyverse", "raster", "sf")
lapply(packs, require, character.only = T)

# Convert points to sp (assumes that the sf object is called example_points)
example_points <- as(example_points, "Spatial")

# Generate empty raster layer and rasterize points
example_raster <- raster(crs = crs(example_points), vals = 0, resolution = c(0.5, 0.5), ext = extent(c(-180, 180, -90, 90))) %>%
   rasterize(example_points, .)

Учитывая, что точки спроецированы на длинную широту, код генерирует глобальный растровый слой с разрешением 30 x 30 угловых минут с нулевыми значениями ячеек. rasterize затем преобразует точки в растровый слой на основе примера растрового слоя. Возможно, вы захотите установить аргументы field и fun функции rasterize, которые управляют тем, как точки определяют значения ячеек. С первым вы можете контролировать, какая переменная устанавливает значения ячейки. Последний определяет функцию, вычисляющую значения ячеек, например. подсчет точек, которые пересекаются с пикселем, или вычисление среднего значения всех точек пересечения.

person Chr    schedule 16.11.2020
comment
Благодарю вас! Мне не хватало функциональной части rasteirze. - person Riccardo; 17.11.2020