On Wed, 25 Feb 2009, Roger Bivand wrote:

On Tue, 24 Feb 2009, Martin Maechler wrote:

"RB" == Roger Bivand <roger.biv...@nhh.no>
    on Fri, 20 Feb 2009 09:55:52 +0100 (CET) writes:

   RB> On Wed, 18 Feb 2009, Greg Snow wrote:
>> There is a shapefile (works well with maptools and sp packages) with a
   >> world map and time zone information at:
   >> http://openmap.bbn.com/data/shape/timezone/
   >>
   >> It has the info needed to color the countries or parts of countries
   >> based on time zone, but does not have polygons for time zone stripes
   >> over the oceans.

RB> In fact, this shapefile provoked an update in sp, because it is really
   RB> buggy.

I'm happy to have provoked progress ;-) :-)

   RB> There are straight-line polygons and many others have multiple
RB> repeated coordinates (the sp update fixes these to retain finite label RB> points), but it doesn't fix the absence of most of the data (several DBF
   RB> columns are empty - checked in oocalc):

   >> library(rgdal)
   >> tz <- readOGR(".", "WrldTZA")
   RB> OGR data source with driver: ESRI Shapefile
   RB> Source: ".", layer: "WrldTZA"
   RB> with  1890  rows and  11  columns
   RB> Feature type: wkbPolygon with 2 dimensions
   RB> Warning messages:
   RB> 1: In Polygon(cbind(jG[[1]], jG[[2]])) :
   RB> Non-finite label point detected and replaced
   RB> 2: In Polygon(cbind(jG[[1]], jG[[2]])) :
   RB> Non-finite label point detected and replaced
   RB> 3: In Polygon(cbind(jG[[1]], jG[[2]])) :
   RB> Non-finite label point detected and replaced
   >> names(tz)
   RB> [1] "FIPS"     "NAME"     "COMMENTS" "REGION"   "LAT"      "LON"
   RB> [7] "TZ"       "GMTOFF"   "LOCALSUM" "OFFSET"   "CLASSES"
   >> summary(tz$GMTOFF)
   RB> NA's
   RB> 1890
   >> summary(tz$TZ)
   RB> NA's
   RB> 1890
   >> summary(tz$OFFSET)
   RB> 0     \xff0        -1    \xff-1    \xff+1       -10       +10
   RB> 25        57        13         7       181        24        38
   RB> \xff+10     +10.5       +11     +11.5       +12   \xff+12        +2
   RB> 24         1        19         3        12        13         1
   RB> \xff-2    \xff+2        +3    \xff-3    \xff+3      -3.5  \xff+3.5
   RB> 4        90        59       146        25         7         3
   RB> -4        +4    \xff-4    \xff+4  \xff+4.5        -5        +5
   RB> 56         4       165         8         1       130        13
   RB> \xff-5    \xff+5  \xff+5.5 \xff+5.75        -6        +6    \xff-6
   RB> 12         3        16         1        77        10        16
   RB> \xff+6  \xff+6.5        -7        +7    \xff+7        -8        +8
   RB> 12        15        63        98        14        61        68
   RB> \xff-8    \xff+8        -9        +9    \xff+9      +9.5      NA's
   RB> 3        56        82        97        13        11        33

   RB> where my locale is UTF-8.

   RB> I wrote to Martin offline that a more recent link is:

   RB> http://efele.net/maps/tz/world/

RB> and I've put tz_world.rda on http://spatial.nhh.no/R/etc, but it is not RB> line generalised, so it is very large and takes a long time to display -
   RB> they've kept a lot of boundary detail.

indeed.  But thanks a lot to make it available!!

RB> Because TZ follow administrative boundaries, they are actually hard to do RB> right. Maybe a raster version might help more if vector precision isn't
   RB> needed?

as long as we can add a couple of cities (using geographical
coordinates) to it, afterwards, that's fine.

When I load your (above URL) tz file and plot it,
I get the impression that much time is spent on thousands of
very small polygons;
consequently, if I'd want a  ``subset'' of tz that only contains
the polygons that correspond to areas larger than, say, 100 km^2,
how could I do that ?

I've put simpl_tz.rda on the same site with the smaller non-principal islands removed, so it plots faster. However, attempts to do line simplification to reduce the detail on coastlines have not yet succeeded.

Anyone like to try to do the line simplification? In GRASS, I'm seeing "Attempt to read dead line" after both v.generalize and v.simplify.

Compared to the original object, this one has very many fewer constituent Polygons objects, because all the geometries with the same time zone have been collected into single Polygons objects, rather than being almost all singletons. This has also speeded up plotting.

And a raster version, same site, SGDF_tz.rda. Then:

image(SGDF, "tzn", col=rainbow(300))

plots a map.

Roger


Hope this helps,

Roger



Looking at the sp-object:

------------------------------------------------------------------------

load("tz_world.rda")

## Look a bit at the 'tz' object:
str(tz, max=2)
## Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots
##   ..@ data       :'data.frame':      27704 obs. of  1 variable:
##   .. ..- attr(*, "data_types")= chr "C"
##   ..@ polygons   :List of 27704
## ..@ plotOrder : int [1:27704] 24471 111 14349 24641 1598 10291 22351 ...
##   ..@ bbox       : num [1:2, 1:2] -180 -90 180 83.6
##   .. ..- attr(*, "dimnames")=List of 2
##   ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots

ltz <- sapply(slotNames(tz), slot, object=tz)
sapply(ltz, object.size)
##        data    polygons   plotOrder        bbox proj4string
##     1690424   110706296      110856         704         704

str(t...@data[,1])
##  Factor w/ 382 levels "Africa/Abidjan",..: 307 307 307 307 307 307 ...

str(head(t...@polygons[1:3]), max=1)
## List of 3
##  $ :Formal class 'Polygons' [package "sp"] with 5 slots
##  $ :Formal class 'Polygons' [package "sp"] with 5 slots
##  $ :Formal class 'Polygons' [package "sp"] with 5 slots

------------------------------------------------------------------------

and then ask for

   showMethods(class = "Polygons")

the result is not so revealing to me; but of course, I'm really
an sp greenhorn.

How could I compute areas?

Regards,
Martin



   RB> Roger

   >>
   >> Hope this helps,
   >>
   >>

   RB> --
   RB> Roger Bivand
RB> Economic Geography Section, Department of Economics, Norwegian School of
   RB> Economics and Business Administration, Helleveien 30, N-5045 Bergen,
   RB> Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
   RB> e-mail: roger.biv...@nhh.no




--
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.biv...@nhh.no

_______________________________________________
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