error for converting between KML and Shape file
On Thu, Dec 10, 2009 at 8:17 PM, rusers.sh <rusers.sh at gmail.com> wrote:
Hi all,
?I try to use the readOGR and writeOGR in rgdal package to do the
conversion KML and Shape files, but failed. Following is my codes for a
simulated dataset.
#library(rgdal);library(maptools);ogrDrivers()
#generate a simulated point SHAPE file,its name is "pointexamle0" and save
in "h:/example".
x<-runif(5)*180;y<-runif(5)*90
pointsam<-SpatialPoints(data.frame(x,y), proj4string=CRS("+proj=longlat
+ellps=WGS84"))
write.pointShape(coordinates(pointsam), df=as(pointsam, "data.frame"),
file="h:/example/pointexamle0")
#1. Conver SHAPE file to KML file
importshp <- readOGR(dsn="h:/example",layer="pointexamle0") #correct
proj4string(importshp)<-CRS("+proj=longlat +ellps=WGS84")
writeOGR(obj=importshp,dsn="h:/example",driver="KML",layer="output")
?#????Errors
#Error in writeOGR(obj = importshp, dsn = "h:/example", driver = "KML", ?:
? ? ? ? ?GDAL Error 4: Failed to create KML file h:/example.
The devil, as we say, is in the details (which for some reason are truncated!):
Details:
Working out which combination of dsn, layer, and driver (and
option) values give the desired output takes time and care, and is
constrained by the ability of drivers to write output; many ar
The parameters for writeOGR are:
writeOGR(object, fileName, layerName,driver="KML")
Here 'object' is your R Spatial Points/Poly/etc, 'fileName' is the
path (including filename) for your output KML, and 'layerName' is a
label that your layer will get in the KML - you'll see this in the
layer list in Google Earth, for example.
Example:
writeOGR(myPoints,"/tmp/test.kml","TestLayer",driver="KML")
Barry