Change Log

UrMoAC-0.10.0 (04.12.2025)

DOI

Debugging and improvements

  • debugged mapping of public transport halts to edges
  • debugged and consolidated reporting of network errors
  • debugged search (view distance extension) massively reducing computation time...

Documentation

  • corrected docs building
  • reorganised docs

Changes in options and defaults

  • option --keep-subnets was renamed to --net.keep-subnets
  • added option --net.report-all-errors that forces UrMoAC to report all network errors. Otherwise, only the first one of each type is reported. Please note that you may generate a file/database table listing all network errors using the option --net-errors-output *<OUTPUT>.
  • renamed --write.subnets <OUTPUT> to --subnets-output <OUTPUT> (back again)
  • added options --crossing-model <MODEL> for selecting the model of penalties at crossings, including options to set its parameter --crossing-model.param1 <DOUBLE>, and --crossing-model.param2 <DOUBLE>
  • renamed --measure <ROUTING_MEASURE> to --routing-measure <ROUTING_MEASURE> and according --measure-paramX <DOUBLE> to --routing-measure.paramX <DOUBLE>
  • Earlier options for prunning the network and/or the pt-offer were replaced by the following options. Each of those can either get a bounding box (four floats) or the reference to a data source to load the prunning area from.
    • --from.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
    • --to.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
    • --from-agg.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
    • --to-agg.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
    • --net.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
    • --pt.boundary [<GEOM_SOURCE> | <BOUNDING_BOX>]
  • added option --foot.vmax <SPEED> for changing the default walking speed; <SPEED> is given in km/h

Continuous Integration

  • added an action for checking whether the current version builds

Tools

  • osmdb_buildStructures.py:
    • It is no longer necessary to define all values for nodes, ways, and relations, each. You may use a '*' as the type qualify to set the subsequent extraction patterns for all.
    • added an oid field to the output as nodes/ways/relations in OSM may have overlapping IDs. Together with the type field, one should be able to get the according source.
  • all tools: unified options parsing; synopsis was kept, but tools that generate tables now support deleting previously built tables and/or appending data to existing tables

Tentative extensions (under development/testing)

  • previously, intermodality was somehow covered by giving UrMoAC a list of modes to use. This has been replaced by distinct mode change points, defined using the option --mode-changes <INPUT>
  • an initial model for adding penalties at crossing was added. It can be enabled using the option --crossing-model <MODEL> where <MODEL> may be one of "none" and "ctm1". (Floating point) parameter of the model can be set using the options --crossing-model.param1 <FLOAT>, and --crossing-model.param2 <FLOAT>.
  • an initial model for reducing speeds (mainly for MIT routing) was added. It can be enabled using the option --net.vmax-model <MODEL> where <MODEL> may be one of "none" and "vmm1"
  • Reducing memory footprint and increasing speed
    • The option --prunning.remove-geometries will remove the edge geometries after mapping sources/destiations for reducing the memory footprint; You will be warned, when using in combination with --direct-output as this is the only output that needs edge geometries
    • The computation uses a less complex algorithm when computing unimodal accessibilities
    • Added the option --prunning.remove-dead-ends for removing unused dead ends (ones that do not have an origin / a destination)
    • added option --prunning.precompute-tt which forces UrMoAC to precompute travel times; works for unimodal computation only and only if no variabel speed time lines are loaded
    • added option --prunning.join-similar which joins network edges with similar attributes
  • added incline to edges; being somehow under development, use --net.incline to enable it

UrMoAC-0.8.2 (06.08.2024)

DOI

Re-release due to broken build. No further changes in comparison to v0.8.0.

UrMoAC-0.8.0 (31.07.2024)

DOI

Changes in options and defaults

  • mode names consolidation (you will get a deprecation warning when using old names):
    • "bicycle" is now "bike"
    • "passenger" is now "car"
  • output name consolidation:
    • "nm-output" is now "od-output"
    • "ext-nm-output" is now "ext-od-output"
    • "stat-nm-output" is now "stat-od-output"
  • replaced ';' as divider by ',' (you will get a deprecation warning when using the old divider):
    • databases definition (input and output)
    • modes to use
    • carrier definition
    • within UrMoAC
    • within included Python-scripts (please note that all fields are now divided using a ',')
  • references to database are now defined on the command line like: <HOST>,<DB>,<SCHEMA>.<TABLE>,<USER>,<PASSWD> - schema and table name are divided using a '.', all other fields using a ','
  • The default for ID column of database objects is now "id", no longer "gid"
  • The default for the geometry column of database objects is now "geom", no longer "the_geom"
    • If you cannot use your old networks, try to add the option --net.geom=the_geom
    • If you cannot use your old origins, try to add the option --from.geom=the_geom
    • If you cannot use your old destinations, try to add the option --to.geom=the_geom

Debugging and improvements

  • patched several documentation issues
  • more verbose error handling
  • The script "plot_area.py" now supports disaggregated, aggregated, and filled contours visualisations

Changes in computation

  • we moved from edge-based to origin-based computation. This solved some oddities and inexact results, but slowed down the computation. We will try to improve the speed back again, keeping the current quality.

UrMoAC-0.6.0 (26.05.2023)

DOI

New Features

  • initial file support (all but GTFS)
  • Attention! option --from-filter was renamed to --from.filter
  • Attention! option --to-filter was renamed to --to.filter
  • added --od-connections option which allows to specify a table with explicit origin/destination-tuples to route between
  • issue #17 added the possibility to save current command line options to a configuration file, to read configuration file
  • added the possibility to save an options template
  • issue #20 added a custom mode
  • issue #28 the precision of floating point values in output can be changed using the --precision option (default: 2)
  • issue #38 mapping of objects to edges is now multithreaded (controlled by the --threads option)
  • issue #10 SUMO networks can now be loaded directly. The file extension must be “.net.xml”.
  • issue #11 origins, destinations, and aggregation areas can now be loaded from SUMO shapefiles directly. The file extension is “.poi.xml”. Please note that UrMoAC only accepts numerical IDs, at least currently.
  • You may directly load a SUMO Edge-Based Network State as travel time information.
  • issue #42 solved: GTFS files can now be loaded directly from disc
  • issue #3 solved: the outputs do not include the access/egress distances and travel times from/to the buildings to/from the road; we assume that this makes the outputs more standard compliant; the access/egress distances are still a part of the ext-nm-output
  • finally added at least one visualisation tool (plot_area.py)
  • added a citation file
  • got a DOI (10.5281/zenodo.7940600)

Debugging and Improvements

  • We had a degradation between August 2021 and February 2022 that made public transport routing impossible; it's patched
  • We had a degradation between August 2021 and February 2022 that reinserted user password into db comments; it's patched, and comments are only generated when --comment is set
  • issue #25 solved: origin weights are not used when no aggregation area is given
  • improved (faster) subnets removal
  • output
    • issue #14 solved: mapping is sorted by edges, then by objects
  • improved mapping of objects to the network; it seems like we've had a glitch which allocated some locations (<1 % in urban areas) to the wrong edge
  • extended handling of input errors, especially when reading files. Now, wrong / broken attributes of loaded artefacts should be reported. Let us know if not (when the application stops with an exception)…
  • issue #24 solved: Collecting results when aggregating them is now much faster
  • issue #48 solved: Better reporting of unconnected networks
    • Option --subnets that keeps unconnected sub-networks was renamed to --keep-subnets
    • Added the option --subnets-summary that lists (very verbose) all found subnets
    • Added the option --subnets-output <OUTPUT> that writes the found subnets
      • Renamed --subnets-output <OUTPUT> to --write.subnets <OUTPUT>
  • issue #1 solved: the tool reports when an edge with a velocity or a length of 0 is loaded, as well when an edge id is used more than once
  • removed the avg_v field from nm-ext-output as it is too complicated to keep track of connection with dist=0 (same origin/destination) and the value can be easily computed from avg_tt and avg_distance

Tools

  • reorganised tools, tools are sorted by source type (osm, gtfs, sumo)
  • issue #6 solved: Moved to Python 3.x

UrMoAC-0.4.0 (03.03.2021)

  • added static documentation