1
У меня есть шейп-файл, и я бы хотел найти многоугольник, содержащий список точек. Например,В R найдите многоугольник, содержащий точку - Shapefile
rio <- readShapeSpatial("setores_rio.shp")
bairrorio.fort<- fortify(rio , region = "neighborhood")
head(bairrorio.fort)
long lat order hole piece group id
1 -43.17769 -22.91814 1 FALSE 1 330455705001.1 330455705001
2 -43.17771 -22.91814 2 FALSE 1 330455705001.1 330455705001
3 -43.17771 -22.91808 3 FALSE 1 330455705001.1 330455705001
4 -43.17793 -22.91811 4 FALSE 1 330455705001.1 330455705001
5 -43.17811 -22.91768 5 FALSE 1 330455705001.1 330455705001
6 -43.17802 -22.91766 6 FALSE 1 330455705001.1 330455705001
Предположим, что p = c (long, lat) является точкой с длинной локализацией lat. Я хотел бы найти id (окрестности) (см. Bairrorio.fort), содержащий точку p.
'bairrorio.fort [bairrorio.fort $ долго == долго и bairrorio.fort $ == Lat Lat, "идентификатор"]' даст то, что вы хотите – user227710
проверить 'over()' в пакете sp. – cory
Вы уверены, что точка p = c (long, lat) может быть любой точкой? Он не работает ... Я думаю, что ваше предложение может работать только для точки в bairrorio.fort, тем не менее, когда я бегу с p = c (-43.17769 -22.91814) (см. Первый ряд bairrorio.fort) результат is> bairrorio.fort [bairrorio.fort $ long == -43.17769 & bairrorio.fort $ lat == -22.91814, "id"] character (0) – Vasco