Mais

Criação de novo arquivo de forma após operação de mesclagem usando unionSpatialPolygons

Criação de novo arquivo de forma após operação de mesclagem usando unionSpatialPolygons


Só recentemente comecei a brincar com shapefiles e pacotes R para manipulá-los. Estou procurando criar um novo arquivo de forma baseado em políons mesclados seguindo este exemplo; no entanto, não consigo descobrir o que devo alimentar o as.data.frame ("youData").

Usando os shapefiles da Zâmbia como exemplo, como alguém faria para criar um novo shapefile composto por um superconjunto de dados a nível distrital?

require (maptools) require (rgadl) zambia <- readShapeSpatial ("ZMB_adm2.shp") zambiap <- unionSpatialPolygons (zambia, ID = zambia @ data $ ID_1) zambiapd <- SpatialPolygonsDataFrame (ob, data = as.data. yourData "), proj4string = CRS (" + proj = aea> + ellps = GRS80 + datum = WGS84 ")) writeOGR (zambiapd," shapes "," testShape ", driver =" ESRI Shapefile ",)

o str () irá mostrar a estrutura interna do seu objeto

str (zambiap)

Se você deseja apenas um data.frame para exportar:

dt <-data.frame (1: length (zambiap)) zambiapd <- SpatialPolygonsDataFrame (zambiap, data = dt)

Se você deseja um data.frame significativo, você precisa obter os dados do objeto zambiap.

dt.f <-NULL para (i em 1: comprimento (zambiap)) {dt <-zambiap @ polígonos [[i]] @ área dt.f <-rbind (dt.f, dt)} nomes de linhas (dt.f ) <- 1: comprimento (zambiap) dt.f <-data.frame (dt.f)
  • Isso pode ser feito de uma forma mais elegante, mas acho que desta forma você pode seguir a ideia com base nas saídas str () acima.

E então, você adiciona os dados ao seu objeto original.

zambiapd <- SpatialPolygonsDataFrame (zambiap, data = dt)

Para inspecionar o data.frame:

zambiapd @ data

Para manipular o data.frame:

colnames (dt.f) <- ("Área") zambiapd @ data <-dt.f

Tenha cuidado ao manipular os @data, adicionar mais dados, etc.

Veja esta postagem: https://stackoverflow.com/questions/3650636/how-to-attach-a-simple-data-frame-to-a-spatialpolygondataframe-in-r

Não tenho certeza se os parâmetros do proj4string estão corretos.

Para exportar seu spdf:

writeOGR (zambiapd, dsn = getwd (), "Zambiapd", driver = "ESRI Shapefile")

HTH,