Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies:

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

NetAScore - Network Assessment Score Toolbox for Sustainable Mobility

Shows the NetAScore logo, either with light or dark background depending on the Users settings.

NetAScore provides a toolset and automated workflow for computing bikeability, walkability and related indicators from publicly available network data sets. Currently, we provide common presets for assessing infrastructure suitability for cycling (bikeability) and walking (walkability). By editing settings files and mode profiles, additional modes or custom preferences can easily be modeled.

For global coverage, we support OpenStreetMap data as input. Additionally, Austrian authoritative data, the 'GIP', can be used if you work on an area of interest within Austria.

For citing NetAScore, please refer to following paper which introduces the software, its objectives, as well as the data and methods used: Werner, C., Wendel, R., Kaziyeva, D., Stutz, P., van der Meer, L., Effertz, L., Zagel, B., & Loidl, M. (2024). NetAScore: An open and extendible software for segment-scale bikeability and walkability. Environment and Planning B: Urban Analytics and City Science, 0(0). [https://doi.org/10.1177/23998083241293177]. In case you want to refer to a specific version of the software implementation, you may add the respective Zenodo reference doi.org/10.5281/zenodo.7695369

Details regarding the bikeability assessment method as well as results of an evaluation study are provided in the following scientific publication, which is openly available via doi.org/10.1016/j.jcmr.2024.100040: Werner, C., van der Meer, L., Kaziyeva, D., Stutz, P., Wendel, R., & Loidl, M. (2024). Bikeability of road segments: An open, adjustable and extendible model. Journal of Cycling and Micromobility Research, 2, 100040.

Details on the walkability index together with results from a large evaluation study are published Open Access: doi.org/10.3390/su17083634: Stutz, P., Kaziyeva, D., Traun, C., Werner, C. & Loidl, M. (2025). Walkability at Street Level: An Indicator-Based Assessment Model. Sustainability, 17(8), 3634.

Examples: You find example output files of NetAScore at doi.org/10.5281/zenodo.10886961.

You find more information on NetAScore in the wiki:

How to get started?

To get a better impression of what this toolset and workflow provides, you can quickly start with processing a sample area.

Easy quickstart: ready-made Docker image

The easiest way to get started is running the ready-made Docker image. All you need for this to succeed is a Docker installation, running Docker Desktop and internet connection. Then, follow these two steps:

  • download the docker-compose.yml file from the examples ( download the raw file) to an empty directory
  • from within this directory, execute the following command from a terminal: docker compose run netascore

Docker will download the NetAScore image and PostgreSQL database image, setup the environment for you and finally execute the workflow for Salzburg, Austria as an example case.

What it does (example case):

NetAScore first loads an area of interest by place name from Overpass Turbo API, then downloads the respective OpenStreetMap data and afterwards imports, processes and exports the final dataset. A new subdirectory named data will be present after successful execution. Within this folder, the assessed network is stored in netascore_salzburg.gpkg. It includes bikeability in columns index_bike_ft and index_bike_tf and walkability in index_walk_ft and index_walk_tf. The extensions ft and tf refer to the direction along an edge: from-to or to-from node. These values represent the assessed suitability of a segment for cycling (bikeability) and walking (walkability).

What the results look like:

Currently, NetAScore does not come with a built-in visualization module. However, you can easily visualize the bikeability and walkability index by loading the resulting geopackage in QGIS. Simply drag and drop the geopackage into a new QGIS project and select the edge layer. Then in layer preferences define a symbology that visualizes one of the computed index values - e.g. index_bike_ft for bikeability (_ft: bikeability in forward-direction of each segment). Please note that from version 1.0 onwards, an index value of 0 refers to unsuitable infrastructure, whereas 1 represents well suited infrastructure.

This is an exemplary visualization of bikeability for Salzburg, Austria:

Bikeability result for Salzburg, Austria

How to proceed?

Most likely, you want to execute an analysis for a specific area of your interest - please see the instructions in the wiki for how to achieve this with just changing one line in the settings file. If you need more detailled instructions or want to know more about the project, please consolidate the wiki.

Running NetAScore locally (without Docker)

For running NetAScore without Docker you need several software packages and Python libraries installed on your machine. You find all details in the section "How to run the project".

NetAScore uses the following technologies: