[R-sig-Geo] write/readOGR issue with date / time strings

Alex Mandel tech_dev at wildintellect.com
Sat Nov 12 01:04:13 CET 2011


Shapefiles, specifically dbf tables, do not support Date/Time fields -
well at least date & time in the same field. You must set your column as
Posix type or Character before export to ensure the values are written
as a text column in the dbf file.

Enjoy,
Alex

On 11/11/2011 03:16 PM, Corrie Curtice wrote:
> 
>> sessionInfo()
> R version 2.13.1 (2011-07-08)
> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
> 
> locale:
> [1] C/en_US.UTF-8/C/C/C/C
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> other attached packages:
> [1] rgdal_0.7-1 sp_0.9-84
> 
> loaded via a namespace (and not attached):
> [1] grid_2.13.1     lattice_0.19-30 tools_2.13.1
> 
> I installed rgdal and PROJ4 as follows:
> 
> setRepositories(ind=1:2)
> install.packages("rgdal")
> install.packages("PROJ.4")
> 
> 
> 
> Thanks,
> 
> Corrie
> 
> 
> 
> On 11/11/11 5:31 PM, "Roger Bivand" <Roger.Bivand at nhh.no> wrote:
> 
>> On Fri, 11 Nov 2011, Corrie Curtice wrote:
>>
>>> Hello,
>>>
>>> Apologies if this has already been addressed somewhere, I did a brief
>>> search
>>> of archives but didn't find quite this issue.
>>
>> Which versions of what are you using? You should provide the output of
>> sessionInfo(), the messages given when rgdal loads, and details of how
>> you 
>> installed rgdal. In addition, a use case would be helpful, but only when
>> we know what version you are using. In current rgdal, data frame columns
>> of class POSIXt are converted to character strings before writing with
>> writeOGR().
>>
>> Roger
>>
>>>
>>> I'm writing out an ESRI shapefile.  My spdf has a date/time field.
>>> Looks
>>> like this:
>>>
>>>> head(spdfUTM at data)
>>>           krillGMTtime          Lat          Lon
>>> 1   2010-05-12 12:34:21 -64.67655969 -62.15040195
>>> 21  2010-05-12 12:35:12  -64.6771229  -62.1519511
>>> 38  2010-05-12 12:36:02 -64.67775863 -62.15340614
>>> 57  2010-05-12 12:36:53 -64.67838269 -62.15494829
>>> 78  2010-05-12 12:37:43 -64.67901497 -62.15647203
>>> 100 2010-05-12 12:38:37 -64.67973667 -62.15773224
>>>
>>> All three fields are reported to be "factors" by str.  writeOGR appears
>>> happy:
>>>
>>>> writeOGR(spdfUTM,dd,layer="krillPoints-UTM",driver="ESRI
>>> Shapefile",verbose=TRUE,overwrite=TRUE)
>>> $object_type
>>> [1] "SpatialPointsDataFrame"
>>> $output_dsn
>>> [1] "/users/corriecurtice/documents/Data_2010/Shapefiles/"
>>> $output_layer
>>> [1] "krillPoints-UTM"
>>> $output_diver
>>> [1] "ESRI Shapefile"
>>> $output_n
>>> [1] 11179
>>> $output_nfields
>>> [1] 3
>>> $output_fields
>>> [1] "krillGMTtime" "Lat"          "Lon"
>>> $output_fclasses
>>> [1] 4 4 4
>>> $dataset_options
>>> NULL
>>> $layer_options
>>> NULL
>>> Warning message:
>>> In writeOGR(spdfUTM, dd, layer = "krillPoints-UTM", driver = "ESRI
>>> Shapefile",  :
>>>  existing layer removed
>>>
>>> When I read it right back in again, the date/time field is NAs.  This is
>>> also true if I load the shapefile into ArcMap.
>>>
>>>> foo <- readOGR(dd,layer="krillPoints-UTM",verbose=TRUE)
>>> OGR data source with driver: ESRI Shapefile
>>> Source: "/users/corriecurtice/documents/Data_2010/Shapefiles/", layer:
>>> "krillPoints-UTM"
>>> with 11179 features and 3 fields
>>> Feature type: wkbPoint with 2 dimensions
>>>
>>>> head(foo at data)
>>>  krillGMTti          Lat          Lon
>>> 1       <NA> -64.67655969 -62.15040195
>>> 2       <NA>  -64.6771229  -62.1519511
>>> 3       <NA> -64.67775863 -62.15340614
>>> 4       <NA> -64.67838269 -62.15494829
>>> 5       <NA> -64.67901497 -62.15647203
>>> 6       <NA> -64.67973667 -62.15773224
>>>
>>> Thoughts? Am I missing something obvious?
>>>
>>> I can break it up into separate date and time fields, but since the
>>> field is
>>> simply a factor anyways I'm not sure how that would help.
>>>
>>> Cheers,
>>>
>>> Corrie
>>>
>>> ---
>>> Corrie Curtice
>>> Research Analyst
>>> Marine Geospatial Ecology Lab
>>> Nicholas School of the Environment, Duke University
>>> http://mgel.env.duke.edu
>>> em: corrie.curtice at duke.edu
>>> ph: 252-504-7538
>>>
>>>
>>>
>>>
>>>     [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> 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