ВопросMatching/Присоединение SpatialPoints с SpatialLines использованием R
У меня есть set of shapefiles для различных маршрутов автобусов (Каждый маршрут имеет 2 поездки) в Каир. Я хотел проверить, проходят ли они по определенным станциям, используя R:
Stops_Data <- readOGR("Stackoverflow Data/","Stops_Data")
Trips_Data <- readOGR("Stackoverflow Data/","Trips_Data")
plot(Trips_Data)
points(Stops_Data, col = "red")
Я пытаюсь их сопоставить с помощью функции over(). Во-первых, я уверен, что проекции идентичны.
proj4string(Trips_Data) <- proj4string(Stops_Data)
over(Stops_Data, Trips_Data)
Это только выдает NA.
Желаемая Выход
Цель состоит в том, чтобы получить таблицу, соответствующую каждую поездку с остановками он проходит мимо, и создать таблицу с помощью следующей формы:
trip_id stop_id stop_name stop_seque
45 CTA_1021_O PaM_1031_EMB Embaba 1
46 CTA_1021_O PaM_1039_KKT Kit Kat 2
47 CTA_1021_O PaM_1009_AGZ Agouza 3
48 CTA_1021_O PaM_2004_ISA Isaaf 4
49 CTA_1021_O PaM_1059_RAM Ramses 5
50 CTA_1021_O PaM_1035_GMR Ghamra 6
Возможное решение?
Я не считаю, что совпадение точек с линиями возможно даже, так как координаты почти всегда будут незначительными. Линии не имеют свободного пространства, как это делают полигоны.
Следовательно, я думаю, есть способ, чтобы конвертировать SpatialLinesDataFrame в многоугольники? Подумайте о создании многоугольника вокруг каждого маршрута автобуса шириной 100 м, и, таким образом, он, естественно, охватывает все остановки.
Итак, «100 метров» - это определение того, достаточно ли станции достаточно, чтобы линия маршрута считалась приемлемой? – hrbrmstr
В таком случае Да. –