【问题标题】:Finding mesh block number using coordinates R使用坐标 R 查找网格块编号
【发布时间】:2017-05-05 10:45:23
【问题描述】:

我正在尝试查找所提供坐标的网格块编号 (MeshblockN)。所以我有两个数据集。 1. 具有唯一 ID 和坐标的数据集 A。 2. 带有网格块编号和其他详细信息的形状文件 - 数据集 B。

到目前为止,我所做的是使用readOGR() 函数将形状文件 - 数据集 B 加载到 R 中。并加载具有经纬度的数据集 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

谁能帮我继续?不知道这有什么问题。

【问题讨论】:

    标签: r geospatial


    【解决方案1】:

    由于到目前为止没有人回答这个问题,我正在更新我自己的版本,我使用 sp 包中的 over 函数解决了它。 over(A,B)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多