On Mon, 6 Jul 2009, Agustin Lobo wrote:
I'm trying to write an SpatialPointsDataFrame object as
GPX. I do:
writeOGR(wpcast1SPDF,dsn="/media/Transcend/MONTSENY2008/MONTSENY_UAV2/GPX",layer="wpcast1lonlat",driver="GPX")
Error in writeOGR(wpcast1SPDF, dsn =
"/media/Transcend/MONTSENY2008/MONTSENY_UAV2/GPX", :
GDAL Error 6: Field of name 'coords.x1' is not supported in GPX schema.
Use GPX_USE_EXTENSIONS creation option to allow use of the <extensions>
element.
Which would be valid Field of name 'coords.x1'? I've tried reading
http://www.topografix.com/GPX/1/1/
but it's really hard to understand.
Yes, hard to understand, but that's ontology in the GIScience sense,
it's certainly clear to the people who wrote it (I hope!). Try this:
library(sp)
load("fl1.rda")
pts <- spsample(fl1, n=50, offset=0.0, type="regular")
crds <- coordinates(pts)
SPDF <- SpatialPointsDataFrame(pts, data=as.data.frame(crds))
names(SPDF)
library(rgdal)
writeOGR(spTransform(SPDF, CRS("+proj=longlat +datum=WGS84")),
dsn="fl1sp_pts.gpx", layer="waypoints", driver="GPX",
dataset_options="GPX_USE_EXTENSIONS=yes")
summary(readOGR(dsn="fl1sp_pts.gpx", layer="waypoints"))
so three things: the GPX driver in OGR only seems to accept
geographical coordinates; you needed layer="waypoints" - it accepts
any value for writing, but readOGR() only takes the five enumerated on
the OGR GPX page; and it is dataset_options="GPX_USE_EXTENSIONS=yes"
(or YES), not layer_options=.
The last was the key problem, but it then failed on coordinates
outside the range of geographical coordinates. The layer name is not
used, so maybe best to stay with the most appropriate of the five
values accepted for reading.
Roger
I've also tried to add layer_options="GPX_USE_EXTENSIONS=YES"
according to
http://www.gdal.org/ogr/drv_gpx.html
"GPX_USE_EXTENSIONS: By default, the GPX driver will discard attribute
fields that do not match the GPX XML definition (name, cmt, etc...).
If GPX_USE_EXTENSIONS=YES is specified, extra fields will be written
inside the<extensions> tag."
but still get the same error (and, ultimately, I'm not sure this would
actually solve the problem, the best would be using the "valid Field of
name coords.x1"):
writeOGR(wpcast1SPDF,dsn="/media/Transcend/MONTSENY2008/MONTSENY_UAV2/wpscastlonlat.gpx",layer="wpcast1lonlat",driver="GPX",layer_options="GPX_USE_EXTENSIONS=YES")
Error in writeOGR(wpcast1SPDF, dsn =
"/media/Transcend/MONTSENY2008/MONTSENY_UAV2/wpscastlonlat.gpx", :
GDAL Error 6: Field of name 'coords.x1' is not supported in GPX schema.
Use GPX_USE_EXTENSIONS creation option to allow use of the <extensions>
element.
Any help appreciated,
Agus