nptscot / networkmerge

Merge geographic route networks
https://nptscot.github.io/networkmerge/
MIT License
9 stars 3 forks source link

Thoughts on Results section #65

Open Robinlovelace opened 10 months ago

Robinlovelace commented 10 months ago

I think this could be a short section that provides summary statistics on the resulting networks with for example

Sound reasonable? I ditched the Results section as most stuff can go in the Methods but now thinking a table summarising the outputs at least may be good.

anisotropi4 commented 10 months ago

The function get_source_target produces a node and edge dataframe with unique numbered nodes and edges.

I'm not sure what a figure showing many areas is though.

Robinlovelace commented 10 months ago

Something like this is what I'm thinking, except with different simplification algorithm/settings instead of different route network types as the column headings:

image

Source, which is also a good example of a reproducible paper completely rendered by GitHub actions and updated with every commit, a kind of continuous deliver (CD) process but for papers: https://cruse-bike.github.io/paper/paper#fig-city-results

anisotropi4 commented 9 months ago

I'm propose adding a section with Armley, Edinburgh and the Doncaster area rail network. Although Leeds is also an option:

Doncaster

Doncaster

Leeds

Leeds

anisotropi4 commented 9 months ago

Given these I'm going to have a look at this with three columns (Armley/Edinburgh/Doncaster rail network) and five(ish) rows. Looking at different styles, say, 1. skeletonization 8m buffer 2. voronoi 8m buffer 3. skeletonization 16m buffer 4. vornoi 16m buffer 5. skeltonization primal network 6. voronoi primal network 7. topology preserving 1%.

Happy to take suggestions and add/dump any of these depending on how they look.

Robinlovelace commented 9 months ago

Sounds good, I think the three columns idea is good and the 7 options sound good, we can iterate. Doncaster vs Leeds is a tough one, which would you say is better? For me the key thing is that it's rail data.

anisotropi4 commented 9 months ago

I have updated five options to main for the results section (input network, skeletonization, voronoi, skeltonization primal, voronoi primal) for three geographies (Armley, Edinburgh, Doncaster rail). Please have a look and let me know what you think.

Robinlovelace commented 9 months ago

Will take a look now...

Robinlovelace commented 9 months ago

Looking great! They need to be labelled and I'm now wondering if we should save the outputs as .geojson files and use R for the visualisation, there's too much whitespace between each figure and using high level vis pkg like ggplot2 or tmap could make it easier to add the labels. Great work Will in any case, many thanks.

image

anisotropi4 commented 9 months ago

Of course. I'll do the old "check for cached geojson and if not write" trick and let you know. I'm sure if I was good at matplotlib.pyplot I could get equally devilishly sophisticated plots, but I'm not.

Robinlovelace commented 9 months ago

Sounds like a plan!

anisotropi4 commented 9 months ago

That was a bit harder than it should've been but (hopefully) that works now. I've not cut the results in matplotlib.pyplot but the equivalent data variable now stored as a set of files in the data folder as rnet_<variable_name>.geojson. Where these variable names are held in python in the PLOT_DATA variable and correspond to the results table as:

Armley Edinburgh Doncaster
base_armley base_edinburgh base_doncaster
armley_sk edinburgh_sk doncaster_sk
armley_line edinburgh_line doncaster_line
armley_edge_sk edinburgh_edge_sk doncaster_edge_sk
armley_edge edinburgh_edge doncaster_edge
Robinlovelace commented 9 months ago

I'm happy to give this a bash.

Robinlovelace commented 9 months ago

Currently it's like this after changes by @wangzhao0217.

image

From: https://nptscot.github.io/networkmerge/paper.html#evaluation-of-proposed-route-network-simplification

I'm happy to work on this but may be after Christmas (I think end of the year is a more realistic deadline now), also cc @anisotropi4 in case you don't get notifications on this.

anisotropi4 commented 9 months ago

I like this as it is a much simple narrative, which is always good.

As the diagrams results are really quite small, I wondered if we lost the input picture and then ran this as a 2x2 table? Or as a 1 x 3 table with input, skeletonization and Voronoi, and the 1x3 input, primal skeltonization and primal Voronoi. I'll have a look at a PR for this concept now.

Given all this, have a great break. For me the end of the year is absolutely fine.

anisotropi4 commented 9 months ago

I've just added a plot.qmd with two suggested alternative layouts for the results section. Albeit this is probably more a learning exercise for me to get better used to using matplotlib...

anisotropi4 commented 9 months ago

(This is a separate PR to save messing about with the main paper.qmd branch)