У меня есть dataframe, который содержит несколько столбцов, содержащих длинные координатные пары длин. Я хочу построить их на карте, используя пакет листовок, чтобы посмотреть, как выглядят мои данные.Построение lat long info в dataframe или vector with Leaflet
> str(siteCoor)
'data.frame': 3122 obs. of 18 variables:
$ Longitude: num -8.61 -8.61 -8.61 -8.61 -8.61 ...
$ Latitude : num 52.7 52.7 52.7 52.7 52.7 ...
$ 1 : num -8.6 -8.6 -8.6 -8.58 -8.58 ...
$ 2 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 3 : num -8.61 -8.61 -8.61 -8.58 -8.58 ...
$ 4 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 5 : num -8.62 -8.62 -8.62 -8.58 -8.58 ...
$ 6 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 7 : num -8.62 -8.62 -8.62 -8.59 -8.59 ...
$ 8 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 9 : num -8.63 -8.63 -8.63 -8.59 -8.59 ...
$ 10 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 11 : num -8.63 -8.63 -8.63 -8.6 -8.6 ...
$ 12 : num 52.7 52.7 52.7 52.7 52.7 ...
$ 13 : num -8.64 -8.64 -8.64 -8.6 -8.6 ...
$ 14 : num 52.7 52.7 52.7 52.7 52.7 ...
$ Longitude: num -8.61 -8.61 -8.61 -8.61 -8.61 ...
$ Latitude : num 52.7 52.7 52.7 52.7 52.7 ...
Я хотел бы построить 'долгота' & 'широта', 1 & 2, 3 & 4, 5 & 6, 7 & 8, 9 & 10, 11 & 12, 13 & 14 и 'долгота' & «Локатор» по строкам для просмотра всего списка. Он должен следовать этой последовательности, чтобы полигон имел смысл.
Посмотрев на помощь для функции addPolygons в R, я вижу, что и lat, и long должны быть в векторном формате.
Ниже приведен код, который я использую, но когда я преобразовал dataframe в векторный формат (используя двойные квадратные скобки), у меня есть ошибка, которую я не могу понять. Я также попытался использовать функцию as.vector, но я не мог заставить его работать.
Не могли бы вы предоставить немного указания?
map <- leaflet() %>%
addTiles() %>%
addPolygons(lng=siteCoor[[,c(1,3,5,7,9,11,13,15,17)]],lat=siteCoor[[,c(2,4,6,8,10,12,14,16,18)]])
ошибка я получаю, когда я бегу это:
Error in .subset2(x, ..2, exact = exact) :
recursive indexing failed at level 2
Мои данные выглядят следующим образом:
> head(siteCoor[,c(1,3,5,7,9,11,13,15,17)])
Longitude 1 3 5 7 9 11 13 Longitude.1
1 -8.609117 -8.602693 -8.609117 -8.615541 -8.621770 -8.627613 -8.632894 -8.637452 -8.609117
2 -8.609117 -8.602693 -8.609117 -8.615541 -8.621770 -8.627613 -8.632894 -8.637452 -8.609117
3 -8.609117 -8.602693 -8.609117 -8.615541 -8.621770 -8.627613 -8.632894 -8.637452 -8.609117
4 -8.609117 -8.578536 -8.580931 -8.584184 -8.588194 -8.592841 -8.597983 -8.603464 -8.609117
5 -8.609117 -8.578536 -8.580931 -8.584184 -8.588194 -8.592841 -8.597983 -8.603464 -8.609117
6 -8.609117 -8.578536 -8.580931 -8.584184 -8.588194 -8.592841 -8.597983 -8.603464 -8.609117
> head(siteCoor[,c(2,4,6,8,10,12,14,16,18)])
Latitude 2 4 6 8 10 12 14 Latitude.1
1 52.69373 52.71586 52.71620 52.71586 52.71484 52.71319 52.71094 52.70817 52.69373
2 52.69373 52.71586 52.71620 52.71586 52.71484 52.71319 52.71094 52.70817 52.69373
3 52.69373 52.71586 52.71620 52.71586 52.71484 52.71319 52.71094 52.70817 52.69373
4 52.69373 52.70049 52.70361 52.70644 52.70888 52.71085 52.71231 52.71320 52.69373
5 52.69373 52.70049 52.70361 52.70644 52.70888 52.71085 52.71231 52.71320 52.69373
6 52.69373 52.70049 52.70361 52.70644 52.70888 52.71085 52.71231 52.71320 52.69373
Что если вы пишете 'addPolygons (lng = siteCoor [, 1], lat = siteCoor [, 2])%>% addPolygons (lng = siteCoor [3], ш = siteCoor [4]) ... '? – HubertL
Привет HubertL, мне нужно построить строки файла, а не столбцы. Если я построю их по столбцам, моя карта будет испорчена. Действительно, мне нужно взять строку 1 и передать столбцы 1 и 2 в destPoint, а затем в столбцы 3 и 4, затем 5 и 6 и так далее и так далее, до тех пор, пока не достигнет последней длинной пары lat в столбцах 17 и 18. Затем функция destPoint затем перейдите к следующей строке, строка 2, где она начинается снова. Если функция не заканчивается, в длинной паре лат в столбцах 17 и 18 будет появляться многоугольная линия с новой длинной парой лат в столбце 1 и 2 строки. Имеет ли это смысл? – TheGoat