我正在尝试从 csv 文件生成一个 kml 文件,以便可以在 Google 地球中绘制它。我正在使用在另一个帮助部分中找到的这段代码,它似乎可以很好地生成 kml,但绘制的点是错误的。
library("sp")
library("rgdal")
data(meuse)
coordinates(meuse) <- c("x", "y")
proj4string(meuse) <- CRS("+init=epsg:28992")
meuse_ll <- spTransform(meuse, CRS("+proj=longlat +datum=WGS84"))
writeOGR(meuse_ll["zinc"], "meuse.kml", layer="zinc", driver="KML")
第一个解决办法是去掉小数位,这把我从法国带到了新西兰,但分数仍然相差很大。他们不是在新西兰奥克兰以北,而是在查塔姆群岛以南。我怀疑我正在处理投影未匹配或软糖因素问题。我还尝试从这里复制 zip 文件:http : //trac.osgeo.org/proj/ 使用 NZGD49 希望它会起作用,但它会引发此错误:
meuse_ll2 <- spTransform(test, CRS("+proj=longlat +datum=NZGD49"))
#Error in spTransform(test, CRS("+proj=longlat +datum=NZGD49")) :
# error in evaluating the argument 'CRSobj' in selecting a method for function 'spTransform': Error in CRS("+proj=longlat +datum=NZGD49") :
#unknown elliptical parameter name
那么有什么想法可以解决吗?
示例数据:
Date Time Latitude1 Longitude1
27/09/2013 12:18:02 -36.67593 174.429688
27/09/2013 12:18:03 -36.675892 174.42981