Почему матрица OD в sfnetwork возвращает один NA в именах измерений?

У меня есть корневое дерево с пространственно явными ребрами, представляющими речную сеть ( new_net). Я хочу вычислить матрицу пункта отправления и назначения (OD), чтобы получить расстояния между несколькими точками, представляющими небольшие выходы водосбора (1754 точки), расположенные в этой речной сети.

Я начинаю с создания сети, используя мой набор сетевых данных. hyriv_line:

      net <- as_sfnetwork(hyriv_line, directed = T)

Затем растушевываю точки выхода ( dir_outlets) в сеть:

        # Update river network with outlets
  new_net <- net %>% # Original river network
    activate("nodes") %>%
    st_network_blend(dir_outlets) %>% # Blend in catchment outlets
    activate("edges") %>%
    mutate(weight = edge_length()) # Compute lenght of each river reach

Затем я вычисляю матрицу OD между всеми моими выходными точками:

        cost_matrix_out <- st_network_cost(new_net, 
                                 from = dir_outlets, to = dir_outlets, # from-to point sf
                                 mode = "out", # outbound (column-wise results)
                                 Inf_as_NaN = T)

Он работает гладко, но затем, когда вы смотрите на полученную матрицу, имена измерений в строках появляются с начальным X, что означает, что что-то не так. Одна запись — всегда одна и та же, № 823— выглядит так, как будто ее имя не может быть правильно прочитано, поэтому в матрице OD вместо нее добавляется NA, отсюда и начальный X. Столбец № 823 в матрице также не имеет имени (см. ниже).Снимок моей матрицы OD с NA - это имя строки и пустое имя столбца.

Я не могу понять это. Я много раз проверял точечный слой, и его структура надежна. Любое понимание того, что я могу дополнительно проверить?

Данные для dir_outlet(откуда название):

      dput(head(st_drop_geometry(dir_outlets[820:825,])), control = "showAttributes")
structure(list(c(7120213140, 7120933070, 7120213260, 7120933120, 
7120933150, 7120213350), c(7120933250, 7120213890, 7120213070, 
7120933570, 7120933230, 7120933250), c("7120213140", "7120933070", 
"7120213260", "7120933120", "7120933150", "7120213350")), .Names = c("from", 
"to", "name"), row.names = 820:825, class = "data.frame")

0 ответов

Другие вопросы по тегам