Dpm99 Ответов: 0

Как создать цветовую карту в сети с помощью djikstra multi source (pyhton)


Я пытаюсь использовать многоисточниковый алгоритм Дейкстры для создания цветовой карты. В основном у меня есть две исходные точки, и я хочу раскрасить все узлы в сети в соответствии с их расстоянием до 2 источников. Если вы можете объяснить только одним источником, этого будет более чем достаточно. Кто-нибудь может мне помочь?


В случае, если вам это нужно, сеть была получена через:

place = [{'city':'Lisbon', 'country':'Portugal'}]

G = ox.graph_from_place(место, network_type='диск')
Г = бык.project_graph(г)

Заранее спасибо.

Что я уже пробовал:

import networkx as nx
import matplotlib.pyplot as plt
import osmnx as ox
import pandas as pd
import geopandas as gpd

ox.config(log_console=True, use_cache=True)

place = {'city':'Lisbon', 'country':'Portugal'}
hospitals = ox.pois_from_place(place, amenities=['hospital'])


G = ox.load_graphml('rede_cidade_lisboa.graphml') ##network
# fig, ax = ox.plot_graph(G, node_size=7, edge_linewidth=0.5)
nodes = G.nodes
edges = G.edges

hosp_1 = (38.74817825481225, -9.160815118526642)  # Hospital Santa Maria
hosp_2 = (38.74110711410615, -9.152159572392323)  # Hospital Curry Cabral

source_1 = ox.get_nearest_node(G, hosp_1)
source_2 = ox.get_nearest_node(G, hosp_2)

for node in nodes:

   edge, path = nx.multi_source_dijkstra(node, {source_1, source_2}, weight=edges.data['length'])

0 Ответов