Растеризовать шейп-файл с несколькими атрибутами (столбцами)

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

В идеале выводом будет шейп-файл с числовыми атрибутами оригинала, суммирующий соответствующие объекты. Вот воспроизводимый пример с примерами данных переписи населения Калифорнии из https://www.census.gov/geo/maps-data/data/cbf/cbf_tracts.html:

###Load shapefile
tracts <- readOGR(dsn="C:\\Data\\Test", layer="cb_2017_06_tract_500k")

library(sp)
library(raster)

#convert shapefile to UTM:
tracts = spTransform(tracts,CRS("+proj=utm +zone=51 ellps=WGS84"))
plot(tracts)
ext = extent(tracts )
r = raster(ext,res=10000)
r = rasterize(tracts,r,fum = 'sum',field = states@data$ALAND)
plot(r)

TestShape = rasterToPolygons(r) 
plot(TestShape)

writeOGR(TestShape, dsn = "c:\\data\\test",layer = "TestShape", driver = 'ESRI Shapefile',overwrite_layer = TRUE)

0 ответов

Другие вопросы по тегам