spaghetti icon indicating copy to clipboard operation
spaghetti copied to clipboard

Dijkstra from graph

Open jGaboardi opened this issue 6 years ago • 7 comments

  • Currently the dijsktra runs off the network spatial representation (arcs, vertices)

  • Include flag for dijkstra to run off graph when available (edges, nodes)

jGaboardi avatar Dec 04 '18 18:12 jGaboardi

related to #365

jGaboardi avatar Jan 06 '20 18:01 jGaboardi

Hello!

I am new to OS contribution but would love to participate in improving Spaghetti. This seemed to be a reasonable issue to start with.

I would like to know if it is still relevant to the current state of the project.

If so, I also had some questions about the design of this flag parameter:

  • Should the pred output (currently, the list of predecessors for each vertex in its shortest path to v0) contain nodes or find a way to translate that back in terms of vertices?
  • When the flag is set to True, but the graph isn't available, should it raise an error or fallback to the network with a warning?

Thanks :)

SimonPop avatar Jun 17 '23 14:06 SimonPop

@SimonPop Hello! Thanks for adding to this thread before starting the work! And MANY thanks for considering spending your time & energy contributing to OSS.

I would like to know if it is still relevant to the current state of the project.

This question is a bit tricky. Work on spaghetti (along with my other PySAL work) is 100% in my free time, hence it has been relatively stagnant since 2019ish. There has been need and desire^1^3 to modernize the internals of spaghetti and move away from using PySAL native geometries^4 in order to improve performance. However, this has been tricky to plan and implement due a host of factors, and more importantly dedicated time to even make a viable plan. Complicating this issue is the relationship with libpysal broadly (and the planned GeoGraph functionality there) and other confederated submodules, like momepy and segregation. The goal is probably to have one dedicated way create graph/network topology in the PySAL ecosystem and all submodules to build off that as needed.

I will absolutely not say "don't work on this issue!", but I would discourage it so that you might spend your valuable time working for something more likely to get merged.

@martinfleis @knaaptime Do you have any thoughts here or anything to add?

jGaboardi avatar Jun 17 '23 18:06 jGaboardi

@jGaboardi you pretty much covered it.

martinfleis avatar Jun 17 '23 19:06 martinfleis

Hello @jGaboardi ,

Thank you very much for your complete and honest answer.

I now have a better understanding of the issues and difficulties surrounding this project and spaghetti more generally.

Indeed, I think it would be more relevant for me to learn more about the existing PySAL development plans for network/graph standardization before committing to any of them.

I will definitely try to read more about momepy, segregation and libpysal ahead of time before picking an issue to work on.

Many thanks again!

SimonPop avatar Jun 18 '23 15:06 SimonPop

Also, checkout spopt if you are interested. We've had much more development over there in the past several years.

jGaboardi avatar Jun 18 '23 21:06 jGaboardi

Noted :)

SimonPop avatar Jun 20 '23 19:06 SimonPop