如何使用 R 中 rgdal 包中的 readOGR 从 shapefile 读取结果?

How to read results from a shapefile using readOGR from the rgdal package in R?

所以我很容易阅读我的 shapefile:

shape<-readOGR(".","shapefile")

然后如果我执行 head(shape,1) 我会得到以下结果:

An object of class "SpatialLinesDataFrame"
Slot "data":
  ID NAME PROJECT       UP      DOWN
0  1   X    05076     110468    38282
Slot "lines":
[[1]]
An object of class "Lines"
Slot "Lines":
[[1]]
An object of class "Line"
Slot "coords":
        [,1]     [,2]
[1,] 1824583 547917.9
[2,] 1824544 547437.1

Slot "ID":
[1] "0"

Slot "bbox":
        min       max
x 1824543.9 1824583.4
y  547437.1  547917.9

Slot "proj4string":
CRS arguments: NA 

所以获取数据很容易,我只需要做 shape$NAME 就可以从数据中获取所有的名字。

但我不知道如何访问它说 Slot "coords" 的地方,这是我想要访问的...或者就此而言,我如何访问不在数据槽?

换句话说,我想读取 shapefile 并得到一个等于 1824583 的变量,这是坐标槽矩阵的左上角值。

有人可以帮忙吗?

我们可以使用 @ 访问插槽。这里我以meuse数据集为例。

library(sp)

data(meuse)
coordinates(meuse) <- ~x+y
proj4string(meuse) <- CRS("+init=epsg:28992")

head(meuse@coords)
#        x      y
# 1 181072 333611
# 2 181025 333558
# 3 181165 333537
# 4 181298 333484
# 5 181307 333330
# 6 181390 333260

meuse@coords[1, 1]
# [1] 181072