Thanks Dr. Bivand, I was able to import my kml file using your example. I opened up the kml file in a text editor to find out the layer name, but system(paste("ogrinfo", paste(td, "cities.kml", sep="/")), intern=TRUE) also works to find the name.
As for modifying ogrinfo(), I will take a look and see if it is above my skill level or not. Wade On Fri, May 28, 2010 at 3:29 AM, Roger Bivand <roger.biv...@nhh.no> wrote: > On Thu, 27 May 2010, Wade Wall wrote: > >> I am not exactly sure what you mean by identify the correct layer >> name. Using R under Linux, this is what happens. >> >> I have a file in the current directory named ASMI_GA.kml >> >> library(rgdal) >> tmp<-readOGR(".", layer="ASMI_GA.kml") >> >> However, I get the following message. >> >> Error in ogrInfo(dsn = dsn, layer = layer, input_field_name_encoding = >> input_field_name_encoding) : >> Cannot open file > > That is what I said. Each driver has its own understanding of what the dsn= > and layer= arguments are, and your usage doesn't match what the driver is > expecting. The dsn= for the KML driver seems to be the file name (possibly > with its complete path), and the layer= is the string in the: > > <Document><Folder><name>cities</name> > > line (conditional on the writing software using a similar logic to OGR), > here in this example: > > library(rgdal) > cities <- readOGR(system.file("vectors", package = "rgdal")[1], "cities") > is.na(cities$POPULATION) <- cities$POPULATION == -99 > summary(cities$POPULATION) > td <- tempdir() > writeOGR(cities, paste(td, "cities.kml", sep="/"), "cities", driver="KML") > xx <- readOGR(paste(td, "cities.kml", sep="/"), "cities") > > How one discovers this name is not obvious, since the KML driver in OGR > needs it to access the file. One possibility is: > > system(paste("ogrinfo", paste(td, "cities.kml", sep="/")), intern=TRUE) > > which lists the layer name(s). Perhaps ogrInfo() could be revised to access > the dsn in the same way when not given a layer= argument to discover layer > names - anyone with lots of time on their hands like to help? > > Roger > > PS. ogrDrivers() lists the drivers seen by OGR as running in rgdal, but for > drivers with write but not read capability, it cannot distinguish. In that > case, you only find out if a read driver is present and has its external > dependencies properly satisfied by using it, I'm afraid. The example above > will show whether your rgdal/GDAL/Expat do work or not. > >> >> I have expat XML parser installed and gdal. This probably sounds >> rather stupid, but I am not sure what the following means in the link >> that Dr. Bivand provided: "KML reading is only available if GDAL/OGR >> is built with the Expat XML Parser, otherwise only KML writing will be >> supported." I installed both as debian packages (using get-apt). >> Should I install both from source code, Expat XML Parser first and >> then GDAL? >> >> Sorry if I seem dense here, but it is not real clear to me. Also, >> even though this may be beyond the scope of R-sig-geo, I think that >> other people are also struggling with this. >> >> Thanks for any help. >> >> Wade >> >> >> On Thu, May 27, 2010 at 2:15 PM, Roger Bivand <roger.biv...@nhh.no> wrote: >>> >>> On Thu, 27 May 2010, rick reeves wrote: >>> >>>> I do note that the example I provided does not demonstrate how to READ a >>>> KML >>>> file into R. But, SOON, I plan to modify the example to demonstrate >>>> reading of KMLs >>>> into some R-compatible format. >>> >>> readOGR() does read KML files, but you do have to identify the correct >>> layer >>> name - see: >>> >>> http://www.gdal.org/ogr/drv_kml.html >>> >>> Roger >>> >>>> >>>> RR >>>> >>>> On 5/27/2010 10:15 AM, Wade Wall wrote: >>>>> >>>>> Hi all, >>>>> >>>>> Does anyone have experience reading and writing KML files in R? I >>>>> have seen several threads that seem to suggest that it is difficult if >>>>> not impossible, but it is convenient to use KML files when working >>>>> with Google Earth and inconvenient to read and write shapefiles and >>>>> then convert to KML using other software. >>>>> >>>>> If anyone is able to read and write KML files, if they could provide a >>>>> description of how to do it, I am sure a lot of people would >>>>> appreciate it. I have tried to do so under both Windows and Linux to >>>>> no avail. The Windows approach looks more difficult, judging by the >>>>> readme file associated with rgdal. >>>>> >>>>> Thanks, >>>>> >>>>> Wade >>>>> >>>>> _______________________________________________ >>>>> R-sig-Geo mailing list >>>>> R-sig-Geo@stat.math.ethz.ch >>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo >>>>> >>>>> >>>> >>>> >>>> >>> >>> -- >>> 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 >>> >>> >> > > -- > 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