将栅格与 SpatialLinesDataFrame 合并
Merge Raster with SpatialLinesDataFrame
我需要加载栅格地图和 .shp
文件。
两者都通过以下方式加载到全局环境中
library(raster)
library(maptools)
library(maps)
topo <- raster("topo Europe.tif")
roads <- readShapeSpatial("roman_roads_v2008.shp")
现在我在全局环境中都有了。我可以独立绘制它们
plot(plot(topo, col=gray.colors(100), axes=F, box=F, legend=F))
plot(roads)
然而,即使我尝试像这样将它们绘制在一起,我也只能看到两者之一
plot(plot(topo, col=gray.colors(100), axes=F, box=F, legend=F))
plot(roads)
我尝试使用
合并
topo.crs <- CRS(projection(topo))
roadstopo <- spTransform(roads, topo.crs)
但我收到此错误消息。
Error in spTransform(xSP, CRSobj, ...) :
No transformation possible from NA reference system
有什么方法可以合并它们或在另一个上绘制?
对象信息
# roads
class : SpatialLinesDataFrame
features : 7154
extent : -1671176, 2800340, -587294.7, 3042248 (xmin, xmax, ymin, ymax)
coord. ref. : NA
variables : 7
names : OBJECTID, CLASS, CERTAINTY, PERIOD, HYPERLINK, SOURCE, Shape_Leng
min values : 1, Major Road, No, NA, NA, 150K, 22.07838
max values : 8900, Minor Road, YES, NA, NA, TIB, 362192.17666
# Topo
class : RasterLayer
dimensions : 4320, 6480, 27993600 (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333 (x, y)
extent : -13, 41, 29, 65 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
data source : C:\Users\Mathew\OneDrive\Archaology\Dissertation\R work\topo_Europe.tif
names : topo_Europe
values : -422, 4536 (min, max)
现在
projection(roads)<- "+proj=longlat +ellps=WGS84 +no_defs"
对象信息
# roads
class : SpatialLinesDataFrame
features : 7154
extent : -1671176, 2800340, -587294.7, 3042248 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
variables : 7
names : OBJECTID, CLASS, CERTAINTY, PERIOD, HYPERLINK, SOURCE, Shape_Leng
min values : 1, Major Road, No, NA, NA, 150K, 22.07838
max values : 8900, Minor Road, YES, NA, NA, TIB, 362192.17666
# Topo
class : RasterLayer
dimensions : 4320, 6480, 27993600 (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333 (x, y)
extent : -13, 41, 29, 65 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
data source : C:\Users\Mathew\OneDrive\Archaology\Dissertation\R work\topo_Europe.tif
names : topo_Europe
values : -422, 4536 (min, max)
他们有相同的投影,但没有一起绘制。首先绘制其中一个然后添加另一个被处理但是没有任何东西是可见的。我的绘图方式有误吗?
plot(topo, col=gray.colors(100), axes=F, box=F, legend=F)
with(roads, add=T)
正如 Val 所说,投影是错误的。更正并发布
roads <- shapefile("roman_roads_v2008.shp")
roadstrue <- spTransform(roads, crs(topo)) #Centers roads to topo
plot(topo, col=gray.colors(100), axes=F, box=F, legend=F, colNA="white")
plot(roadstrue, add= T)
导致这个情节
我需要加载栅格地图和 .shp
文件。
两者都通过以下方式加载到全局环境中
library(raster)
library(maptools)
library(maps)
topo <- raster("topo Europe.tif")
roads <- readShapeSpatial("roman_roads_v2008.shp")
现在我在全局环境中都有了。我可以独立绘制它们
plot(plot(topo, col=gray.colors(100), axes=F, box=F, legend=F))
plot(roads)
然而,即使我尝试像这样将它们绘制在一起,我也只能看到两者之一
plot(plot(topo, col=gray.colors(100), axes=F, box=F, legend=F))
plot(roads)
我尝试使用
合并topo.crs <- CRS(projection(topo))
roadstopo <- spTransform(roads, topo.crs)
但我收到此错误消息。
Error in spTransform(xSP, CRSobj, ...) : No transformation possible from NA reference system
有什么方法可以合并它们或在另一个上绘制?
对象信息
# roads
class : SpatialLinesDataFrame
features : 7154
extent : -1671176, 2800340, -587294.7, 3042248 (xmin, xmax, ymin, ymax)
coord. ref. : NA
variables : 7
names : OBJECTID, CLASS, CERTAINTY, PERIOD, HYPERLINK, SOURCE, Shape_Leng
min values : 1, Major Road, No, NA, NA, 150K, 22.07838
max values : 8900, Minor Road, YES, NA, NA, TIB, 362192.17666
# Topo
class : RasterLayer
dimensions : 4320, 6480, 27993600 (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333 (x, y)
extent : -13, 41, 29, 65 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
data source : C:\Users\Mathew\OneDrive\Archaology\Dissertation\R work\topo_Europe.tif
names : topo_Europe
values : -422, 4536 (min, max)
现在
projection(roads)<- "+proj=longlat +ellps=WGS84 +no_defs"
对象信息
# roads
class : SpatialLinesDataFrame
features : 7154
extent : -1671176, 2800340, -587294.7, 3042248 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
variables : 7
names : OBJECTID, CLASS, CERTAINTY, PERIOD, HYPERLINK, SOURCE, Shape_Leng
min values : 1, Major Road, No, NA, NA, 150K, 22.07838
max values : 8900, Minor Road, YES, NA, NA, TIB, 362192.17666
# Topo
class : RasterLayer
dimensions : 4320, 6480, 27993600 (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333 (x, y)
extent : -13, 41, 29, 65 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +no_defs
data source : C:\Users\Mathew\OneDrive\Archaology\Dissertation\R work\topo_Europe.tif
names : topo_Europe
values : -422, 4536 (min, max)
他们有相同的投影,但没有一起绘制。首先绘制其中一个然后添加另一个被处理但是没有任何东西是可见的。我的绘图方式有误吗?
plot(topo, col=gray.colors(100), axes=F, box=F, legend=F)
with(roads, add=T)
正如 Val 所说,投影是错误的。更正并发布
roads <- shapefile("roman_roads_v2008.shp")
roadstrue <- spTransform(roads, crs(topo)) #Centers roads to topo
plot(topo, col=gray.colors(100), axes=F, box=F, legend=F, colNA="white")
plot(roadstrue, add= T)
导致这个情节