[R-sig-Geo] Deleting shapefile polygon with no attribute / record
Roger Bivand
Roger.Bivand at nhh.no
Thu Jan 7 08:07:26 CET 2010
On Thu, 7 Jan 2010, Noli Sicad wrote:
> # Deleting shapefile polygons that doesn't much with record in the
> merge dbf file
I have already told you to use "["
new_obj <- obj[keep,]
where keep may be an integer vector of row numbers, a logical vector of
TRUE/FALSE values, or (for newer versions of sp) a negative integer vector
of entities to drop. So maybe:
keep <- !is.na(obj$x)
As I said before, think of Spatial*DataFrame objects as data.frame objects
and use the same operators as a first approximation which will usually
work, as indeed it has to for Spatial*DataFrame objects to function as the
data= argument in the (formula, data) S language White Book abstraction
that underpins most analysis in S/R.
Roger
>
> I want to do:
> 1. Delete polygons that doesn't have a match with record in joined /
> merge table of the shapefile.
> (Done transpose and merging - joined to one-to-one relationship already.)
> 2. Create a subset of the polygon and save shapefile or just save the
> revise shapefile
> 3. Open in shapefile in QGIS and do spplot.
>
> ~~~~~~~~~~~~~~
> from 1 to 93 polygon
> if table ID == polygon_ID then print("Polygon OK")
> else delete the polygon
>
> How do I delete the polygon and save?
>
> ~~~~~~~~~~~~~
> getwd()
> setwd('C:\\Down2\\R_forestmgt\\modelIII\\')
>
> library(rgdal)
>
> forest <- readOGR(".", "ForestStand")
>
> forest.dat <- slot(forest, "data") <------ is this necessary?
> xlength<-nrow(forest.dat)
>
> for (i in 1:xlength)
> if (forest.dat$ID[x] == forest[ID[x] {print("Polygon OK")
> } else { Delele Polygon}
>
> writeOGR(forest, ".", "ForestStandNew", "ESRI Shapefile")
> ~~~~~~~~~~~~~~~~~
>
> The script above doesn't run because I don't know how to delete
> polygons. Any ideas how to do this?
>
>
> Thanks in advance.
>
> Noli
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-sig-Geo
mailing list