我试图使用plot()函数覆盖2个空间对象。据我所知,2个对象(类SpatialLinesDataFrame和SpatialPolygonsDataFrame)的投影必须是相同的,才能让它们在同一个图中可视化。我发现类似的问题here和here,但这些都不能帮助我实现我想要的。r - 匹配空间对象和覆盖图的空间投影
这是SpatialPolygonsDataFrame的编码。 (v.map是.KML文件和loccoor的列表被存储的位置和相应的x和y坐标的对象):
map.l<-list()
for (i in 1:length(v.map)){
ll<-ogrListLayers(paste(loccoor,"/",v.map[i],".kml",sep=""))
shp<-readOGR(paste(loccoor,"/",v.map[i],".kml",sep=""),layer=ll)
map<-spTransform(shp, CRS("+proj=longlat +datum=WGS84"))
map.l[[i]]<-map
}
plot(map.l[[1]],xlim=c(min(coor[,3]),max(coor[,3])),
ylim=c(min(coor[,2]),max(coor[,2])))
for (i in 2:length(v.map)){
plot(map.l[[i]],xlim=c(min(coor[,3]),max(coor[,3])),
ylim=c(min(coor[,2]),max(coor[,2])),add=T)
}
投影SpatialPolygonsDataFrame “地图”:"+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
投影SpatialLinesDataFrame “轮廓” :"+proj=aeqd +ellps=WGS84 +lon_0=-XX.XXXXX +lat_0=XX.XXXXX"
。
我想转换“地图”对象的投影以匹配“轮廓”的投影。简单地将“地图”对象的"CRS("+proj=longlat +datum=WGS84")"
替换为“轮廓”对象的投影似乎不起作用,因为然后多边形不再被绘制(可见)。
任何想到这一点将不胜感激!
地图和轮廓是否独立地绘制得很好? –
是的,这是正确的。 – FlyingDutch