Release log

0.2.0

PLANitAll

  • moved parent pom to PLANitParentPom

PLANit

enhancements

  • rename everything related to routes to path in the memory model for consistency reasons (planit/#29)
  • rename RotueIdType to PathIdType (planitpy2j/#1)
  • results of shortest path calculations now provided in separate class ShortestPathResults (planit/#30)
  • A* shortest path algorithm implementation now available (planit/#27)
  • support for a overarching Graph interface/implementation as a basic building block for networks (planit/#31)
  • move eLTM code from separate repository to core as it is an assignment method we want to provide out-of-the-box (planit/#32)
  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • edge segments,edges, and vertices of the physical network should be connected while creating them (not when creating the final transport network) (planit/#35)
  • flows per mode map and modeData in traditionalstatictrafficassignment seem to overlap. Refactored (planit/#15)
  • refactored the configuration of all traffic assignment components using configurators (planit/#4), only network, demands, and zoning are treated differently still. This avoids user access to internals of algorithm classes.
  • traffic assignment builder delays building the traffic assignment until build is triggered (planit/#17)
  • costs using interactor no longer use convoluted event mechanism, this is simplified (planit/#36)
  • Add support for predefined modes and physical and usability features (planitxmlgenerator #2)
  • Refactor outputmanager and outputconfiguration especially on setting it up, this was not done correctly (planit/#12)
  • add generic support for parsing/persisting networks and using PLANit as a converter between formats (planit/#37)
  • add maximum speed to mode so we have an upperbound regardless of any link(segment(types)) (planit/#39)
  • create a number of predefined default modes + add basic features to these modes (planit/#38)
  • add support for creation and transformation of coordinate reference systems on networks and its geometry (planit/#41)
  • move geometry from link to edge to be consistent with vertex and make it available at a lower level (planitutils/#2)
  • internal id is long, xml id is string, and external id is also string now, with their own base implementation class (planitxmlgenerator/#6)
  • change default properties of output configuration to use XML_ID rather than EXTERNAL_ID (planit/#42)
  • support intermodal trips by creating an additional layer for networks where we allow for separate infrastructure networks and interactions between these networks (planit/#43)
  • add support for custom PLANit modes in network (planit/#1)

bug fixes

  • max speed (without mode) on link segment was never placed in memory model, this is fixed (planit/#34)

PLANitIntegrationTest

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • add tests for OSM2planit and OSM2Matsim network conversions

PLANitIO

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • add support for parsing/persisting predefined modes
  • add support for parsing default allowed link segment type modes based on their track type (road/rail) (planitio/#9)
  • separated reading of network from inputbuilder into networkreader class such that we can separately parse networks consistent with the converter classes (planitio/#10)
  • allow an option to include XML validation in the Java if the user wishes (planitio/#4)
  • allow External Ids (and xml ids) to be of String type (planitio/#1)
  • centroid element must become optional, since it is not strictly needed (planitio/#2)
  • support multi-layer networks in parser

PLANitJ2Py

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • changes to be compatible, i.e., compilable, with PLANit changes for version 0.2.0

PLANitMATSIM

  • first implementation of matsim network writer based on planit network memory model (single network layer support only)
  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • verify if external id’s are unique when used as id mapper when writing networks (planitmatsim/#2)

PLANitOSM

  • first implementation to parse OSM network from xml/pbf files (no public transport routes/services/stops)
  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • be able to process access restrictions and additional mode specific tags on ways that highlight mode access (planitosm/#6)

PLANitParentPom

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • Extract parent pom from PLANitAll and move it to its own repository (planitall/#3)

PLANitPy2J

  • rename RouteIdType to PathIdType (PlanitPy2J/#1)
  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • changes to be compatible, i.e., compilable, with PLANit changes for version 0.2.0

PLANitTNTP

enhancements

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • changes to be compatible, i.e., compilable, with PLANit changes for version 0.2.0

** bug fixes**

  • jam density on link segment not properly set (max speed is used), this is fixed (PlanitTNTP/#1)

PLANitUtils

  • rename everything related to routes to path in the memory model for consistency reasons (PlanitUtils/#1)
  • support for a over arching Graph interface/implementation as a basic building block for networks (Planit/#31)
  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • add support for predefined modes and physical and usability features (planitxmlgenerator/#2)
  • add maximum speed to mode so we have an upperbound regardless of any link(segment(types)) (planit/#39)
  • move geometry from link to edge to be consistent with vertex and make it available at a lower level (planitutils/#2)
  • internal id is long, xml id is string, and external id is also string now, with their own base implementation class (planitxmlgenerator/#6)

PLANitXMLGenerator

** enhancements**

  • add LICENSE.TXT to each repository so it is clearly licensed (planit/#33)
  • move geometry from link segment to link (planitxmlgenerator/#1)
  • Add support for predefined modes and physical and usability features to be persisted in the xml/xsd/xjb (planitxmlgenerator #2)
  • update default mode to car + update xsd so this can be persisted as well (planitxmlgenerator/#8)
  • add externalid element of type string as optional to all elements with an id (planitxxmlgenerator/#4)
  • make all xsd schemas to be publiclly available (planitxmlgenerator/#1)
  • id element must be string rather than number so that in the memory model we can add xmlId (planitxmlgenerator/#6)
  • centroid element must become optional, since it is not strictly needed (planitio/#2)
  • Document the currently implemented intermodal extension to the Zoning XML/XSD (planitxmlgenerator/#7)

** bugs**

  • change all link segment properties to double as memory model only utilises doubles (planitxmlgenerator/#3)

0.1.0

PLANitAll

  • created build scripts

PLANit

PLANitIO

  • Moved to new repository (www.github.com/trafficplanit/PLANitIO
  • Split JAXB code generation off in its own repository (#7) - new repository is PLANitXMLGenerator
  • separated out integration tests in separate files

PLANitJ2Py

PLANitLTM

PLANitPy2J

PLANitTNTP

PLANitUtils

  • Move repository to new location (www.github.com/trafficplanit/PLANitUtils)
  • Added functionality for group and token based id generation (#24)
  • Added functionality for stack walking
  • Added functionality for logging prefixes for various PLANit components

PLANitXMLGenerator

0.0.4

PLANit

  • Logger created for each class as private static member (#63)
  • Logger configuration revised (#59)
  • External Ids refactored and treated differently when parsing (#54)
  • Time periods and user classes now registered on a traffic assignment component (#61)
  • Iterator implementation on memory outputformatter refactored (#8)
  • Added output property PathId which should be added by default (#66)
  • Simplified collection of the position of output key and value properties on memoryoutputformatter (#77)
  • Check if needed and if so update all project readme.MDs based on new features available (#47)
  • Removed toList() methodson inner classes of main inputs. Made them iterable instead (#83)
  • Created Maximum Density input property and Density output property (#80)
  • Created documentation for integration tests (#69)
  • Python can call time period, mode and link segment type by external Id (#81)
  • Added defaults for traditional static assignment components upon creation of the assignment (#79)

MetroScan

  • Fixed Logging (#10)

PLANitIO

  • PLANitIO now reads the value of from and and uses the smaller if they are both present and different (#12)
  • Creation of bulky JAR file now done in PLANitALL project (#25)
  • Refactor org.planit.planitio to org.planit.io (#4)
  • Fixed bugs in Logging (#5)
  • Generated JAR file contains all dependencies in full including PLANit and PLANitUtils (#6)
  • PLANitIO now reads from element (#12)
  • When link segment has no link segment type specified, added a check if this is allowed (#14)
  • Fixed inconsistency in auto-generated file names for csv and xml (use of underscores and spaces) (#19)
  • Changed content of path in xml meta-data output to relative path to XML (#22)
  • Demand configuration defaults are now verified and populated correctly (#16)
  • XSD reference added for OD and path output types (#18)
  • Added a description property to the outputconfiguration in Java and recorded in the metadata XML output file (#20)
  • Location information on centroid no longer mandatory, default behaviour implemented (#17)
  • Default link segment type now created (#11)
  • Default mode now created (#10)
  • Check that both link segments in a single link are in opposite directions (#13)

PLANitTNTP

Fixed Logging (PLANitTNTP JIRA Task #1)

PLANitPy2J

  • Create tests that set/get every configurable option of every component on Python side (#1)
  • Renamed project to PLANitJ2Py and rename PLANitPythonRunner to PLANitPy2J (#2)
  • Support all user configurable java options in Python interface (#3)
  • Technical documentation PLANitPy2J/PLANitJ2Py (#4)
  • Python library installer added (#5)
  • Output formatter can be activated before assignment is set (#6)
  • Accessing any output type configuration activates the corresponding output type if it is not already active (#7)
  • Deactivate output types added (#8)
  • Initial costs no longer require assignment to be set (#12)

0.0.3

PLANit

  • Refactor setting of OutputKeys and OutputProperties in BaseOutputFormatter (#29)
  • Activate ODSkimOutputTypes before saving OD skim data (#34)
  • Refactor OutputAdapter and OutputTypeConfiguration (#35)
  • Create OD Path output type adapter and output type configuration (#37)
  • Link costs were an iteration behind the flow values (#38)
  • Computation of costs is inefficient -> store costs used in iteration i as costs of i-1 (#40)
  • Create Path object to store OD path of LinkSegment objects (#41)
  • Allow options for Path outputs (#42)
  • Create ODPathMatrix object (#43)
  • TraditionalStaticAssignmentPathOutputTypeAdapter: Construction of Strings from paths in the wrong place (#45)
  • Common functionality in collecting outputPropertyValues from outputtypeadapters should be common (#46)
  • Maximum speed on LinkSegment should be stored by Mode object (#48)
  • When activating an outputtype it should return the created outputtypeconfiguration (#49)
  • When creating a new traffic assignment, we should only gain access to the builder and not the assignment object itself (#50)
  • Opening and closing of outputformatters is a general task and not one for TraditionalStaticAssignment (#51)
  • SpeedConnectoidTravelTimeCost default should not be infinite speed (#52) (now use FixedConnectoidTravelTimeCost instead)
  • Iterator functionality required for MemoryOutputFormatter ( #55)
  • BPR parameters parsed in TNTP should not be stored on network in core (#62)

MetroScan

  • Bug Fix: Demands JSON file now correctly read in by MetroScan (#7)
  • Bug Fix in reading UserClass in MetroScan (#8)
  • Update parser based on new format provided by MetroScanTeam (#9)

PLANitIO

  • Restructure resources directory to create easier to understand hierarchy (#1)

0.0.2

PLANit

  • Added OD OutputType to capture and record Skim matrices
  • Added writing of Skim matrices to output formatters
  • Common approach to adding and removing output properties from output formatters
  • Some code refactored, particularly in BaseOutputFormatter and FileOutputFormatter to reuse common code for managing output between different output formatters
  • Added new OutputProperty values in enum to use external Ids
  • Moved setting of OutputKeys to loop through into OutputTypeConfiguration
  • Moved common logic for writing output into BaseOutputFormatter

MetroScan

  • Bug Fix: There was an error in the setting of link speed and capacity properties. Only one LinkSegmentType object was being defined, and assigned to all links. Now each LinkSegment is given its own LinkSegmentType, which takes values from the network input JSON file.
  • Bug Fix: The default values for alpha and beta in the BPR function were wrong. These have now been set to the correct values (alpha=0.87, beta=4.0).
  • Added OUTPUTTIMEUNIT to argument list to allow user to specify whether output link costs should be presented in hours, minutes or seconds.
  • Created demandOneMode.json input file, which only uses Mode 1. This generates the output file results.csv, which is also included as an example output.
  • Added OD OutputType to capture and record Skim matrices
  • Added writing of Skim matrices to output formatters
  • Common approach to adding and removing output properties from output formatters
  • Some code refactored, particularly in BaseOutputFormatter and FileOutputFormatter to reuse common code for managing output between different output formatters

PLANitIO

  • Renamed PLANitXML to PLANitIO
  • Refactored package names
  • Added OD OutputType to capture and record Skim matrices
  • Added writing of Skim matrices to output formatters
  • Common approach to adding and removing output properties from output formatters
  • Some code refactored, particularly in BaseOutputFormatter and FileOutputFormatter to reuse common code for managing output between different output formatters
  • Updated standard results files in unit tests to match updated output property names

BasicCsv

  • Added OD OutputType to capture and record Skim matrices
  • Added writing of Skim matrices to output formatters
  • Common approach to adding and removing output properties from output formatters
  • Some code refactored, particularly in BaseOutputFormatter and FileOutputFormatter to reuse common code for managing output between different output formatters

0.0.1

First Release for all projects


Last modified January 1, 0001