Skip to content

Support network simplification with neatnet and validate impact on simulation accuracy #240

@EwoutH

Description

@EwoutH

I recently encountered neatnet, a new street geometry processing toolkit for Python (by @martinfleis, @jGaboardi and @anastassia, among others). It's very well documented in this paper. Since UXsim performance decreases with increasing network complexity, I think it would be interesting of this type of simplification is also suitable for UXsim's mesoscopic traffic simulation.

Problem

UXsim works with street networks that are often transportation-focused (e.g., OSM data), containing detailed dual carriageways, roundabouts, and complex intersections. This creates two challenges:

  1. Computational overhead: Complex networks significantly increase simulation time and memory usage
  2. Unknown impact on accuracy: It's unclear whether this (and which) geometric detail meaningfully affects traffic flow results

Background

Relates to #95. Understanding how network representation affects simulation validity and performance is crucial for establishing UXsim's scientific credibility and practical applicability.

Proposed Solution

Integrate support for the neatnet package for automated network simplification, with comprehensive validation of the impact on simulation outcomes.

Implementation

  1. Add neatnet integration: Support simplified networks as input option
  2. Create validation framework: Compare simulation results between original and simplified networks
  3. Document performance trade-offs: Establish guidelines for when simplification is appropriate

Validation Approach

import neatnet
from uxsim import World

# Compare same scenarios on both network types
original_network = load_osm_network(city)
simplified_network = neatnet.neatify(original_network)

# Test key metrics:
# - Travel time distributions
# - Congestion location accuracy
# - Route choice patterns
# - Computational performance

Expected Outcomes

  1. Usage guidelines: Clear recommendations on when to use simplified vs. detailed networks
  2. Performance benchmarks: Quantified computational gains and accuracy trade-offs
  3. Validation methodology: Framework for testing network modifications (contributing to Scientific (real-world) validity of UXsim simulations #95)
  4. Integration examples: Documentation showing neatnet preprocessing workflows

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions