[R-sig-Geo] writeOGR() to shapefile and dates/times classes
Agustin Lobo
alobolistas at gmail.com
Sun Jun 24 22:33:30 CEST 2012
Roger,
Roger,
What you say makes a lot of sense, I make the objects conform to the
accepted classes,
although perhaps you could include chron as well, which is one of the
3 recommended by
Gabor
http://cran.r-project.org/doc/Rnews/Rnews_2004-1.pdf
I've put the rda here:
http://dl.dropbox.com/u/3180464/Bert20120621footp.rda
The classes are:
> class( Bert20120621footp at data$DateMCA)
[1] "Date"
> class( Bert20120621footp at data$TimeMCA)
[1] "times"
> class( Bert20120621footp at data$DateGPS)
[1] "Date"
> class( Bert20120621footp at data$TimeGPS)
[1] "times"
>
What I do to circumvent the problem:
a <- Bert20120621footp
a at data$DateMCA <- as.character(a at data$DateMCA)
a at data$TimeMCA <- as.character(a at data$TimeMCA)
a at data$DateGPS <- as.character(a at data$DateGPS)
a at data$TimeGPS <- as.character(a at data$TimeGPS)
writeOGR(a,dsn="Bert20120621footp",layer="Bert20120621footp",driver="ESRI
Shapefile",check_exists=TRUE,overwrite_layer=TRUE)
rm(a)
Thanks,
Agus
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] raster_1.9-92 sp_0.9-99
loaded via a namespace (and not attached):
[1] grid_2.15.0 lattice_0.19-30 tools_2.15.0
2012/6/24 Roger Bivand <Roger.Bivand at nhh.no>:
> On Sun, 24 Jun 2012, Agustin Lobo wrote:
>
>> writeOGR() issues an error if the Spatial Points/Polygon Dataframe
>> has any variables of classes dates or times. While I understand that
>> this is rather a problem of using a bad format (shapefile) that does not
>> accept
>> these kind of variables, I suggest
>> the developer could consider that the necessary conversion to character
>> were done automatically by writeOGR() and just issue a warning message
>> instead of an error.
>
>
> Please provide a reproducible example, and sessionInfo() output.
>
> The function already converts the standard date and time classes POSIXct,
> POSIXlt, Date and POSIXt to character. If the user chooses a non-base
> date-time representation, arguably the user should then convert to a base
> class first, otherwise rgdal would depend on zoo, xts, lubridate or
> whatever.
>
> Roger
>
>>
>> Thanks!
>>
>> Agus
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
> --
> 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
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
More information about the R-sig-Geo
mailing list