[R] maptools sunrise sunset function
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Nov 10 22:14:43 CET 2008
On Mon, 10 Nov 2008, Farley, Robert wrote:
> I have a time zone problem.
>
> Running the code provided I get the result in UTC, and a lot of warnings
> like this:
> 28: In as.POSIXlt.POSIXct(x, tz) ... : unknwon timezone 'PST'
>
>
>
>
>> sunrise.set(34.11583, -118.18719, "2008-11-14")
> sunrise sunset
> newlon 2008-11-14 14:25:02 2008-11-15 00:49:09
>>
>> Sys.timezone()
> [1] "PST"
>>
> The result is equivalent to 06:25:02 16:49:09 {PST = UTC-8}
> The "correct" values from another source show 06:25 16:50 which agree to
> beyond the accuracy of prediction due to atmospheric uncertainty.
>
>
> How SHOULD I specify the TZ? I would think that PST is a pretty
> "standard" ;-) time zone.
Your thoughts are misinformed: PST8PDT is a name of a standard timezone,
but PST is not. See ?Sys.timezone for fuller details. See also the
posting guide: you failed to tell us your OS, which matters here.
> Yes, I steal a lot of code snippets. I justify it by telling myself it
> helps me learn R.
>
>
> Robert Farley
> Metro
> www.Metro.net
>
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of stephen sefick
> Sent: Saturday, November 08, 2008 17:09
> To: R-help
> Subject: Re: [R] maptools sunrise sunset function
>
> Nevermind, when one puts in the proper coordinates in decimal degrees
> everything works just fine.
> thanks for you patience,
>
> Stephen
>
> On Sat, Nov 8, 2008 at 7:40 PM, stephen sefick <ssefick at gmail.com>
> wrote:
>> ##This is a function that I am trying to write to calculate sunrise
>> and sunset and works "mostly", but returns nonsensical values. What
>> am I #missing? Thanks in advance.
>>
>> ###remember to include maptools as dependence###
>> library(maptools)
>> sunrise.set <- function(lat, long, date, timezone="UTC", num.days=1){
>> #this needs to be long lat#
>> lat.long <- matrix(c(long, lat), nrow=1)
>> day <- as.POSIXct(date, tz=timezone)
>> sequence <- seq(from=day, length.out=num.days , by="days")
>> sunrise <- sunriset(lat.long, sequence, direction="sunrise",
> POSIXct=TRUE)
>> sunset <- sunriset(lat.long, sequence, direction="sunset",
> POSIXct=TRUE)
>> ss <- data.frame(sunrise, sunset)
>> ss <- ss[,-c(1,3)]
>> colnames(ss)<-c("sunrise", "sunset")
>> return(ss)
>> }
>>
>> #This doesn't make any sense
>> sunrise.set(33.46, 84.25, "2008-11-08", timezone="EST")
>>
>>
>> --
>> Stephen Sefick
>> Research Scientist
>> Southeastern Natural Sciences Academy
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list