To reproduce this paper you need quarto installed.

After installing the dependencies, you can reproduce the paper by running the following command in the terminal:

quarto render paper.qmd

Install the dependencies by cloning the repository and running the following:

# Update rust to unstable latest version:
rustup update nightly
# Install remotes if not already:
if (!requireNamespace("remotes")) {
  install.packages("remotes")
}
Loading required namespace: remotes
install.packages(
  'rsgeo', 
  repos = c('https://josiahparry.r-universe.dev', 'https://cloud.r-project.org')
)
Installing package into '/home/runner/work/_temp/Library'
(as 'lib' is unspecified)
library(rsgeo)
# Install github version if no DESCRIPTION file:
if (!file.exists("DESCRIPTION")) {
  remotes::install_github("nptscot/networkmerge")
} else {
  # Install from DESCRIPTION file:
  remotes::install_deps(dependencies = TRUE)
}
rsgeo (0.1.8 -> 5c033a789...) [GitHub]
Downloading GitHub repo JosiahParry/rsgeo@HEAD

── R CMD build ─────────────────────────────────────────────────────────────────
* checking for file ‘/tmp/RtmpP7TeID/remotes1a814eddf22c/JosiahParry-rsgeo-5c033a7/DESCRIPTION’ ... OK
* preparing ‘rsgeo’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘rsgeo_0.1.8.tar.gz’
Installing package into '/home/runner/work/_temp/Library'
(as 'lib' is unspecified)
requirements_txt = readLines("requirements.txt")
# Check if Python is installed:
if (!requireNamespace("reticulate")) {
  install.packages("reticulate")
}
Loading required namespace: reticulate
# See reticulate documentation to use a specific Python version:
# ?reticulate::install_python()
reticulate::install_python("3.12.4")
Installing pyenv ...
Done! pyenv has been installed to '/home/runner/.local/share/r-reticulate/pyenv/bin/pyenv'.
+ /home/runner/.local/share/r-reticulate/pyenv/bin/pyenv update
+ /home/runner/.local/share/r-reticulate/pyenv/bin/pyenv install --skip-existing 3.12.4
[1] "/home/runner/.pyenv/versions/3.12.4/bin/python3.12"
# Install Python dependencies with reticulate:
reticulate::py_install(requirements_txt, pip = TRUE)
Using Python: /home/runner/.pyenv/versions/3.12.4/bin/python3.12
Creating virtual environment '~/.virtualenvs/r-reticulate' ... 
+ /home/runner/.pyenv/versions/3.12.4/bin/python3.12 -m venv /home/runner/.virtualenvs/r-reticulate
Done!
Installing packages: pip, wheel, setuptools
+ /home/runner/.virtualenvs/r-reticulate/bin/python -m pip install --upgrade pip wheel setuptools
Virtual environment '~/.virtualenvs/r-reticulate' successfully created.
Using virtual environment '~/.virtualenvs/r-reticulate' ...
+ /home/runner/.virtualenvs/r-reticulate/bin/python -m pip install --upgrade --no-user 'parenx >= 0.5.5' 'folium >= 0.14.0' 'geopandas >= 0.13.2' 'mapclassify >= 2.6.0' 'matplotlib >= 3.7.2' 'networkx >= 3.1.0' 'osmnx >= 1.6.0' 'pandas >= 2.0.3' 'rasterio >= 1.3.9' 'scikit-image >= 0.22.0' 'scipy >= 1.11.1' 'shapely >= 2.0.1' 'jupyter >= 1.0.0' 'tabulate >= 0.9.0' 'nbformat >= 5.1.3'

This website hosts the networkmerge paper which presents methods for simplifying route networks for transport planning. The methods were developed for the Network Planning Tool for Scotland which is publicly available at https://npt.scot.

It was produced with Quarto, which was also used to support the academic paper shown below. See https://quarto.org/docs/websites for further information.

The paper is re-built automatically when the source code is updated:

Quarto Publish

Quarto Publish

See github.com/nptscot/networkmerge for the source code underlying this website.