Вот пример, использующий sf
, чтобы сделать этот график, в котором подчеркивается, как способность пакета работать с dplyr
и summarise
в частности может сделать эту операцию чрезвычайно выразительной и кратким. I filter
вывести отсутствующие идентификаторы, group_by
идентификатор, summarise
(который делает объединение по умолчанию) и легко построить график с помощью geom_sf
.
library(tidyverse)
library(sf)
# Substitute wherever you are reading the file from
light_shape <- read_sf(here::here("data", "light_shape.shp"))
light_shape %>%
filter(!is.na(segment_ID)) %>%
group_by(segment_ID) %>%
summarise() %>%
ggplot() +
geom_sf(aes(fill = factor(segment_ID)))
@ Samurai8 прав. Спасибо за помощь. Мой getAdminOrRespondentAuth не возвращал обещание правильно. После исправления ошибки функции все вернулось к работе. Эта функция генерирует ошибку:
async function getAdminOrRespondentAuth () {
let mgr = new Mgr()
var adminToken = await mgr.getToken()
if (adminToken !== false) {
return 'Bearer '.concat(adminToken)
} else {
let usrToken = localStorage.getItem('user-token')
return 'Bearer '.concat(usrToken)
}
}
Вот функция, которая работает:
async function getAdminOrRespondentAuth () {
var adminToken = ''
return new Promise(async (resolve, reject) => {
let mgr = new Mgr()
try {
adminToken = await mgr.getToken()
} catch (error) {
adminToken = error
}
if (adminToken !== false) {
resolve('Bearer '.concat(adminToken))
} else {
let usrToken = localStorage.getItem('user-token')
if (usrToken !== null) {
resolve('Bearer '.concat(usrToken))
} else {
resolve('')
}
}
})
}