使用坐标.查找网格块数



我正在尝试找到提供的坐标的网格屏数(meshblockn(。所以我有两个数据集。1.具有唯一ID和坐标的数据集A。2.用网格块号和其他详细信息形成文件 - 数据集b。

我到目前为止所做的事情,使用readOGR()函数加载了形状文件-DATASET B到R。并加载了具有LAT和长的数据集A。然后将坐标函数应用于数据集A。现在我有两个pts.poly <- point.in.poly(A,B)所需的输入。但是我遇到了这个错误 -

Error in data.frame(z@data, stats::na.omit(sp::over(pts, polys))) : 
  arguments imply differing number of rows: 1, 0
> head(A@data)
  row_names unique_id
1         1    2837061
> head(A@coords)
  longitude  latitude
1  170.5065 -45.86696
> head(B@data, n = 1)
   Meshblock MeshblockN AreaUnitCo AreaUnitNa      
0 MB 0352700    0352700     510402    Chelsea  

 > head(B@polygons, n = 1)
[[1]]
An object of class "Polygons"
Slot "Polygons":
[[1]]
An object of class "Polygon"
Slot "labpt":
[1] 174.72094 -36.82045
Slot "area":
[1] 2.858646e-05
Slot "hole":
[1] FALSE
Slot "ringDir":
[1] 1
Slot "coords":
           [,1]      [,2]
  [1,] 174.7181 -36.81820
  [2,] 174.7184 -36.81831
  [3,] 174.7188 -36.81824
  .
  .
[500,] 174.7241 -36.82205
 [ reached getOption("max.print") -- omitted 363 rows ]

Slot "plotOrder":
[1] 1
Slot "labpt":
[1] 174.72094 -36.82045
Slot "ID":
[1] "0"
Slot "area":
[1] 2.858646e-05

有人可以帮我继续吗?不确定这是怎么回事。

由于没有人回答此问题,所以我正在更新自己的版本,因此我使用SP软件包中的function解决了它。over(A,B)

最新更新