在 R 中使用 SP 包查找哪些多边形包含哪些点时出现问题



>我有一组要点:

> head(Map3)
SpatialPoints:
lat      long
Cincinnati OH 39.10312 -84.51202
Dayton OH     39.75895 -84.19161
Lexington KY  38.04058 -84.50372
Zanesville OH 39.94035 -82.01319
Louisville KY 38.25266 -85.75846
Columbus OH   39.96118 -82.99879
Coordinate Reference System (CRS) arguments: +proj=utm +zone=10 +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 

还有一组称为shape的多边形,它们是美国的区域(DMA(。

它们具有相同的坐标系,我知道它们重叠:

> proj4string(shape)
[1] "+proj=utm +zone=10 +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
>   proj4string(Map3)
[1] "+proj=utm +zone=10 +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
> bbox(Map3 )
min       max
lat    21.30694  64.83778
long -157.85833 -68.77781
>   bbox(shape )
min       max
x -124.73297 -66.94932
y   24.54424  49.38436

它们似乎也有相似的范围(纬度/经度似乎顺序正确(:

>   range(Map3@bbox)
[1] -157.85833   64.83778
>   range(shape@bbox)
[1] -124.73297   49.38436

但是当我尝试获取包含点的多边形时,我什么也得不到:

> indices <- over(Map3,shape)
> head(indices)
NAME PHshare Rank PUSA  DMA USTV CPHShare Hrank HTV markets marketpop Dmoney Rmoney Dpc Rpc AdsPC adrepshare fraction split
Cincinnati OH <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA
Dayton OH     <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA
Lexington KY  <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA
Zanesville OH <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA
Louisville KY <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA
Columbus OH   <NA>      NA   NA   NA <NA>   NA       NA    NA  NA    <NA>        NA     NA     NA  NA  NA    NA         NA       NA    NA

不确定问题是什么 - 我只想找出哪些区域包含这些点。

如果问题是经度/经度的顺序,我将如何扭转这种情况?

这是数据

您确定在空间点中正确指定经度为 x,纬度指定为 y 吗?
您的bbox输出顺序不同,所以我想这是错误的。

编辑: 您的点数据的 bbox 顺序不正确。您应该按原样导入 csv 文件:

library(sp)
Map3 <- read.csv("stackdata/points.csv")
coordinates(Map3) <- ~lon+lat
bbox(Map3)

如果在形状文件上绘制点,则应查看它们是否叠加。

plot(shape)
points(Map3)

相关内容

最新更新