Create and write a KML file on the basis of a given Lines object
The function is used to create and write a KML file on the basis of a given Lines object (a list of Line objects) for the usage in Google Earth resp. Google Maps.
kmlLine(obj=NULL, kmlfile=NULL, name="R Line", description="", col=NULL, visibility=1, lwd=1, kmlname="", kmldescription="")
obj |
a |
kmlfile |
if not |
name |
the name of the KML line |
description |
the description of the KML line (HTML tags allowed) |
col |
the stroke color (see also Color Specification) of the KML line |
visibility |
if set to |
lwd |
the stroke width for the KML line |
kmlname |
the name of the KML layer |
kmldescription |
the description of the KML layer (HTML tags allowed) |
The function is used to convert a given Lines
object (a list of Line objects) or the first Lines
object listed in a passed SpatialLinesDataFrame
object into KML line(s). If kmlfile
is not NULL
the result will be written into that file. If kmlfile
is NULL
the generated KML lines will be returned (see also value).
For a passed Lines
object the function generates a <Style> tag whereby its id attribute is set to the passed object's ID.
Note that the geometries should be in geographical coordinates with datum WGS84.
The resulting KML line will be embedded in <Placemark><MultiGeometry><LineString>
.
x is a list with the elements style
and content
containing the generated lines of the KML file as character vectors if kmlfile
is NULL
.
y is a list with the elements header
and footer
representing the KML file' header resp. footer if obj
is NULL
.
The following color specifications are allowed: 'red'
, 2
, or as hex code '#RRGGBB'
resp. '#RRGGBBAA'
for passing the alpha value.
Hans-J. Bibiko
xx <- readShapeSpatial(system.file("shapes/fylk-val-ll.shp", package="maptools")[1], proj4string=CRS("+proj=longlat +ellps=WGS84")) out <- sapply(slot(xx, "lines"), function(x) { kmlLine(x, name=slot(x, "ID"), col="blue", lwd=1.5, description=paste("river:", slot(x, "ID"))) }) tf <- tempfile() kmlFile <- file(tf, "w") tf cat(kmlLine(kmlname="R Test", kmldescription="<i>Hello</i>")$header, file=kmlFile, sep="\n") cat(unlist(out["style",]), file=kmlFile, sep="\n") cat(unlist(out["content",]), file=kmlFile, sep="\n") cat(kmlLine()$footer, file=kmlFile, sep="\n") close(kmlFile)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.