Yes, of course. I see it now.

Thanks
-Don

At 11:41 AM +0100 2/26/10, Roger Bivand wrote:
>Don,
>
>The assumption in Polygons() is that there is at 
>least one exterior ring, so if only one Polygon 
>object is given, and hole is TRUE, the apparent 
>interior ring is converted to an exterior ring. 
>The rational is that a Polygons object is 
>assumed to contain data, so must have an 
>exterior ring.
>
>Hope this helps,
>
>Roger
>
>---
>Roger Bivand, NHH, Helleveien 30, N-5045 Bergen,
>roger.biv...@nhh.no
>
>
>
>-----Opprinnelig melding-----
>Fra: r-sig-geo-boun...@stat.math.ethz.ch på vegne av Don MacQueen
>Sendt: fr 2010-02-26 02:53
>Til: r-sig-geo@stat.math.ethz.ch
>Emne: [R-sig-Geo] Polygon hole=TRUE not being preserved?
>
>I'm puzzled by an apparent change of @hole from TRUE to FALSE when a
>Polygon object becomes part of a Polygons object.
>
>Here's an example, adapted from ?overlay
>
>r2 <- cbind(c(180042, 180545, 180553, 180314, 179955, 179142, 179437,
>    179524, 179979, 180042),
>    c(332373, 332026, 331426, 330889, 330683,
>      331133, 331623, 332152, 332357, 332373))
>
>r3 <- cbind( c( 179662.7, 179759.0, 180188.4, 180179.6, 179662.7),
>    c(331630.3, 331270.5, 331428.4, 331674.1, 331630.3)
>    )
>
>sr2=Polygons(list(Polygon(r2)),"r2")
>
>p3 <- Polygon(r3,hole=TRUE)
>sr3=Polygons(list(p3),"r3")
>
>
>Then check:
>
>>   str(p3)
>Formal class 'Polygon' [package "sp"] with 5 slots
>    ..@ labpt  : num [1:2] 179930 331501
>    ..@ area   : num 148546
>    ..@ hole   : logi TRUE
>    ..@ ringDir: int -1
>    ..@ coords : num [1:5, 1:2] 179663 179759 180188 180180 179663 ...
>>
>
>Note that @hole is TRUE
>
>>   str(sr3)
>Formal class 'Polygons' [package "sp"] with 5 slots
>    ..@ Polygons :List of 1
>    .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
>    .. .. .. ..@ labpt  : num [1:2] 179930 331501
>    .. .. .. ..@ area   : num 148546
>    .. .. .. ..@ hole   : logi FALSE
>    .. .. .. ..@ ringDir: int 1
>    .. .. .. ..@ coords : num [1:5, 1:2] 179663 180180 180188 179759 179663 ...
>    ..@ plotOrder: int 1
>    ..@ labpt    : num [1:2] 179930 331501
>    ..@ ID       : chr "r3"
>    ..@ area     : num 148546
>
>@hole is now FALSE
>
>
>This arose because when I continue with the adapted example from ?overlay:
>
>sr=SpatialPolygons(list(sr2,sr3))
>srdf=SpatialPolygonsDataFrame(sr, data.frame(i=cbind(1:2,4:3),
>row.names=c("r2","r3")))
>
>And plot with
>
>plot(srdf,col='red')
>
>the red fills the entire outer polygon. I was expecting there to be a
>hole in the fill -- based on remembering this from last time I did
>this, which was *not* recent.
>
>Am I doing something wrong?
>
>Thanks
>-Don
>
>Session information:
>
>
>Sampling[327]% R --no-save --vanilla
>
>R version 2.10.1 (2009-12-14)
>Copyright (C) 2009 The R Foundation for Statistical Computing
>ISBN 3-900051-07-0
>
><- cut ->
>
>
>>   sessionInfo()
>R version 2.10.1 (2009-12-14)
>i386-apple-darwin8.11.1
>
>locale:
>[1] C
>
>attached base packages:
>[1] stats     graphics  grDevices utils     datasets  methods   base
>
>other attached packages:
>[1] maptools_0.7-29 lattice_0.17-26 sp_0.9-57       foreign_0.8-39
>
>loaded via a namespace (and not attached):
>[1] grid_2.10.1
>Warning message:
>'DESCRIPTION' file has 'Encoding' field and re-encoding is not possible
>
>
>Note, finally, that although CRAN shows sp at 0.9-60, I have
>installed from three different mirrors and in all cases get 0.9-57. I
>don't know what the issue is there. I have not (yet) tried a manual
>download and install of 0.9-60.
>
>I doubt that the warning message from sessionInfo() is relevant.
>
>
>--
>--------------------------------------
>Don MacQueen
>Environmental Protection Department
>Lawrence Livermore National Laboratory
>Livermore, CA, USA
>925-423-1062
>
>_______________________________________________
>R-sig-Geo mailing list
>R-sig-Geo@stat.math.ethz.ch
><https://*stat.ethz.ch/mailman/listinfo/r-sig-geo>https://*stat.ethz.ch/mailman/listinfo/r-sig-geo


--
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062
--------------------------------------
        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to