Одиночные линии в листовке - PullRequest
1 голос
/ 17 апреля 2020

Я довольно новичок в R и пытаюсь показать систему централизованного теплоснабжения на карте листовки. Из другой системы я получил координаты Гаусса-Крюгера, которые я преобразовал в гео-координаты. Набор данных содержит в основном структуру данных с 4 столбцами (2 для начальной точки / 2 для конечной точки). Я пытался построить сетку с помощью addpolylines в листовке, но это был просто беспорядок .... Это часть моих данных (из нескольких тысяч сегментов трубы):

 PIPES <- data.frame(longitude_start = c(10.16598309, 10.1306068, 10.13709072, 10.11585874, 10.13122298, 
                                        10.13046081, 10.12480974, 10.09430826, 10.10316342),
                    latitude_start = c(53.59022654, 53.60358092, 53.60814442, 53.59990009, 53.60351254,
                                       53.6035185, 53.60134658, 53.59273843, 53.59777827),
                    longitude_end = c(10.16541999, 10.13051495, 10.13704627, 10.10316342, 10.13117327,
                                      10.12480932, 10.1231769, 10.09388444, 10.09789269),
                    latitude_end = c(53.59022261, 53.60351639, 53.60789653, 53.59777827, 53.6035107,
                                     53.60133096, 53.60104698, 53.59258596, 53.59664915))

Это был код Я использовал:

mydf2 <- data.frame(group = c("max", "min"),
                    lat = c(PIPES$latitude_start, PIPES$latitude_end),
                    long = c(PIPES$longitude_start, PIPES$longitude_end))

leaflet() %>%
addTiles() %>%
addPolylines(data = mydf2, lng = ~long, lat = ~lat, group = ~group)    

Обе строки должны интерпретироваться как отдельные строки, но на карте они соединены вместе: Bad Result

Кто-нибудь знает, что я могу сделать?

(отредактировано 20 апреля 2020 г.)

С уважением, Даниил

1 Ответ

0 голосов
/ 21 апреля 2020

Hej Daniel,

похоже, что группа работает не так, как ожидалось. Вместо этого вы можете использовать al oop:

library(magrittr)
library(leaflet)
#> Warning: Paket 'leaflet' wurde unter R Version 3.5.3 erstellt

PIPES <- data.frame(longitude_start = c(10.16598309, 10.1306068, 10.13709072, 10.11585874, 10.13122298, 
                                        10.13046081, 10.12480974, 10.09430826, 10.10316342),
                    latitude_start = c(53.59022654, 53.60358092, 53.60814442, 53.59990009, 53.60351254,
                                       53.6035185, 53.60134658, 53.59273843, 53.59777827),
                    longitude_end = c(10.16541999, 10.13051495, 10.13704627, 10.10316342, 10.13117327,
                                      10.12480932, 10.1231769, 10.09388444, 10.09789269),
                    latitude_end = c(53.59022261, 53.60351639, 53.60789653, 53.59777827, 53.6035107,
                                     53.60133096, 53.60104698, 53.59258596, 53.59664915))

m <- leaflet() %>%
  addTiles() 

for (i in 1:nrow(PIPES)) {
  m <- addPolylines(m, lng = c(PIPES$longitude_start[i], PIPES$longitude_end[i]), 
                    lat = c(PIPES$latitude_start[i], PIPES$latitude_end[i]))
}
m

Создано в 2020-04-21 пакетом Представить (v0. 3,0)

...