Создание сети networkx из кадра геоданных линии — как2 заставить веса ребер сети соответствовать длине линии (в м) междуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание сети networkx из кадра геоданных линии — как2 заставить веса ребер сети соответствовать длине линии (в м) между

Сообщение Anonymous »

Я новичок, когда дело касается модуля networkx. У меня есть линейный объект в виде кадра геоданных, который выглядит следующим образом: https://i.sstatic.net/V8Fqt.png
Используя Momepy, я могу преобразовать этот кадр геоданных в сеть в сети. х:

Код: Выделить всё

G = momepy.gdf_to_nx(my_line, approach="primal",length='mm_len')
Это преобразует фрейм геоданных в сеть, которая выглядит следующим образом: синие точки — это узлы, созданные Momepy: https://i.sstatic.net/7Smb9.png
Моя цель — найти пару узлов, которые находятся дальше всего друг от друга.
Я могу сделать это с помощью этого кода:

Код: Выделить всё

    apl = dict(nx.all_pairs_dijkstra_path(G))
bpl = [tuple((v, s, k)) for s, d in apl.items() for k, v in d.items() if v == max(d.values())]
bpl.sort(key=lambda tup: tup[0], reverse=False)
length, start, fin = bpl[0]
однако при этом расстояния рассчитываются на основе количества узлов, через которые проходит путь, а не фактической длины пути. поэтому возврат «длины» просто получает список координат. Однако я понятия не имею, как хранить длину пути в сети. Я хочу, чтобы данные графика были примерно такими: https://i.sstatic.net/wsBY4.png
чтобы когда я запускаю dijkstra, он возвращал верхний левый угол узел и нижний узел и скажем, что расстояние между ними 21 м, это самый длинный. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/778 ... etwork-edg
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»