Краткое описание проблемы
У меня есть файл json (свободный от Uber Movement), который содержит идентификаторы (от 1 до 107). Кроме того, у меня есть фрейм данных с 2 столбцами - широтой и долготой.
Файл JSON-файла содержит полигоны с кординатами. 107 идентификаторов, представляющих 107 полигонов, т.е. 1,2,3 ... 107. Используя фрейм данных с 2 столбцами, т. Е. Широтой и долготой, я хочу вернуть 3-й столбец, представляющий многоугольник или идентификатор, который ограничивает широту и длину.
Подробная информация о файле JSON #
Бесплатный файл JSON от Uber движения составляет всего 256 КБ. Вот ссылка Uber для загрузки файла. Это последний файл на странице и единственный файл json в разделе «Границы шестнадцатеричных кластеров». Имя файла: 540_sublocations.json
#Load json. There might be a different approach
uber_json <- fromJSON(file = "540_sublocations.json")
uber_json
List of 2
$ type : chr "FeatureCollection"
$ features:List of 107
..$ :List of 3
.. ..$ type : chr "Feature"
.. ..$ properties:List of 2
.. .. ..$ DISPLAY_NAME: chr "Kiwanja"
.. .. ..$ MOVEMENT_ID : chr "1"
.. ..$ geometry :List of 2
.. .. ..$ type : chr "Polygon"
.. .. ..$ coordinates:List of 1
.. .. .. ..$ :List of 179
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.
.
.
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
.. .. .. .. ..$ : num [1:2] 36.9 -1.16
Строка выше с MOVEMENT_ID, равным 1, просто означает, что идентификатор равен 1. Таких данных 107.
Сведения о фрейме данных
df <- data.frame(Lat = c(-1.318,-1.351,-1.308), Long = c(36.83,36.89,36.84))
df
Lat Long
1 -1.318 36.83
2 -1.351 36.89
3 -1.308 36.84
Ожидаемый результат
Я хочу проверить каждую строку во фрейме данных, чтобы увидеть, какой полигон находится в файле json, т.е. какой идентификатор (от 1 до 107).
Ниже приведен пример ожидаемого выхода. Обратите внимание, что идентификаторы здесь приведены только в качестве примеров, а не фактов.
df
Lat Long ID
1 -1.318 36.83 107
2 -1.351 36.89 56
3 -1.308 36.84 88