[R-sig-Geo] transparent polygon outline Re: Shows error when I try to write shape file-Re: Combing attribute table with polygon??
Robert J. Hijmans
r.hijmans at gmail.com
Thu Jan 28 19:23:26 CET 2010
Zia:
?polygon
plot(wrld_simpl, col=col[wrld_simpl$v], border=NA)
or:
plot(wrld_simpl, col=col[wrld_simpl$v], border=col[wrld_simpl$v])
Robert
On Thu, Jan 28, 2010 at 10:14 AM, Zia Ahmed <zua3 at cornell.edu> wrote:
> I think I can use this accordingly. Thank you so much. I have a simple
> question. How do I plot a map without boundary (transparency) ? I have to
> plot a shape files with thousands of polygons!
> Thanks again zia
>
> # now it works
> col = terrain.colors(nrow(m))
> plot(wrld_simpl, col=col[wrld_simpl$v])
>
>
>
> Robert J. Hijmans wrote:
>>
>> Here is reproducible example, #1 fails because what I suspect is a bug
>> in merge, but #2 works. Robert
>>
>> library(maptools)
>> data(wrld_simpl)
>> # create some data to merge with
>> m = sort(unique(wrld_simpl at data$REGION))
>> m = cbind(m, 1:length(m))
>> colnames(m) = c('REGION', 'v')
>> # merge
>> wrld_simpl at data = merge(wrld_simpl at data, m, by='REGION', all.x=TRUE,
>> sort=FALSE)
>>
>> # but this does not work:
>> col = terrain.colors(nrow(m))
>> plot(wrld_simpl, col=col[wrld_simpl$v])
>> # he data.frame is rearanged; despite "sort=FALSE"
>> # this looks like a bug in merge to me. Anyone, am I wrong?
>>
>>
>> Therefore, I would do
>>
>> library(maptools)
>> data(wrld_simpl)
>> # get the data.frame out of the SPGDF; to simplify code
>> d = wrld_simpl at data
>> # add a sort key
>> d$sort = 1:nrow(d)
>> # create some data to merge with
>> m = sort(unique(d$REGION))
>> m = cbind(m, 1:length(m))
>> colnames(m) = c('REGION', 'v')
>> # merge
>> x = merge(d, m, by='REGION', all.x=TRUE)
>> # sort
>> x = x[order(x$sort),]
>> # put the data back
>> wrld_simpl at data = x
>>
>>
>> # now it works
>> col = terrain.colors(nrow(m))
>> plot(wrld_simpl, col=col[wrld_simpl$v])
>>
>>
>> On Wed, Jan 27, 2010 at 6:59 PM, Zia Ahmed <zua3 at cornell.edu> wrote:
>>
>>>
>>> Hi, Roberts,
>>> In my last mail, I mentioned it works fine, but when I try write shape
>>> file
>>> after merging it shows error. I think I need to define spatial object
>>> or
>>> data frame after merging. I do not know how to do this. Thanks again.
>>> Zia
>>>
>>>
>>>>
>>>> poly.data1 = merge(poly.data, data.table, by="MUKEY" ,all.x = TRUE)
>>>> names(poly.data1) # polygoan
>>>>
>>>
>>> [1] "MUKEY" "AREASYMBOL" "SPATIALVER" "MUSYM" "Sand" [6]
>>> "Silt" "Clay" "pH" "CEC" "EC" [11] "SAR"
>>> "CaCO3" "SOM" "BD" "AWC" [16] "KSAT"
>>> "Kf" "Kw" "LL" "LEP"
>>>
>>>>
>>>> polyShp <- "D:/test/mapunit_poly.shp" > writeOGR(poly.data1,
>>>> dsn=polyShp,
>>>> layer="mapunit_poly", driver="ESRI Shapefile")
>>>>
>>>
>>> Error in writeOGR(poly.data1, dsn = polyShp, layer = "mapunit_poly",
>>> driver
>>> = "ESRI Shapefile") :
>>> obj of wrong class
>>>
>>> Zia Ahmed wrote:
>>>
>>>>
>>>> Thank you so much Roberts! it works.
>>>>
>>>> Zia
>>>>
>>>> Robert J. Hijmans wrote:
>>>>
>>>>>
>>>>> Zia, something like this might work as long as MUKEY has no NA values:
>>>>>
>>>>> poly.data = merge(poly.data, data.table, by="MUKEY" ,all.x = TRUE)
>>>>>
>>>>> Robert
>>>>>
>>>>> On Wed, Jan 27, 2010 at 1:58 PM, Zia Ahmed <zua3 at cornell.edu> wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> I have created one data table and one polygon in R. Both have a
>>>>>> similar
>>>>>> type
>>>>>> of column. I want to combine or join them with this column or field
>>>>>> ("MUKEY"). Then I will convert this polygon as a ESRI shape file.
>>>>>> But when I used spCbind, I got error. I think i miss something
>>>>>> here.
>>>>>> Is there any way join attribute table with polygon? Thanks
>>>>>> Zia
>>>>>>
>>>>>> poly.data1 <- spCbind(poly.data, data.table)
>>>>>> Error in spCbind(poly.data, data.table) : different numbers of rows
>>>>>>
>>>>>>
>>>>>> names(poly.data) # polygoan
>>>>>> [1] "AREASYMBOL" "SPATIALVER" "MUSYM" "MUKEY" >
>>>>>> names(data.table) #
>>>>>> data
>>>>>> [1] "MUKEY" "Sand" "Silt" "Clay" "pH" "CEC" "EC" "SAR"
>>>>>> "CaCO3"
>>>>>> [10] "SOM" "BD" "AWC" "KSAT" "Kf" "Kw" "LL" "LEP"
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> length(poly.data$MUKEY)
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> [1] 76969
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> length(data.table$MUKEY)
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> [1] 184
>>>>>> poly.data1 <- spCbind(poly.data, data.table)
>>>>>>
>>>>>> combinedShp1 <- "D:/test/combined1.shp" writeOGR(poly.data1,
>>>>>> dsn=combinedShp1, layer="combined1", driver="ESRI Shapefile")
>>>>>>
>>>>>> _______________________________________________
>>>>>> R-sig-Geo mailing list
>>>>>> R-sig-Geo at stat.math.ethz.ch
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> _______________________________________________
>>>> R-sig-Geo mailing list
>>>> R-sig-Geo at stat.math.ethz.ch
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>
>>>
>>>
>
More information about the R-sig-Geo
mailing list