Release log
0.4.0
PLANitAll
- [GENERAL] add new repos for python/java releases
- [GENERAL] updated licenses information
PLANit
- #95 updated to JUnit 5
- #93 replace clone() methods with shallowClone() and deepClone() and avoid Cloneable interface
- #91 Added service network and routed services support
- #89 Improvements to transfer zoning memory model
- #88 Support CI through github actions by building and testing upon push
- #89 Add support for conjugate directed graphs (edge-to-vertex-duals)
- #86 Add support for all-to-one shortest path search (Dijkstra)
- #84,#79,#78,#77,#76,#75,#74,#71,#70 Working on/preparing for sLTM implementation (not done)
- #83 Enhancements to Tampere node model
- #81 Architecture refinements/refactoring in code base
- #80 log all settings of all traffic assignment components if requested (Default should be true)
- #49 Centroids should no longer be a vertex in the network.
bug fixes
- #92 Cannot copy reference of factories in ManagedIdEntities implementations in copy constructor
- #73 Breaking edges on directed graphs no longer correctly updates the edge segments
PLANitGeoIo
- First implementation to support GIS (shape files) writers for all PLANit components and intermodal version (except demands)
PLANitGTFS
Enhancements
- [General] Support for producing service networks and routed services as well as transfer zones in a stable-ish manner in PLANit memory model format
- [General] Support for chaining other intermodal readers to construct networks and transfer zones before overlaying GTFS
- #15 When preferred connectoid access link segment is the exit segment of the access node, make sure allow all entry segments (of other links) as eligible
- #14 Automatically deactivate modes if the physical network is found to be not able to support them based on track type (road/rail/water)
- #12 update to junit5
- #10 Support multiple modes being serviced by the same GTFS stop
- #9 Remove unused transfer zones as optional setting, to be sure to remove clutter if needed
- #7 Add support for filtering by time of day (time period)
- #6 Add support for filtering GTFS data by day
- #5 Support consolidation of departures
- #3 Add support for CI by adding github actions and run tests on push commit
(issues in OSM repo, but pertaining to GTFS, stemming from time when GTFS repo was not yet split off)
- #38 GTFS support - STEP 4 - Parse GTFS schedules and map them to stops in PLANit memory model
- #36 Add option to Add GTFS stops without matching OSM/existing PLANit stops within parser bounding box
- #35 Combine matching GTFS stops with existing (OSM/PLANit) stops
Bug fixes
- #13 GTFS connectoid identification not correct after PLANit node has been identified in case of RAIL based mode
PLANitIO
Enhancements
- [General] Full support for converters (readers + writers) added
- [General] Full support for service network and routed services added
- #32 Update to JUnit5
- #28 Add support for InterModalReader that can also parse services directly (via newly added readWithServices())
- #27 Support CI though github actions and maven build
- #26 Implement a PlanitDemandsWriter compatible with the converter setup
- #25 Zoning and network writers do not log the number of elements they are persisting. Add some logging
- #22 Add support for writing service networks (and document how to do it in manual)
Bug fixes
- #29 Make sure that when reference ids from other planit components are persisted by a writer the mapping of the ids is sourced from parent id mappings
- #24 Network layer persist does not verify whether XML id is present, nor does it persist the supported modes
PLANitJ2Py
- Add support for CI development by adding github actions and auto testing upon push commits
PLANitMATSIM
- [GENERAL] Add support for writing out transit schedules based on PLANit routed services and service network via intermodal writer
- #11 Add CI by running tests whenever pushing a commit
- #10 Add option to persist Stops in csv format compatible with MATSim’s Matrix based Pt Router for teleported modes
- #9 Add option to restrict link speeds to maximum speed of supported/activated modes in writer
- #8 Add option to remove all existing mode mappings for network writer
PLANitOSM
Enhancements
- [GENERAL] Support for waterways (ferries) in OSM parser
- [GENERAL] More fine grained options in OSM settings to configure network, zone parsing
- [GENERAL] Improved pipeline for identifying best mapping of stop to nearby OSM way
- #52, #51 Allow to connect dangling ferry stops to road network (for provided OSM modes) (default off)
- #47 Add option to suppress warnings for OSM stop area relations
- #44,43 Update to Junit5
- #41 Bring over improved way of identifying most appropriate access link for a waiting area (stop) from PLANitGTFS
- #39 GTFS support - STEP 5 - add unit tests for integrating GTFS and OSM for various Australian states
- #34 Add CI by running tests whenever pusing a commit
- #32 Reduce memory footprint required by supporting pre-parsing identifying and loading only the nodes that we should parse
Bug fixes
- #48 Defaults regarding modeaccess, speed limits etc, should be extended to use combined key/values, rather than only OSMway value as this is not unique
- #42 Should always construct PLANit entities in same sorted order. Needed to compare integration test results
- #31 when lanes value is not a number an exception was thrown and parser crashes. Instead default number of lanes should be used and issue should be logged
- #30 When maxspeed tag value is invalid, an exception is thrown and the link is dismissed rather than reverting to the default speed
- #29 When collecting mode support with post/prefix a nullpointerexception can occur as the tags are collected without the post-prefix in some cases
PLANitParentPom
- #8 update to JUnit5
- #7 Add CI with builds upon push
- #6 remove/replace all repository references without SSL support
- #5 goplanit repository URL now SSL encrypted (https enabled)
PLANitPy2J
- [GENERAL] Restructuring of test dir structure for improved modularity + added tests for converters
- #20 Add support for automatic datetime.time to Localtime conversion (Python to Java) in gateway utils
- #19 Add support for Geometry/GIS writer(s)
- #18 Add support for GTFS reader(s)
- #17 Add support for CI development by adding github actions and auto testing upon push commits
- #16 Add support for zoning converters and demand converters
- #15 Log planit version with every run
- #14 Add support for MATSim zoning writer to activate generation of CSV output for MatrixBasedPtRouter on zoning/intermodal settings
- #13 Add support for routed services, either in accessing parsed ones in a project or through converters documentation
- #12 Add support for service networks, either in accessing parsed ones in a project or through converters
PLANitTNTP
Enhancements
- #25 Add logging for network settings in reader
- #24 update to junit5
- #22 Support CI though github actions and maven build
- #20 Add smaller test than Chicago Sketch. Add SiouxFalls
- #18 Refactor setup of tests so it is no longer so cluttered and more modular
- #16 Make time period configuration configurable via settings, currently hard coded
- #14 Zoning reader should havenow has factory and settings are constructed in line with rest of architecture
- #8 Add networkreaderfactory to created network readers in line with other repos
Bug fixes
- #23 Update mode uses to predefined modes properly
- #21 Capacity column did not support double values when parsing
- #19 Bug in parsing of standard test results as zero flows are skipped but they need to be included as well
- #17 User class and traveller type not created in TNTP demands reader
- #15 Centroid has no location on generated zones
- #13 We should not create new link/linksegment for each directional link. Add support for bi-directional links with segments in either direction
- #11 Travel time column has no configurable time unit and default (hour) does not suffice
- #10 Mode access and link segment types are not correctly created. We cannot rely on type id of TNTP
- #9 Support for source coordinate reference system missing
PLANitUtils
Enhancements
- [GENERAL] Improved architecture for service network, and routed services
- [GENERAL] General improvements and extensions to util classes
- #14 Upgrade to JUnit5
- #13 Add CI support by building and running tests upon push
- #12 Add support for conjugate directed graphs (edge-to-vertex-duals)
- #11 Extend reflection utils to easily obtain field names and values
Bug fixes
- #10 Suppress warnings of geotools epsg factory when finding matching epsg code for CRS
PLANitXMLGenerator
- [GENERAL] Completed support for mapping PLANit to and from XML for service network and routed services
- #26 Remove physical/parent node ref from service node as this is not a 1:1 mapping
- #25 Replace xs:time default JAXB GregorianCalendar withLocaltime
- #24 Change departure time from XML time to String to allow for HH:MM:SS where hours can exceed 24 hour format
- #23 Support CI though github actions and maven build
0.3.0
PLANitAll
- updated artifact id to conform with how this generally is setup, i.e.
- #5 - updated project references to conform to new domain org.goplanit.* #6
PLANit
enhancements
- refactored infrastructure layers (container and network): parameterise it and introduce a new TopologicalLayer with configurable vertices,edges, edgesegments containers #47
- support stops, platforms and other PT related infrastructure in PLANit memory model via service network and transfer zone implementations (PLANitOSM/#8)
- modifications to network, zoning or other core components that have managedids, are now handled via a dedicated modifier classes to ensure ids remain consistent #51
- breaking links causes XML ids to no longer be unique and no option to fix this. Now we can add listeners to fix this on the flye in a generic way #55
- improved choices for default outputproperties on output configurations #6
- outputProperty LinkCost renamed to LinkSegmentCost #9
- outputProperty LinkType not correctly defined, should be segment based
- updated artifact id to conform with how this generally is setup, i.e.
- #57 - creation of paths now supported through PathBuilder like other id dependent components #58
- refactored the way we can track read input entities by their (original) source id when parsing and converting into PLANit entities via converter readers. this was not proper and has been improved #63
- added service network that can be defined on top of a physical network to represent service legs and service nodes #62
- added physical cost implementation based on free flow travel time only #64
- added norm based gap function #65
- linkSegmentTypes should not define speed limits per mode within the access element but via an accessgroup. This has been changed (planitxml/#20)
- initialCosts are not properly implemented. They require more flexibility (period agnostic/specific parsing, registration on assignment separate and again timeperiod specific or agnostic and unrelated to parsing) (planit/#68)
- added new PhysicalCost imlementation: SteadyStateTravelTimeCost based on Raadsen and Bliemer 2019 for sLTM #67
- added support for overriding units in output type configuration (planitpy2j/#10)
- parameters in fired create event for each traffic assignment component needs documentation (handled by creating dedicated classes) #16
- add support for user based setting of the used gapfunction (planitpy2j/#9)
- update packages to conform to new domain org.goplanit.* #72
bug fixes
- Tampere node model input is not properly setup for checking making it possible for asymmetric intersections to fail verification if correctly specified. this has been fixed #48
- Copy constructor of edge and vertex does not copy inputproperties -> should be deep copied by default. this has been fixed #50
- When a mode is not supported on a link its cost now defaults to maxvalue and not infinity #52
- When a link is not accessible to a mode, we now use Double.MAX_VALUE as cost and not infinity because infinity cost results in NaN when multiplied with zero flow #53
- collecting link segments by startnode id in core is WRONG! This has been removed #2
PLANitGTFS
- added support for warning messages conditional on the availability requirements of the GTFS file #1
- update packages to conform to new domain org.goplanit.* #2
PLANitIntegrationTest
- updated artifact id to conform with how this generally is setup, i.e.
- #2 - update packages to conform to new domain org.goplanit.* #3
PLANitIO
- refactored tests so we have a runner class that wraps the assignment and a helper class for the csv comparisons #14
- update default mode to car and use factory method in PLANit + update xsd so this can be persisted as well #8
- add support for parsing/writing transferzonegroups #16
- network writer does not persist crs properly. Should store epsg code, but stores name instead. this has been fixed #19
- coordinate reference system on zoning XML element is never parsed nor is content converted to network CRS. this has been fixed #12
- added tests for validating the correctness of reader/writer of intermodal component of zoning #15
- implemented intermodal writer to support direct persistence of both network and (transfer)zoning analogous to intermodal reader #18
- updated artifact id to conform with how this generally is setup, i.e.
- #21 - parsing of initial costs is unnecessarily slow. this has been improved #5
- add service network that can be defined on top of a physical network to represent service legs and service nodes (planit/#62)
- update packages to conform to new domain org.goplanit.* #23
PLANitJ2Py
- updated artifact id to conform with how this generally is setup, i.e.
- #2 - updated packages to conform to new domain org.goplanit.* #3
PLANitMATSIM
- mapping of default modes should be based on common matsim modes: car, pt. This has been added #3
- updated artifact id to conform with how this generally is setup, i.e.
- #5 - it was not possible to map pedestrian and bicycle PLANit modes to MATSim modes. This has now been added as an option #6
- update packages to conform to new domain org.goplanit.* #7
PLANitOSM
- edge segments of broken edges are not properly removed from vertices when updating them, leading to too many entry and exit edge segments. This has been fixed #10
- OSM access:
tags are not yet parsed causing some links to not have support for modes included this way. this has been fixed #12 - parse stops, platforms and other PT related infrastructure and support them in PLANit memory model #8
- add support to remove dangling transfer zones in the end stage of parsing as well as recreating ids (to remain contiguous), because we parsed almost all transfer zones to avoid missing some that are incorrectly tagged #15
- modes on parsed transfer zones are now cross-referenced with stop_positions/connectoids to reduce the matches in case modes are incompatible #14
- creation of connectoids for transfer zones on roads now map only to one side of the road (edge segment), unless specific stop_positions are referenced on multiple nodes #13
- be able to specify smaller bounding box to only parse parts of an OSM file #19
- mode access by highway type (road type) configuration for specific countries/applications now parsable from file #4
- default speed limits globally and per country now parsed from resource files #1
- added support for parsing OSM streams rather than files #24
- updated artifact id to conform with how this generally is setup, i.e.
- #25 - update packages to conform to new domain org.goplanit.* #27
- permissibe ways should not obtain all available modes as allowed, but only the modes supported by the way type (and layer). This has been fixed #26
PLANitParentPom
- updated artifact id to conform with how this generally is setup, i.e.
- #2 - update project references to conform to new domain org.goplanit.* #3
PLANitPy2J
- Rename PLANit() to Planit() to keep things simple #6
- Split PLANit() from project, instead make it a property. Now instantiating PLANit() creates a project and reads network etc. This should not be the case since we are adding more functionality to PLANit which might not result in a project, i.e. converters #5
- Added support for creating converters so that we can convert networks etc in python from XtoY #4
- OutputProperty LinkCost renamed to LinkSegmentCost (planit/#9)
- OutputProperty LinkType not correctly defined, should be segment based (planit/#8)
- added norm based gap function (planit/#65)
- added support for inflow/outflow properties alongside the already existing flow property (planit/#66)
- initialCosts are not properly implemented. They require more flexibility (period agnostic/specific parsing, registration on assignment separate and again timeperiod specific or agnostic and unrelated to parsing) (planit/#68)
- added support for overriding units in output type configuration #10
- added support for user based setting of the used gapfunction #9
- update packages to conform to new domain org.goplanit.* #11
PLANitTNTP
- parser is not compliant with reader/writer/converter paradigm. This has been fixed #4
- updated artifact id to conform with how this generally is setup, i.e.
- #5 - updated packages to conform to new domain org.goplanit.* #6
PLANitUtils
- support stops, platforms and other PT related infrastructure in PLANit memory model via service network and transfer zone interfaces (PLANitOSM/#8)
- added clone utility so we can deep copy objects of any type using serialisation mechanism #4
- items that are (external)idable now have: long id, String xmlId, (String externalId) #3
- update artifact id to conform with how this generally is setup, i.e.
- #6 - units reimplemented to support combined units #8
- update packages to conform to new domain org.goplanit.* #9
PLANitXMLGenerator
- length of connectoids is now a double instead of a float #9
- crs of zoning is now placed on root element, not on zones element, since we now have intermodal element as well #10
- unknown and none added to options for transferzonetype, with default none if not provided #11
- update default mode to car by updating xsd so this can be persisted as well (planitio/#8)
- add support for transferzonegroups (planitio/#16)
- add support for intermodal component of zoning (planitio/#15)
- document transfer zone groups in expanded examples + documentation + xsd on website based on newly added functionality that is now active (planitio/#17)
- allow transferzones to have not only polygon geometries but also linestring alternatively #8
- added id attributes to main components (zoning, network, demands etc.) #17
- added support for service networks built on top of a physical network #18
- linkSegmentTypes should not define speed limits per mode within the access element but via an accessgroup. This has been changed #20
- added support for inflow/outflow properties alongside the already existing flow property #66
- update packages to conform to new domain org.goplanit.* #21
- added support for routed services that route on the service network #19
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)
- setting of mode specific max speed on link segment type (after initial creation) did not function properly (planit/#46). (Impacts MetroScan and TNTP input builders only)
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)
- setting of mode specific maximum speed was not properly mutliplied with multiplier on link segment types (planittntp/#2)
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
- Moved to new repository (www.github.com/trafficplanit/PLANit
- Create website (#21) - https://trafficplanit.github.io/PLANitManual
- Add third party licenses to setup process and releases, as well as website (#25)
- Ids generated for PLANit objects can now be grouped in a generic way by using IdTokens (#24)
- Tampere node model available as stand-alone functionality (#1)
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
- Moved to new repository (www.github.com/trafficplanit/PLANitJ2Py
PLANitLTM
- Moved to new repository (www.github.com/trafficplanit/PLANitLTM
PLANitPy2J
- Move repository to new location (www.github.com/trafficplanit/PLANitPy2J)
- Create Python library installer (#3)
PLANitTNTP
- Move repository to new location (www.github.com/trafficplanit/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
- Created repository by splitting it off from PLANitIO (www.github.com/trafficplanit/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