On Mon, 25 Jun 2007, Agustin Lobo wrote:
I've tried (among other things):
limit1 <- read.shape("limit_PNSN2000.shp")
Shapefile type: Polygon, (5), # of Shapes: 2
limit1poly <- Map2poly(limit1)
limit1owin <- as(limit1poly,"owin")
Error in .classEnv(thisClass) : unable to find an environment containing
class "polylist"
limit2 <- readOGR("limit_PNSN2000.shp",layer="limit_PNSN2000")
OGR data source with driver: ESRI Shapefile
Source: "limit_PNSN2000.shp", layer: "limit_PNSN2000"
with 2 rows and 1 columns
Then just:
limit1owin <- as(limit2,"owin")
ought to work with current maptools, or possibly coerce:
limit1owin <- as(as(limit2, "SpatialPolygons"), "owin")
limit2poly <- Map2poly(limit1)
limit1owin <- as(limit2poly,"owin")
Error in .classEnv(thisClass) : unable to find an environment containing
class "polylist"
limit1owin <- as(limit2,"owin")
Error in as.owin.SpatialPolygons(from) : W must be a SpatialPolygons object
I guess all I need is to convert my shapefile (read into R via read.shape or
readOGR?) into an object like letterR:
data(letterR)
str(letterR)
List of 4
$ type : chr "polygonal"
$ xrange: num [1:2] 2.02 3.93
$ yrange: num [1:2] 0.645 3.278
$ bdry :List of 2
..$ :List of 2
.. ..$ x: num [1:24] 2.03 2.02 2.02 2.66 2.66 ...
.. ..$ y: num [1:24] 3.278 3.248 0.653 0.653 1.695 ...
..$ :List of 2
.. ..$ x: num [1:10] 2.65 2.64 3.04 3.12 3.16 ...
.. ..$ y: num [1:10] 2.23 2.70 2.71 2.63 2.50 ...
- attr(*, "class")= chr "owin"
but how can I do it?
Also, I'm so confused with so many spatial objects, is there a guide?
Please ignore all the non sp classes, that makes things simpler. The guide
was in R News in 2005, and is still largely relevant for the Spatial*
classes.
Roger
Agus
Roger Bivand escribió:
On Fri, 22 Jun 2007, Agustin Lobo wrote:
> Dear sig-geos,
>
> I have to calculate a distmap (that is, a map
> in which the value of each cell is the distance
> from the cell to a given object) for a set of polygons.
> It seems to me that distmap.owin in spatstat would do it
> fine, but distmap.owin does not accept objects
> imported from shp vectors via readOGR. distmap.owin requires
> type "polygonal" and readOGR yields class 'SpatialPolygonsDataFrame'
> Is there any way to cast or convert from 'SpatialPolygonsDataFrame'
> to "polygonal" or an alternative function to calculate the distances
> to the boundaries of the polygons?
Have you tried coercing with as(x, "owin") in maptools?
Roger
>
> Thanks
>
> Agus
>
>
--
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: [EMAIL PROTECTED]
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo