[R-sig-Geo] Problem with aggregating UScensus2000 FL data

Roger Bivand Roger.Bivand at nhh.no
Mon Aug 1 20:38:39 CEST 2011


On Mon, 1 Aug 2011, Ista Zahn wrote:

> Oops, I got the examples mixed up. The Alabama example works, the
> Florida example does not. I also should have given the version info,
> as this may well be version specific.

You also need to provide the link to the data file, and the code prior to 
what you show. The function county() is not defined anywhere, 
consequently the attribute fields are nothing like tract boundaries such 
as those on:

http://www.census.gov/geo/www/cob/tr2000.html

The lines do intersect (touch), and should not in a topologically correct 
setting; the coordinates seem odd - what is the projection? Did you run 
checkPolygonsHoles() first?

Roger

>
> R version 2.13.1 (2011-07-08)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] grid      stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] rgeos_0.1-8             stringr_0.5             quadprog_1.5-4
> [4] directlabels_1.3        UScensus2000_1.00       gpclib_1.5-1
> [7] UScensus2000cdp_0.03    UScensus2000blkgrp_0.03 UScensus2000tract_0.03
> [10] rgdal_0.7-1             maptools_0.8-9          lattice_0.19-30
> [13] sp_0.9-84               foreign_0.8-45          ggplot2_0.8.9
> [16] proto_0.3-9.2           reshape_0.8.4           plyr_1.5.2
>
> loaded via a namespace (and not attached):
> [1] digest_0.5.0 tools_2.13.1
>>
>
> On Mon, Aug 1, 2011 at 11:09 AM, Ista Zahn <izahn at psych.rochester.edu> wrote:
>> Hi all,
>> I am trying to aggregate the UScensus data for Florida up to the zip
>> code level using unionSpatialPolygons from the maptools package. This
>> works for other states, but not for Florida:
>>
>> ## Works
>> tmp <- county(fips = gsub("^..", "",
>> countyfips$fips[countyfips$acronym == "fl"]), state = "fl", level =
>> "tract")
>> dat <- as.data.frame(tmp)
>> tmp.county <- unionSpatialPolygons(tmp, dat$county)
>>
>> ## Returns error
>> tmp <- county(fips = gsub("^..", "",
>> countyfips$fips[countyfips$acronym == "al"]), state = "al", level =
>> "tract")
>> dat <- as.data.frame(tmp)
>> tmp.county <- unionSpatialPolygons(tmp, dat$county)
>> Error in TopologyFunc(groupID(spgeom[ids[[i]]], id[ids[[i]]]),
>> names(ids)[i],  :
>>  TopologyException: found non-noded intersection between LINESTRING
>> (-0.640183 0.433522, -0.678743 0.433456) and LINESTRING (-0.678743
>> 0.433456, -0.677839 0.434367) at -0.678743 0.433456
>>
>> Does anyone have a suggestion about how to do this?
>>
>> Thanks!
>>
>> Ista
>> --
>> Ista Zahn
>> Graduate student
>> University of Rochester
>> Department of Clinical and Social Psychology
>> http://yourpsyche.org
>>
>
>
>
>

-- 
Roger Bivand
Department of Economics, NHH Norwegian School of Economics,
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