0

我正在尝试从 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
4

0 回答 0