Dear r-sig-geo, I am having a problem writing a GML file. The file I am trying to use is a .csv that looks like this. I apologize that I am not sure how to efficiently post this file to the list.
> str(floras) 'data.frame': 86 obs. of 47 variables: $ ref.num : Factor w/ 85 levels "10132","10185",..: 69 29 35 48 60 23 67 68 8 59 ... $ Flora : Factor w/ 76 levels " LaVerne Smith 1977",..: 41 67 40 4 34 47 73 71 33 69 ... $ Short.Name : Factor w/ 86 levels "Andrews Bald",..: 55 7 18 48 9 39 68 38 40 79 ... $ Field.Year : int 2006 1972 1984 1987 1969 1978 2003 2003 1915 1994 ... $ State : Factor w/ 2 levels "NC","SC": 1 1 1 1 1 1 1 1 1 1 ... $ State2 : Factor w/ 6 levels "","GA","NC","SC",..: 1 1 1 1 1 1 1 1 1 1 ... $ State3 : Factor w/ 2 levels "","SC": 1 1 1 1 1 1 1 1 1 1 ... $ County1 : Factor w/ 43 levels "","Alleghany",..: 3 3 23 4 2 39 20 16 20 15 ... $ County2 : Factor w/ 26 levels "","`","Alleghany",..: 1 1 1 1 1 4 1 1 1 1 ... $ County3 : Factor w/ 13 levels "","Brunswick",..: 1 1 1 1 1 1 1 1 1 1 ... $ County4 : Factor w/ 7 levels "","Cumberland",..: 1 1 1 1 1 1 1 1 1 1 ... $ County5 : Factor w/ 3 levels "","Blount, TN",..: 1 1 1 1 1 1 1 1 1 1 ... $ Families : int 108 88 97 91 71 76 101 85 95 52 ... $ FamCalc : int NA 110 111 98 77 85 NA NA NA NA ... $ Genera : int 381 348 327 272 197 222 305 223 336 81 ... $ GeneraCalc : int NA 368 344 284 207 232 NA NA NA NA ... $ species : int 695 677 596 430 328 355 519 346 659 106 ... $ spp.Calc : int 696 693 590 426 327 353 NA NA NA NA ... $ taxa : int 702 681 604 431 333 355 521 353 665 107 ... $ native.sp : int 537 589 534 375 302 317 440 280 620 104 ... $ exotic.sp : int 158 88 62 55 26 38 79 66 39 2 ... $ exotic.taxa..if.different.: int NA NA NA NA NA NA NA NA NA NA ... $ per.exotics.sp : num 22.73 13 10.4 12.79 7.93 ... $ lat.cent.N : num 36.4 36.4 35.1 36 36.4 ... $ long.cent.W : num -81.5 -81.6 -83.5 -81.8 -81.1 ... $ min.lat.s : num 36.4 36.4 35 36 36.4 ... $ max.lat.n : num 36.4 36.4 35.1 36.1 36.5 ... $ max.long.e : num -81.5 -81.5 -83.4 -81.8 -81 ... $ min.long.w : num -81.5 -81.6 -83.5 -81.9 -81.1 ... $ min.elev : num 1067 1050 670 549 484 ... $ max.elev : num 1427 1522 1575 1219 1227 ... $ mid.elev : num 1247 1286 1122 884 856 ... $ elev.range : num 361 472 905 671 743 ... $ area.ha : num 368 2849 1626 2308 484 ... $ physio : Factor w/ 3 levels "CP","MT","PD": 2 2 2 2 2 2 2 3 2 2 ... $ tax.concept : Factor w/ 36 levels "","?RAB","Britton & Brown 1896?, Chapman 1897",..: 33 21 22 30 21 21 14 14 4 34 ... $ prim.herb : Factor w/ 21 levels "","BOON","Carl Sandburg Home NHS",..: 2 9 20 8 10 10 3 7 4 20 ... $ other.herbaria : Factor w/ 18 levels "","BRP-NPS","DUKE",..: 1 15 1 1 1 1 1 1 7 1 ... $ political : Factor w/ 7 levels "","county","military",..: 5 6 5 5 6 6 5 5 2 5 ... $ preserve.type : Factor w/ 18 levels "","Botanical",..: 11 1 4 5 1 1 7 7 1 8 ... $ pub.type : Factor w/ 8 levels "","Book","Dissertation",..: 7 5 4 7 7 5 6 6 5 5 ... $ Vouchers : int 1167 NA NA NA NA NA NA NA NA NA ... $ Entered. : Factor w/ 2 levels "","Y": 2 2 2 2 2 2 1 1 1 1 ... $ Stats. : Factor w/ 2 levels "","Y": 2 2 2 2 2 2 2 2 2 2 ... $ Bib.Checked : Factor w/ 3 levels "","N","Y": 3 3 3 3 3 3 3 3 3 3 ... $ island : logi NA NA NA NA NA NA ... $ Notes : Factor w/ 33 levels "","A few taxa were excluded from counts because they were labeled as cultivated. The Supplement (Sieren 1982b) does not include ne"| __truncated__,..: 1 24 1 1 17 19 28 1 1 20 ... I was able to make a SpatialPointsDataFrame just fine with the following commands. > library(rgdal) > coordinates(floras) = c('long.cent.W','lat.cent.N') > class(floras) [1] "SpatialPointsDataFrame" attr(,"package") [1] "sp" but when I run writeOGR, I get an error > writeOGR(floras,paste(getwd(),'florasTEST.gml',sep='/'),'floras', driver = > 'GML') Error in writeOGR(floras, paste(getwd(), "florasTEST.gml", sep = "/"), : unknown data type I am not sure why this is not working. I suspect that there may be a problem with my file since it has many rows and columns with no values. But... The following reproducible example does work without problems. library(rgdal) ex <- data.frame(fl = LETTERS[1:4], lat = c(36.4, 36.3908, 35.055, 36.0226), long = c(-81.4614, -81.5717, -83.455, -81.8264), d = c('','blah','blah','')) coordinates(ex) = c('long','lat') class(ex) plot(ex) # it works! writeOGR(ex,paste(getwd(),'flTEST.gml',sep='/'),'fl', driver = 'GML') # and can be read back in fl <- readOGR(dsn = paste(getwd(),'flTEST.gml',sep='/'), layer = 'fl') plot(fl) Any advise would be most appreciated, Michael > sessionInfo() R version 2.10.1 (2009-12-14) x86_64-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] rgdal_0.6-20 sp_0.9-44 loaded via a namespace (and not attached): [1] grid_2.10.1 lattice_0.17-26 tools_2.10.1 -- Michael Denslow I.W. Carpenter Jr. Herbarium [BOON] Department of Biology Appalachian State University Boone, North Carolina U.S.A. -- AND -- Communications Manager Southeast Regional Network of Expertise and Collections sernec.org 36.214177, -81.681480 +/- 3103 meters _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo